*** empty log message ***
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamedElement_nameExpression_StringExpression.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamedElement_nameExpression_StringExpression.gif
index 44f0110..2b1ee54 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamedElement_nameExpression_StringExpression.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamedElement_nameExpression_StringExpression.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_elementImport_ElementImport.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_elementImport_ElementImport.gif
index 9802cd8..108f9ef 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_elementImport_ElementImport.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_elementImport_ElementImport.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_Constraint.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_Constraint.gif
index f4ede70..5088a75 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_Constraint.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_Constraint.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_DurationConstraint.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_DurationConstraint.gif
index 11e5060..782de4d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_DurationConstraint.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_DurationConstraint.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_InteractionConstraint.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_InteractionConstraint.gif
index 23a06fe..be45fa2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_InteractionConstraint.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_InteractionConstraint.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_IntervalConstraint.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_IntervalConstraint.gif
index 767ee93..016d7b2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_IntervalConstraint.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_IntervalConstraint.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_TimeConstraint.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_TimeConstraint.gif
index 7de015c..08dc2cf 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_TimeConstraint.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_ownedRule_TimeConstraint.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_packageImport_PackageImport.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_packageImport_PackageImport.gif
index 7c274c1..9ea9362 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_packageImport_PackageImport.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_packageImport_PackageImport.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_packageImport_ProfileApplication.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_packageImport_ProfileApplication.gif
index 9d35f86..d22ab85 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_packageImport_ProfileApplication.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateNamespace_packageImport_ProfileApplication.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_ownedTemplateSignature_RedefinableTemplateSignature.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_ownedTemplateSignature_RedefinableTemplateSignature.gif
index dd62060..d650810 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_ownedTemplateSignature_RedefinableTemplateSignature.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_ownedTemplateSignature_RedefinableTemplateSignature.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_ownedTemplateSignature_TemplateSignature.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_ownedTemplateSignature_TemplateSignature.gif
index 0f88251..6e55e2f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_ownedTemplateSignature_TemplateSignature.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_ownedTemplateSignature_TemplateSignature.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_templateBinding_TemplateBinding.gif b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_templateBinding_TemplateBinding.gif
index 0f88251..6e55e2f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_templateBinding_TemplateBinding.gif
+++ b/deprecated/plugins/org.eclipse.uml2.edit/icons/full/ctool16/CreateTemplateableElement_templateBinding_TemplateBinding.gif
Binary files differ
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AbstractionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AbstractionItemProvider.java
index 0e52c17..981434a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AbstractionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AbstractionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AbstractionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: AbstractionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AcceptCallActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AcceptCallActionItemProvider.java
index 9ee7388..396af35 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AcceptCallActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AcceptCallActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AcceptCallActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: AcceptCallActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AcceptEventActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AcceptEventActionItemProvider.java
index a798532..daf165b 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AcceptEventActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AcceptEventActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AcceptEventActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: AcceptEventActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -133,8 +133,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActionItemProvider.java
index aa8ee9e..e75e1ee 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -240,8 +240,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityEdgeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityEdgeItemProvider.java
index 74dd453..f1b3694 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityEdgeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityEdgeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActivityEdgeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ActivityEdgeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -272,8 +272,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityFinalNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityFinalNodeItemProvider.java
index 3cf9047..4935b11 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityFinalNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityFinalNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActivityFinalNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ActivityFinalNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityGroupItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityGroupItemProvider.java
index a21034a..dc1f478 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityGroupItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityGroupItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActivityGroupItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ActivityGroupItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -112,8 +112,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityItemProvider.java
index 0805f7c..85185b5 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActivityItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: ActivityItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -302,8 +302,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -460,16 +460,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getActivity_Node(),
-				 UML2Factory.eINSTANCE.createExpansionNode()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getActivity_Node(),
-				 UML2Factory.eINSTANCE.createExpansionRegion()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getActivity_Node(),
 				 UML2Factory.eINSTANCE.createCreateObjectAction()));
 
 		newChildDescriptors.add
@@ -580,7 +570,22 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getActivity_Node(),
-				 UML2Factory.eINSTANCE.createDataStoreNode()));
+				 UML2Factory.eINSTANCE.createExpansionNode()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getActivity_Node(),
+				 UML2Factory.eINSTANCE.createExpansionRegion()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getActivity_Node(),
+				 UML2Factory.eINSTANCE.createTimeObservationAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getActivity_Node(),
+				 UML2Factory.eINSTANCE.createDurationObservationAction()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -640,12 +645,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getActivity_Node(),
-				 UML2Factory.eINSTANCE.createTimeObservationAction()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getActivity_Node(),
-				 UML2Factory.eINSTANCE.createDurationObservationAction()));
+				 UML2Factory.eINSTANCE.createDataStoreNode()));
 	}
 
 	/**
@@ -658,10 +658,10 @@
 		boolean qualify =
 			feature == UML2Package.eINSTANCE.getActivity_Group() ||
 			feature == UML2Package.eINSTANCE.getActivity_Node() ||
-			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
-			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
+			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
+			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityNodeItemProvider.java
index 9597c3f..cb1da90 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActivityNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ActivityNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -200,8 +200,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityParameterNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityParameterNodeItemProvider.java
index 2e98322..935bb95 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityParameterNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityParameterNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActivityParameterNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ActivityParameterNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityPartitionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityPartitionItemProvider.java
index 152cd0c..18fa57d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityPartitionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActivityPartitionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActivityPartitionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ActivityPartitionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -241,8 +241,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActorItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActorItemProvider.java
index 0e89a93..dd38cb6 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActorItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ActorItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActorItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ActorItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AddStructuralFeatureValueActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AddStructuralFeatureValueActionItemProvider.java
index 72e5be2..5b03ea5 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AddStructuralFeatureValueActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AddStructuralFeatureValueActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AddStructuralFeatureValueActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: AddStructuralFeatureValueActionItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -155,8 +155,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AddVariableValueActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AddVariableValueActionItemProvider.java
index 99d6ce7..93a0b6d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AddVariableValueActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AddVariableValueActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AddVariableValueActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: AddVariableValueActionItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -155,8 +155,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AnyTriggerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AnyTriggerItemProvider.java
index f59ffc8..8cbca41 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AnyTriggerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AnyTriggerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AnyTriggerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: AnyTriggerItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ApplyFunctionActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ApplyFunctionActionItemProvider.java
index ca57d34..7c595e3 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ApplyFunctionActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ApplyFunctionActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ApplyFunctionActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ApplyFunctionActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -188,8 +188,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ArtifactItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ArtifactItemProvider.java
index 22537d6..1ee0144 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ArtifactItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ArtifactItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ArtifactItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ArtifactItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -234,8 +234,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AssociationClassItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AssociationClassItemProvider.java
index a4fee91..1c9a7a6 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AssociationClassItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AssociationClassItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AssociationClassItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: AssociationClassItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -213,8 +213,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -267,12 +267,12 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
 			feature == UML2Package.eINSTANCE.getAssociation_OwnedEnd() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AssociationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AssociationItemProvider.java
index 56e7112..4826ff3 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AssociationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/AssociationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AssociationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: AssociationItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -213,8 +213,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehaviorItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehaviorItemProvider.java
index e446cce..61e2c87 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehaviorItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehaviorItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: BehaviorItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: BehaviorItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -264,8 +264,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -308,11 +308,11 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehavioralFeatureItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehavioralFeatureItemProvider.java
index a74ec21..8e6890c 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehavioralFeatureItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehavioralFeatureItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: BehavioralFeatureItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: BehavioralFeatureItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -328,8 +328,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehavioredClassifierItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehavioredClassifierItemProvider.java
index 634e888..7403ade 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehavioredClassifierItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BehavioredClassifierItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: BehavioredClassifierItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: BehavioredClassifierItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -214,8 +214,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BroadcastSignalActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BroadcastSignalActionItemProvider.java
index e3c9a9f..06f15f7 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BroadcastSignalActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/BroadcastSignalActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: BroadcastSignalActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: BroadcastSignalActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallActionItemProvider.java
index cfbd6ed..ab0952d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CallActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CallActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -155,8 +155,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallBehaviorActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallBehaviorActionItemProvider.java
index c16457e..7f4c01a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallBehaviorActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallBehaviorActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CallBehaviorActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CallBehaviorActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallOperationActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallOperationActionItemProvider.java
index d299e1a..71fa653 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallOperationActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallOperationActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CallOperationActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: CallOperationActionItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallTriggerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallTriggerItemProvider.java
index 1021503..e224dbc 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallTriggerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CallTriggerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CallTriggerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CallTriggerItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CentralBufferNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CentralBufferNodeItemProvider.java
index 0707ea2..201cf59 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CentralBufferNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CentralBufferNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CentralBufferNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CentralBufferNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ChangeTriggerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ChangeTriggerItemProvider.java
index 7dcf0bf..dd937ae 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ChangeTriggerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ChangeTriggerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ChangeTriggerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ChangeTriggerItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassItemProvider.java
index ab6eefe..9245c62 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClassItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: ClassItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -325,8 +325,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -438,7 +438,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getClass_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createInformationItem()));
+				 UML2Factory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -448,12 +448,12 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getClass_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createActivity()));
+				 UML2Factory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getClass_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createArtifact()));
+				 UML2Factory.eINSTANCE.createInterface()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -468,7 +468,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getClass_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createInterface()));
+				 UML2Factory.eINSTANCE.createArtifact()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -493,6 +493,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getClass_NestedClassifier(),
+				 UML2Factory.eINSTANCE.createProtocolStateMachine()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getClass_NestedClassifier(),
 				 UML2Factory.eINSTANCE.createComponent()));
 
 		newChildDescriptors.add
@@ -518,11 +523,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getClass_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createProtocolStateMachine()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getClass_NestedClassifier(),
 				 UML2Factory.eINSTANCE.createDeploymentSpecification()));
 
 		newChildDescriptors.add
@@ -539,11 +539,11 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassifierItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassifierItemProvider.java
index 76e0d30..9e4d0ff 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassifierItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassifierItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClassifierItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: ClassifierItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -443,8 +443,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassifierTemplateParameterItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassifierTemplateParameterItemProvider.java
index bf16c39..ecb0138 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassifierTemplateParameterItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClassifierTemplateParameterItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClassifierTemplateParameterItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ClassifierTemplateParameterItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -117,8 +117,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClauseItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClauseItemProvider.java
index 8c70e15..cef6945 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClauseItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClauseItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClauseItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ClauseItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -197,8 +197,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearAssociationActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearAssociationActionItemProvider.java
index 914fdf4..892e59e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearAssociationActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearAssociationActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClearAssociationActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ClearAssociationActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearStructuralFeatureActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearStructuralFeatureActionItemProvider.java
index 398ced9..812abaa 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearStructuralFeatureActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearStructuralFeatureActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClearStructuralFeatureActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ClearStructuralFeatureActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearVariableActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearVariableActionItemProvider.java
index f5b5747..e1d75b1 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearVariableActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ClearVariableActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClearVariableActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ClearVariableActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CollaborationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CollaborationItemProvider.java
index 123fdc4..ae0cd19 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CollaborationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CollaborationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CollaborationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CollaborationItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -222,8 +222,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CollaborationOccurrenceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CollaborationOccurrenceItemProvider.java
index 54415e3..8a9f368 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CollaborationOccurrenceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CollaborationOccurrenceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CollaborationOccurrenceItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CollaborationOccurrenceItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -214,12 +214,12 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getCollaborationOccurrence_RoleBinding(),
-				 UML2Factory.eINSTANCE.createManifestation()));
+				 UML2Factory.eINSTANCE.createImplementation()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getCollaborationOccurrence_RoleBinding(),
-				 UML2Factory.eINSTANCE.createImplementation()));
+				 UML2Factory.eINSTANCE.createManifestation()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CombinedFragmentItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CombinedFragmentItemProvider.java
index 5183dc4..c6430bb 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CombinedFragmentItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CombinedFragmentItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CombinedFragmentItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CombinedFragmentItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -189,8 +189,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CommentItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CommentItemProvider.java
index 2b8a694..1df6699 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CommentItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CommentItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CommentItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CommentItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -172,8 +172,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CommunicationPathItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CommunicationPathItemProvider.java
index 3ec94a4..5cda8ff 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CommunicationPathItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CommunicationPathItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CommunicationPathItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CommunicationPathItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ComponentItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ComponentItemProvider.java
index 93c0b6c..2942b0d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ComponentItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ComponentItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ComponentItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: ComponentItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -228,8 +228,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -337,11 +337,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createModel()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
 				 UML2Factory.eINSTANCE.createDependency()));
 
 		newChildDescriptors.add
@@ -372,12 +367,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createGeneralizationSet()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createInformationItem()));
+				 UML2Factory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -387,17 +377,27 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createActivity()));
+				 UML2Factory.eINSTANCE.createModel()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createArtifact()));
+				 UML2Factory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createManifestation()));
+				 UML2Factory.eINSTANCE.createGeneralizationSet()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
+				 UML2Factory.eINSTANCE.createInterface()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
+				 UML2Factory.eINSTANCE.createImplementation()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -412,12 +412,12 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createInterface()));
+				 UML2Factory.eINSTANCE.createArtifact()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createImplementation()));
+				 UML2Factory.eINSTANCE.createManifestation()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -462,21 +462,41 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createInteractionConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
 				 UML2Factory.eINSTANCE.createStateMachine()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
+				 UML2Factory.eINSTANCE.createInteractionConstraint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
+				 UML2Factory.eINSTANCE.createProtocolStateMachine()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
 				 UML2Factory.eINSTANCE.createComponent()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
+				 UML2Factory.eINSTANCE.createIntervalConstraint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
+				 UML2Factory.eINSTANCE.createTimeConstraint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
+				 UML2Factory.eINSTANCE.createDurationConstraint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
 				 UML2Factory.eINSTANCE.createDeployment()));
 
 		newChildDescriptors.add
@@ -502,26 +522,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createProtocolStateMachine()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createIntervalConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createTimeConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
-				 UML2Factory.eINSTANCE.createDurationConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getComponent_OwnedMember(),
 				 UML2Factory.eINSTANCE.createDeploymentSpecification()));
 	}
 
@@ -533,17 +533,17 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
+			feature == UML2Package.eINSTANCE.getNamespace_OwnedRule() ||
 			feature == UML2Package.eINSTANCE.getComponent_OwnedMember() ||
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getNamespace_OwnedRule() ||
-			feature == UML2Package.eINSTANCE.getComponent_Realization() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
 			feature == UML2Package.eINSTANCE.getClassifier_Substitution() ||
-			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_Implementation();
+			feature == UML2Package.eINSTANCE.getComponent_Realization() ||
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_Implementation() ||
+			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
 			new Object[] { getTypeText(child), getFeatureText(feature), getTypeText(owner) });
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConditionalNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConditionalNodeItemProvider.java
index a991b56..85e9048 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConditionalNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConditionalNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ConditionalNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ConditionalNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -207,8 +207,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectableElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectableElementItemProvider.java
index faf1f75..a4b185e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectableElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectableElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ConnectableElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ConnectableElementItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -143,8 +143,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectableElementTemplateParameterItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectableElementTemplateParameterItemProvider.java
index 604b05c..3f03d46 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectableElementTemplateParameterItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectableElementTemplateParameterItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ConnectableElementTemplateParameterItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ConnectableElementTemplateParameterItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -93,8 +93,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectionPointReferenceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectionPointReferenceItemProvider.java
index 4c9c07b..bfd8652 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectionPointReferenceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectionPointReferenceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ConnectionPointReferenceItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ConnectionPointReferenceItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -133,8 +133,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectorEndItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectorEndItemProvider.java
index 31bdda4..3a2664f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectorEndItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectorEndItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ConnectorEndItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ConnectorEndItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -148,8 +148,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectorItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectorItemProvider.java
index 8f45219..4e557e5 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectorItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConnectorItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ConnectorItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ConnectorItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -206,8 +206,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConstraintItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConstraintItemProvider.java
index 4d7e77b..1792d81 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConstraintItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ConstraintItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ConstraintItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ConstraintItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -171,8 +171,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ContinuationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ContinuationItemProvider.java
index 7c59b9a..e5d605d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ContinuationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ContinuationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ContinuationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ContinuationItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -119,8 +119,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ControlFlowItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ControlFlowItemProvider.java
index a390c03..3413e3a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ControlFlowItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ControlFlowItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ControlFlowItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ControlFlowItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ControlNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ControlNodeItemProvider.java
index 4cdb423..2007d9a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ControlNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ControlNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ControlNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ControlNodeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateLinkActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateLinkActionItemProvider.java
index 193b497..c94a870 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateLinkActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateLinkActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CreateLinkActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CreateLinkActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateLinkObjectActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateLinkObjectActionItemProvider.java
index 34eb566..8e6899d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateLinkObjectActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateLinkObjectActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CreateLinkObjectActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CreateLinkObjectActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateObjectActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateObjectActionItemProvider.java
index cdb6c32..b7206f4 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateObjectActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/CreateObjectActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CreateObjectActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: CreateObjectActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DataStoreNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DataStoreNodeItemProvider.java
index a8b2312..5ac6e64 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DataStoreNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DataStoreNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DataStoreNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DataStoreNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DataTypeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DataTypeItemProvider.java
index 8341296..cc05e1c 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DataTypeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DataTypeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DataTypeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DataTypeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -172,8 +172,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DecisionNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DecisionNodeItemProvider.java
index 683ec51..f07cbe2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DecisionNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DecisionNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DecisionNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DecisionNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DependencyItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DependencyItemProvider.java
index 33191ad..3e07b74 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DependencyItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DependencyItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DependencyItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DependencyItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -184,8 +184,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeployedArtifactItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeployedArtifactItemProvider.java
index 91a8bee..dad559a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeployedArtifactItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeployedArtifactItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DeployedArtifactItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DeployedArtifactItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentItemProvider.java
index 0b0b4dd..01bf6da 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DeploymentItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DeploymentItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -162,8 +162,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentSpecificationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentSpecificationItemProvider.java
index da4b681..1f85ae6 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentSpecificationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentSpecificationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DeploymentSpecificationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DeploymentSpecificationItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -137,8 +137,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentTargetItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentTargetItemProvider.java
index a819d0f..980c581 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentTargetItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeploymentTargetItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DeploymentTargetItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DeploymentTargetItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -161,8 +161,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DestroyLinkActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DestroyLinkActionItemProvider.java
index 248a1e3..e0de194 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DestroyLinkActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DestroyLinkActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DestroyLinkActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DestroyLinkActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DestroyObjectActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DestroyObjectActionItemProvider.java
index 3d448a0..62825f4 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DestroyObjectActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DestroyObjectActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DestroyObjectActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DestroyObjectActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeviceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeviceItemProvider.java
index 1446bb6..58ab15e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeviceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DeviceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DeviceItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: DeviceItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -127,12 +127,12 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
-			feature == UML2Package.eINSTANCE.getNode_NestedNode() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
+			feature == UML2Package.eINSTANCE.getNode_NestedNode() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DirectedRelationshipItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DirectedRelationshipItemProvider.java
index 9ef6877..12524b3 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DirectedRelationshipItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DirectedRelationshipItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DirectedRelationshipItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DirectedRelationshipItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -129,8 +129,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationConstraintItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationConstraintItemProvider.java
index 6b4c9f6..f9e0293 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationConstraintItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationConstraintItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DurationConstraintItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DurationConstraintItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationIntervalItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationIntervalItemProvider.java
index eec5d21..99de93a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationIntervalItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationIntervalItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DurationIntervalItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DurationIntervalItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationItemProvider.java
index 341fe0b..e6d70df 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DurationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: DurationItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -136,8 +136,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationObservationActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationObservationActionItemProvider.java
index ab18af6..9975326 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationObservationActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/DurationObservationActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DurationObservationActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: DurationObservationActionItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ElementImportItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ElementImportItemProvider.java
index 398b09f..7ec8793 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ElementImportItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ElementImportItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ElementImportItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ElementImportItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -156,8 +156,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ElementItemProvider.java
index 3cda47f..6c992df 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ElementItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -170,8 +170,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EncapsulatedClassifierItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EncapsulatedClassifierItemProvider.java
index f9c005d..41f8317 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EncapsulatedClassifierItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EncapsulatedClassifierItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: EncapsulatedClassifierItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: EncapsulatedClassifierItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EnumerationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EnumerationItemProvider.java
index 4e775c2..423f561 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EnumerationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EnumerationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: EnumerationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: EnumerationItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EnumerationLiteralItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EnumerationLiteralItemProvider.java
index a2a8629..b4db227 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EnumerationLiteralItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EnumerationLiteralItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: EnumerationLiteralItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: EnumerationLiteralItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EventOccurrenceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EventOccurrenceItemProvider.java
index e6cb875..8e4824b 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EventOccurrenceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/EventOccurrenceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: EventOccurrenceItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: EventOccurrenceItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -201,8 +201,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExceptionHandlerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExceptionHandlerItemProvider.java
index e9b8056..dc7a977 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExceptionHandlerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExceptionHandlerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExceptionHandlerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExceptionHandlerItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -146,8 +146,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutableNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutableNodeItemProvider.java
index c465ffb..35e1068 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutableNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutableNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExecutableNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExecutableNodeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutionEnvironmentItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutionEnvironmentItemProvider.java
index 9a50eb3..102424c 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutionEnvironmentItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutionEnvironmentItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExecutionEnvironmentItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: ExecutionEnvironmentItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -127,12 +127,12 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
-			feature == UML2Package.eINSTANCE.getNode_NestedNode() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
+			feature == UML2Package.eINSTANCE.getNode_NestedNode() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutionOccurrenceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutionOccurrenceItemProvider.java
index 9284e46..cc9b9dd 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutionOccurrenceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExecutionOccurrenceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExecutionOccurrenceItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExecutionOccurrenceItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -150,8 +150,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpansionNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpansionNodeItemProvider.java
index 0a909aa..f54802a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpansionNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpansionNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExpansionNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExpansionNodeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -133,8 +133,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpansionRegionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpansionRegionItemProvider.java
index dee3e87..6dd8dad 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpansionRegionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpansionRegionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExpansionRegionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExpansionRegionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -153,8 +153,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpressionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpressionItemProvider.java
index 068a1ac..4de1bcb 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpressionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExpressionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExpressionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExpressionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -155,8 +155,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtendItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtendItemProvider.java
index bdfe1ed..5a76f54 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtendItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtendItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExtendItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExtendItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -222,8 +222,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionEndItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionEndItemProvider.java
index e3dc440..325e189 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionEndItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionEndItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExtensionEndItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExtensionEndItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionItemProvider.java
index 1d00206..d5c8ceb 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExtensionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExtensionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -136,8 +136,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionPointItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionPointItemProvider.java
index 32fef22..8bed407 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionPointItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ExtensionPointItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExtensionPointItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ExtensionPointItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FeatureItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FeatureItemProvider.java
index c302ee3..e3c3a20 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FeatureItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FeatureItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: FeatureItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: FeatureItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -136,8 +136,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FinalNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FinalNodeItemProvider.java
index 3132516..5714ea4 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FinalNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FinalNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: FinalNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: FinalNodeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FinalStateItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FinalStateItemProvider.java
index 993844f..7b0cb1d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FinalStateItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FinalStateItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: FinalStateItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: FinalStateItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FlowFinalNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FlowFinalNodeItemProvider.java
index e51a096..c1eb266 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FlowFinalNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/FlowFinalNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: FlowFinalNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: FlowFinalNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ForkNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ForkNodeItemProvider.java
index c721bcb..88624b2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ForkNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ForkNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ForkNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ForkNodeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GateItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GateItemProvider.java
index 8ea92df..f763c0c 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GateItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GateItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: GateItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: GateItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralOrderingItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralOrderingItemProvider.java
index a32c38a..1099f54 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralOrderingItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralOrderingItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: GeneralOrderingItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: GeneralOrderingItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -133,8 +133,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralizationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralizationItemProvider.java
index d24ef9b..7b4eace 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralizationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralizationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: GeneralizationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: GeneralizationItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -151,8 +151,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralizationSetItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralizationSetItemProvider.java
index 3fd0e18..c93853e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralizationSetItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/GeneralizationSetItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: GeneralizationSetItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: GeneralizationSetItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -171,8 +171,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ImplementationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ImplementationItemProvider.java
index 145d05f..7385d48 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ImplementationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ImplementationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ImplementationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ImplementationItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -122,8 +122,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IncludeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IncludeItemProvider.java
index 990a4cb..fd0b16b 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IncludeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IncludeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: IncludeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: IncludeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -167,8 +167,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InformationFlowItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InformationFlowItemProvider.java
index 4d52ce3..d39f135 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InformationFlowItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InformationFlowItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InformationFlowItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InformationFlowItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -129,8 +129,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InformationItemItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InformationItemItemProvider.java
index 2fb2c1f..1c86ae0 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InformationItemItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InformationItemItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InformationItemItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InformationItemItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InitialNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InitialNodeItemProvider.java
index 9481fbf..27378f8 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InitialNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InitialNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InitialNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InitialNodeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InputPinItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InputPinItemProvider.java
index 9923a84..e57621a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InputPinItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InputPinItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InputPinItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InputPinItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InstanceSpecificationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InstanceSpecificationItemProvider.java
index f68404d..543457e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InstanceSpecificationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InstanceSpecificationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InstanceSpecificationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InstanceSpecificationItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -230,8 +230,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InstanceValueItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InstanceValueItemProvider.java
index 5d4deb1..7a6ec23 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InstanceValueItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InstanceValueItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InstanceValueItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InstanceValueItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionConstraintItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionConstraintItemProvider.java
index da7583c..717c9e6 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionConstraintItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionConstraintItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InteractionConstraintItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InteractionConstraintItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -172,8 +172,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionFragmentItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionFragmentItemProvider.java
index 01c46f5..dc8a7fd 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionFragmentItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionFragmentItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InteractionFragmentItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InteractionFragmentItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionItemProvider.java
index 9fac828..2c3a9c0 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InteractionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: InteractionItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -248,8 +248,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -358,13 +358,13 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
+			feature == UML2Package.eINSTANCE.getInteraction_Fragment() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
-			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase() ||
-			feature == UML2Package.eINSTANCE.getInteraction_Fragment();
+			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
 			new Object[] { getTypeText(child), getFeatureText(feature), getTypeText(owner) });
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionOccurrenceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionOccurrenceItemProvider.java
index fe40eab..af952b4 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionOccurrenceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionOccurrenceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InteractionOccurrenceItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InteractionOccurrenceItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -188,8 +188,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionOperandItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionOperandItemProvider.java
index 5e57956..31968e1 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionOperandItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InteractionOperandItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InteractionOperandItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InteractionOperandItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -210,8 +210,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InterfaceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InterfaceItemProvider.java
index aa348da..94bd867 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InterfaceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InterfaceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InterfaceItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: InterfaceItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -248,8 +248,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -337,7 +337,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getInterface_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createInformationItem()));
+				 UML2Factory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -347,12 +347,12 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getInterface_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createActivity()));
+				 UML2Factory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getInterface_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createArtifact()));
+				 UML2Factory.eINSTANCE.createInterface()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -367,7 +367,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getInterface_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createInterface()));
+				 UML2Factory.eINSTANCE.createArtifact()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -392,6 +392,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getInterface_NestedClassifier(),
+				 UML2Factory.eINSTANCE.createProtocolStateMachine()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getInterface_NestedClassifier(),
 				 UML2Factory.eINSTANCE.createComponent()));
 
 		newChildDescriptors.add
@@ -417,11 +422,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getInterface_NestedClassifier(),
-				 UML2Factory.eINSTANCE.createProtocolStateMachine()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getInterface_NestedClassifier(),
 				 UML2Factory.eINSTANCE.createDeploymentSpecification()));
 
 		newChildDescriptors.add
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InterruptibleActivityRegionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InterruptibleActivityRegionItemProvider.java
index 56ea4cc..3ed7c9f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InterruptibleActivityRegionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InterruptibleActivityRegionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InterruptibleActivityRegionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InterruptibleActivityRegionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -129,8 +129,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IntervalConstraintItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IntervalConstraintItemProvider.java
index 8d6c681..47d81ff 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IntervalConstraintItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IntervalConstraintItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: IntervalConstraintItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: IntervalConstraintItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IntervalItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IntervalItemProvider.java
index 4f44f3c..6a858b2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IntervalItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/IntervalItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: IntervalItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: IntervalItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -133,8 +133,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InvocationActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InvocationActionItemProvider.java
index 673dd79..9ab9d98 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InvocationActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/InvocationActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InvocationActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: InvocationActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/JoinNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/JoinNodeItemProvider.java
index 9da155c..4a32e6b 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/JoinNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/JoinNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: JoinNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: JoinNodeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -156,8 +156,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LifelineItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LifelineItemProvider.java
index efbdb67..e79b0f0 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LifelineItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LifelineItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LifelineItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: LifelineItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -188,8 +188,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkActionItemProvider.java
index 84ebabc..3aaaeb6 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LinkActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LinkActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkEndCreationDataItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkEndCreationDataItemProvider.java
index a385f20..1cc224f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkEndCreationDataItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkEndCreationDataItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LinkEndCreationDataItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LinkEndCreationDataItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -134,8 +134,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkEndDataItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkEndDataItemProvider.java
index 2877bc4..74881d1 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkEndDataItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LinkEndDataItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LinkEndDataItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LinkEndDataItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -168,8 +168,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralBooleanItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralBooleanItemProvider.java
index e0678cc..c349cf8 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralBooleanItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralBooleanItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LiteralBooleanItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LiteralBooleanItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -119,8 +119,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralIntegerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralIntegerItemProvider.java
index 72185e0..ffdeab6 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralIntegerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralIntegerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LiteralIntegerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LiteralIntegerItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -119,8 +119,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralNullItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralNullItemProvider.java
index 7231c0d..7e6b79a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralNullItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralNullItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LiteralNullItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LiteralNullItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralSpecificationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralSpecificationItemProvider.java
index d09d983..c31ecaa 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralSpecificationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralSpecificationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LiteralSpecificationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LiteralSpecificationItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralStringItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralStringItemProvider.java
index 2f9fc5c..3a3aa3c 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralStringItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralStringItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LiteralStringItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LiteralStringItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -119,8 +119,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralUnlimitedNaturalItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralUnlimitedNaturalItemProvider.java
index 95e3f6e..863ee8a 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralUnlimitedNaturalItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LiteralUnlimitedNaturalItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LiteralUnlimitedNaturalItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: LiteralUnlimitedNaturalItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -119,8 +119,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LoopNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LoopNodeItemProvider.java
index 2914165..34f53a2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LoopNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/LoopNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: LoopNodeItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: LoopNodeItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -294,8 +294,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -355,11 +355,11 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
-			feature == UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode() ||
-			feature == UML2Package.eINSTANCE.getLoopNode_LoopVariableInput() ||
 			feature == UML2Package.eINSTANCE.getAction_LocalPrecondition() ||
 			feature == UML2Package.eINSTANCE.getAction_LocalPostcondition() ||
 			feature == UML2Package.eINSTANCE.getNamespace_OwnedRule() ||
+			feature == UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode() ||
+			feature == UML2Package.eINSTANCE.getLoopNode_LoopVariableInput() ||
 			feature == UML2Package.eINSTANCE.getLoopNode_Result() ||
 			feature == UML2Package.eINSTANCE.getLoopNode_LoopVariable();
 		return getString(
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ManifestationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ManifestationItemProvider.java
index 02af1ed..51ee968 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ManifestationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ManifestationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ManifestationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ManifestationItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -122,8 +122,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MergeNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MergeNodeItemProvider.java
index cfbe0cd..555807c 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MergeNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MergeNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: MergeNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: MergeNodeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageEndItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageEndItemProvider.java
index 77c95ee..ab8ac52 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageEndItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageEndItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: MessageEndItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: MessageEndItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -133,8 +133,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageItemProvider.java
index 9645e10..df729cc 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: MessageItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: MessageItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -241,8 +241,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageTriggerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageTriggerItemProvider.java
index df916e9..fb7e5e0 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageTriggerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MessageTriggerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: MessageTriggerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: MessageTriggerItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ModelItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ModelItemProvider.java
index 831322d..7b99667 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ModelItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ModelItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ModelItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: ModelItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -119,8 +119,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -155,10 +155,10 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
-			feature == UML2Package.eINSTANCE.getPackage_PackageMerge() ||
-			feature == UML2Package.eINSTANCE.getPackage_PackageExtension() ||
 			feature == UML2Package.eINSTANCE.getNamespace_OwnedRule() ||
-			feature == UML2Package.eINSTANCE.getPackage_OwnedMember();
+			feature == UML2Package.eINSTANCE.getPackage_OwnedMember() ||
+			feature == UML2Package.eINSTANCE.getPackage_PackageMerge() ||
+			feature == UML2Package.eINSTANCE.getPackage_PackageExtension();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
 			new Object[] { getTypeText(child), getFeatureText(feature), getTypeText(owner) });
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MultiplicityElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MultiplicityElementItemProvider.java
index 0fda547..148378f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MultiplicityElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/MultiplicityElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: MultiplicityElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: MultiplicityElementItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -241,8 +241,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NamedElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NamedElementItemProvider.java
index 1778595..ff1e9eb 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NamedElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NamedElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: NamedElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: NamedElementItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -208,8 +208,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NamespaceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NamespaceItemProvider.java
index 3357710..ffdd012 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NamespaceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NamespaceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: NamespaceItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: NamespaceItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -225,8 +225,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NodeItemProvider.java
index 45c07c2..4d98779 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/NodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: NodeItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: NodeItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -193,8 +193,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -250,12 +250,12 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
-			feature == UML2Package.eINSTANCE.getNode_NestedNode() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
+			feature == UML2Package.eINSTANCE.getNode_NestedNode() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ObjectFlowItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ObjectFlowItemProvider.java
index 73cb0d2..98a76df 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ObjectFlowItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ObjectFlowItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ObjectFlowItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ObjectFlowItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -171,8 +171,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ObjectNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ObjectNodeItemProvider.java
index 5ba7206..626793e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ObjectNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ObjectNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ObjectNodeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ObjectNodeItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -206,8 +206,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OpaqueExpressionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OpaqueExpressionItemProvider.java
index 66a1ca6..d297dd6 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OpaqueExpressionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OpaqueExpressionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: OpaqueExpressionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: OpaqueExpressionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -171,8 +171,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationItemProvider.java
index f1b1f28..95c5328 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: OperationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: OperationItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -400,8 +400,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationTemplateParameterItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationTemplateParameterItemProvider.java
index dac8213..c0a174b 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationTemplateParameterItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OperationTemplateParameterItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: OperationTemplateParameterItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: OperationTemplateParameterItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -93,8 +93,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OutputPinItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OutputPinItemProvider.java
index 5a6deed..4127dda 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OutputPinItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/OutputPinItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: OutputPinItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: OutputPinItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageImportItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageImportItemProvider.java
index e82f858..a810413 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageImportItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageImportItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PackageImportItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PackageImportItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageItemProvider.java
index f1fc0b6..baf6e3e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PackageItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: PackageItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -301,8 +301,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -396,11 +396,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createModel()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
 				 UML2Factory.eINSTANCE.createDependency()));
 
 		newChildDescriptors.add
@@ -431,12 +426,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createGeneralizationSet()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createInformationItem()));
+				 UML2Factory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -446,17 +436,27 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createActivity()));
+				 UML2Factory.eINSTANCE.createModel()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createArtifact()));
+				 UML2Factory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createManifestation()));
+				 UML2Factory.eINSTANCE.createGeneralizationSet()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
+				 UML2Factory.eINSTANCE.createInterface()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
+				 UML2Factory.eINSTANCE.createImplementation()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -471,12 +471,12 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createInterface()));
+				 UML2Factory.eINSTANCE.createArtifact()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createImplementation()));
+				 UML2Factory.eINSTANCE.createManifestation()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -521,21 +521,41 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createInteractionConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
 				 UML2Factory.eINSTANCE.createStateMachine()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
+				 UML2Factory.eINSTANCE.createInteractionConstraint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
+				 UML2Factory.eINSTANCE.createProtocolStateMachine()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
 				 UML2Factory.eINSTANCE.createComponent()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
+				 UML2Factory.eINSTANCE.createIntervalConstraint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
+				 UML2Factory.eINSTANCE.createTimeConstraint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
+				 UML2Factory.eINSTANCE.createDurationConstraint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
 				 UML2Factory.eINSTANCE.createDeployment()));
 
 		newChildDescriptors.add
@@ -561,26 +581,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createProtocolStateMachine()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createIntervalConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createTimeConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
-				 UML2Factory.eINSTANCE.createDurationConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getPackage_OwnedMember(),
 				 UML2Factory.eINSTANCE.createDeploymentSpecification()));
 
 		newChildDescriptors.add
@@ -602,10 +602,10 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
-			feature == UML2Package.eINSTANCE.getPackage_PackageMerge() ||
-			feature == UML2Package.eINSTANCE.getPackage_PackageExtension() ||
 			feature == UML2Package.eINSTANCE.getNamespace_OwnedRule() ||
-			feature == UML2Package.eINSTANCE.getPackage_OwnedMember();
+			feature == UML2Package.eINSTANCE.getPackage_OwnedMember() ||
+			feature == UML2Package.eINSTANCE.getPackage_PackageMerge() ||
+			feature == UML2Package.eINSTANCE.getPackage_PackageExtension();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
 			new Object[] { getTypeText(child), getFeatureText(feature), getTypeText(owner) });
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageMergeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageMergeItemProvider.java
index 5b32eb0..a111e51 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageMergeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageMergeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PackageMergeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PackageMergeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -112,8 +112,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageableElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageableElementItemProvider.java
index d96fa02..2b5c72e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageableElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PackageableElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PackageableElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PackageableElementItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -146,8 +146,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterItemProvider.java
index 683d85c..0bde5fb 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ParameterItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ParameterItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -387,8 +387,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterSetItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterSetItemProvider.java
index 2d42341..6a4ba11 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterSetItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterSetItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ParameterSetItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ParameterSetItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterableClassifierItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterableClassifierItemProvider.java
index 2c229c4..57692d2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterableClassifierItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterableClassifierItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ParameterableClassifierItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ParameterableClassifierItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterableElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterableElementItemProvider.java
index ba9df20..f7bf100 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterableElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ParameterableElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ParameterableElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ParameterableElementItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -122,8 +122,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PartDecompositionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PartDecompositionItemProvider.java
index 2bf2ff7..50899b5 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PartDecompositionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PartDecompositionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PartDecompositionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PartDecompositionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PermissionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PermissionItemProvider.java
index 73eaac0..1034761 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PermissionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PermissionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PermissionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PermissionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PinItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PinItemProvider.java
index 9a34a4d..1c38f42 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PinItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PinItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PinItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PinItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PortItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PortItemProvider.java
index bbeea38..3973ee7 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PortItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PortItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PortItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PortItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -205,8 +205,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PrimitiveFunctionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PrimitiveFunctionItemProvider.java
index 9f54375..b130307 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PrimitiveFunctionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PrimitiveFunctionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PrimitiveFunctionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PrimitiveFunctionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -137,8 +137,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PrimitiveTypeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PrimitiveTypeItemProvider.java
index b1cf715..b0b3b0f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PrimitiveTypeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PrimitiveTypeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PrimitiveTypeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PrimitiveTypeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProfileApplicationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProfileApplicationItemProvider.java
index 3138964..2c9ffb1 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProfileApplicationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProfileApplicationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProfileApplicationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ProfileApplicationItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -124,8 +124,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProfileItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProfileItemProvider.java
index 60a6295..1d4db87 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProfileItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProfileItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProfileItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: ProfileItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -157,8 +157,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -187,10 +187,10 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
-			feature == UML2Package.eINSTANCE.getPackage_PackageMerge() ||
-			feature == UML2Package.eINSTANCE.getPackage_PackageExtension() ||
 			feature == UML2Package.eINSTANCE.getNamespace_OwnedRule() ||
-			feature == UML2Package.eINSTANCE.getPackage_OwnedMember();
+			feature == UML2Package.eINSTANCE.getPackage_OwnedMember() ||
+			feature == UML2Package.eINSTANCE.getPackage_PackageMerge() ||
+			feature == UML2Package.eINSTANCE.getPackage_PackageExtension();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
 			new Object[] { getTypeText(child), getFeatureText(feature), getTypeText(owner) });
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PropertyItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PropertyItemProvider.java
index 0effd5e..519ed74 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PropertyItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PropertyItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PropertyItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PropertyItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -430,8 +430,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolConformanceItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolConformanceItemProvider.java
index 164338c..992c243 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolConformanceItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolConformanceItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProtocolConformanceItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ProtocolConformanceItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -112,8 +112,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolStateMachineItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolStateMachineItemProvider.java
index eed046b..ebbd22b 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolStateMachineItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolStateMachineItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProtocolStateMachineItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: ProtocolStateMachineItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -179,11 +179,11 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolTransitionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolTransitionItemProvider.java
index dd29ced..1777329 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolTransitionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ProtocolTransitionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProtocolTransitionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ProtocolTransitionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -177,8 +177,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PseudostateItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PseudostateItemProvider.java
index 620fdaa..4264c73 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PseudostateItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/PseudostateItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PseudostateItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: PseudostateItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -119,8 +119,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/QualifierValueItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/QualifierValueItemProvider.java
index f3a6645..01028e2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/QualifierValueItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/QualifierValueItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: QualifierValueItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: QualifierValueItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -129,8 +129,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RaiseExceptionActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RaiseExceptionActionItemProvider.java
index 694335c..e4eb349 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RaiseExceptionActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RaiseExceptionActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: RaiseExceptionActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: RaiseExceptionActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadExtentActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadExtentActionItemProvider.java
index 930ab12..6f18517 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadExtentActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadExtentActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReadExtentActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReadExtentActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadIsClassifiedObjectActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadIsClassifiedObjectActionItemProvider.java
index 3402234..0d366dd 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadIsClassifiedObjectActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadIsClassifiedObjectActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReadIsClassifiedObjectActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReadIsClassifiedObjectActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -206,8 +206,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkActionItemProvider.java
index 4ea993e..8b08737 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReadLinkActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReadLinkActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkObjectEndActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkObjectEndActionItemProvider.java
index 49e3287..31e4f77 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkObjectEndActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkObjectEndActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReadLinkObjectEndActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReadLinkObjectEndActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -188,8 +188,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkObjectEndQualifierActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkObjectEndQualifierActionItemProvider.java
index 2aafc5e..8ae2536 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkObjectEndQualifierActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadLinkObjectEndQualifierActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReadLinkObjectEndQualifierActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReadLinkObjectEndQualifierActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -188,8 +188,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadSelfActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadSelfActionItemProvider.java
index 6cbfc92..b63ddb5 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadSelfActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadSelfActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReadSelfActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReadSelfActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadStructuralFeatureActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadStructuralFeatureActionItemProvider.java
index 54e322a..df52b62 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadStructuralFeatureActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadStructuralFeatureActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReadStructuralFeatureActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReadStructuralFeatureActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadVariableActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadVariableActionItemProvider.java
index 33decf5..3fee11f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadVariableActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReadVariableActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReadVariableActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReadVariableActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RealizationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RealizationItemProvider.java
index 12b20b2..ef8171d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RealizationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RealizationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: RealizationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: RealizationItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -122,8 +122,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReceptionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReceptionItemProvider.java
index 8a3eb2f..7099e78 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReceptionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReceptionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReceptionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReceptionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReclassifyObjectActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReclassifyObjectActionItemProvider.java
index d730156..a29d951 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReclassifyObjectActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReclassifyObjectActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReclassifyObjectActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReclassifyObjectActionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -189,8 +189,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RedefinableElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RedefinableElementItemProvider.java
index aacbe13..240de54 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RedefinableElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RedefinableElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: RedefinableElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: RedefinableElementItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -136,8 +136,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RedefinableTemplateSignatureItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RedefinableTemplateSignatureItemProvider.java
index 08b7866..86048d7 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RedefinableTemplateSignatureItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RedefinableTemplateSignatureItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: RedefinableTemplateSignatureItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: RedefinableTemplateSignatureItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -195,8 +195,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RegionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RegionItemProvider.java
index 17d141e..ff121d4 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RegionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RegionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: RegionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: RegionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -188,8 +188,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RelationshipItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RelationshipItemProvider.java
index 75952c8..0275bd7 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RelationshipItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RelationshipItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: RelationshipItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: RelationshipItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -112,8 +112,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RemoveStructuralFeatureValueActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RemoveStructuralFeatureValueActionItemProvider.java
index 61e9042..0eeddfb 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RemoveStructuralFeatureValueActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RemoveStructuralFeatureValueActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: RemoveStructuralFeatureValueActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: RemoveStructuralFeatureValueActionItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RemoveVariableValueActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RemoveVariableValueActionItemProvider.java
index c2a387e..698c5dd 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RemoveVariableValueActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/RemoveVariableValueActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: RemoveVariableValueActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: RemoveVariableValueActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReplyActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReplyActionItemProvider.java
index 108616b..5d6298e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReplyActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ReplyActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ReplyActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ReplyActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -150,8 +150,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SendObjectActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SendObjectActionItemProvider.java
index c37ecdb..1d4742f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SendObjectActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SendObjectActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: SendObjectActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: SendObjectActionItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -172,8 +172,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SendSignalActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SendSignalActionItemProvider.java
index 0736143..017f01f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SendSignalActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SendSignalActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: SendSignalActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: SendSignalActionItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SignalItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SignalItemProvider.java
index cafc24a..bf267f8 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SignalItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SignalItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: SignalItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: SignalItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SignalTriggerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SignalTriggerItemProvider.java
index e18f3ed..80a83ca 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SignalTriggerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SignalTriggerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: SignalTriggerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: SignalTriggerItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SlotItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SlotItemProvider.java
index 8e4adea..efb2f7f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SlotItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SlotItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: SlotItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: SlotItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -151,8 +151,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StartOwnedBehaviorActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StartOwnedBehaviorActionItemProvider.java
index 52a5bfd..3987cc3 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StartOwnedBehaviorActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StartOwnedBehaviorActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StartOwnedBehaviorActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: StartOwnedBehaviorActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateInvariantItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateInvariantItemProvider.java
index b5919ee..db52d9d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateInvariantItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateInvariantItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StateInvariantItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: StateInvariantItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateItemProvider.java
index b0cb0ee..6dc3324 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StateItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: StateItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -408,8 +408,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateMachineItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateMachineItemProvider.java
index ea733cc..d458059 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateMachineItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StateMachineItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StateMachineItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: StateMachineItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -188,8 +188,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -235,11 +235,11 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StereotypeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StereotypeItemProvider.java
index 8db2651..c439d74 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StereotypeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StereotypeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StereotypeItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: StereotypeItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -127,11 +127,11 @@
 	 */
 	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
 		boolean qualify =
+			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
+			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getStructuredClassifier_OwnedAttribute() ||
 			feature == UML2Package.eINSTANCE.getEncapsulatedClassifier_OwnedPort() ||
-			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedBehavior() ||
 			feature == UML2Package.eINSTANCE.getBehavioredClassifier_OwnedStateMachine() ||
-			feature == UML2Package.eINSTANCE.getClass_NestedClassifier() ||
 			feature == UML2Package.eINSTANCE.getClassifier_OwnedUseCase();
 		return getString(
 			qualify ? "_UI_CreateChild_text2" : "_UI_CreateChild_text", //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StopItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StopItemProvider.java
index 684ecfa..fcc3357 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StopItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StopItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StopItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: StopItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StringExpressionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StringExpressionItemProvider.java
index 4cd3e98..646b735 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StringExpressionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StringExpressionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StringExpressionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: StringExpressionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -135,8 +135,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuralFeatureActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuralFeatureActionItemProvider.java
index e72bdb4..543bcae 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuralFeatureActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuralFeatureActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StructuralFeatureActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: StructuralFeatureActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -154,8 +154,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuralFeatureItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuralFeatureItemProvider.java
index 7b3061c..f939e68 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuralFeatureItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuralFeatureItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StructuralFeatureItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: StructuralFeatureItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -278,8 +278,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuredActivityNodeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuredActivityNodeItemProvider.java
index 78af35b..9111ef3 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuredActivityNodeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuredActivityNodeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StructuredActivityNodeItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: StructuredActivityNodeItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -320,8 +320,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -483,16 +483,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
-				 UML2Factory.eINSTANCE.createExpansionNode()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
-				 UML2Factory.eINSTANCE.createExpansionRegion()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
 				 UML2Factory.eINSTANCE.createCreateObjectAction()));
 
 		newChildDescriptors.add
@@ -603,7 +593,22 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
-				 UML2Factory.eINSTANCE.createDataStoreNode()));
+				 UML2Factory.eINSTANCE.createExpansionNode()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
+				 UML2Factory.eINSTANCE.createExpansionRegion()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
+				 UML2Factory.eINSTANCE.createTimeObservationAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
+				 UML2Factory.eINSTANCE.createDurationObservationAction()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -663,12 +668,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
-				 UML2Factory.eINSTANCE.createTimeObservationAction()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getStructuredActivityNode_ContainedNode(),
-				 UML2Factory.eINSTANCE.createDurationObservationAction()));
+				 UML2Factory.eINSTANCE.createDataStoreNode()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuredClassifierItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuredClassifierItemProvider.java
index ddf27d5..d917e2d 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuredClassifierItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/StructuredClassifierItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StructuredClassifierItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: StructuredClassifierItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -205,8 +205,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SubstitutionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SubstitutionItemProvider.java
index 4214324..eb97587 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SubstitutionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/SubstitutionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: SubstitutionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: SubstitutionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -122,8 +122,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateBindingItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateBindingItemProvider.java
index a5e858f..6896de7 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateBindingItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateBindingItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateBindingItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TemplateBindingItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -151,8 +151,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateParameterItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateParameterItemProvider.java
index fdaa6fb..af4fbd6 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateParameterItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateParameterItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateParameterItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: TemplateParameterItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -206,8 +206,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -237,6 +237,16 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createOpaqueExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
 				 UML2Factory.eINSTANCE.createClass()));
 
 		newChildDescriptors.add
@@ -287,12 +297,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createOpaqueExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createExpression()));
+				 UML2Factory.eINSTANCE.createConstraint()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -322,11 +327,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
 				 UML2Factory.eINSTANCE.createInstanceValue()));
 
 		newChildDescriptors.add
@@ -357,11 +357,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createModel()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
 				 UML2Factory.eINSTANCE.createDependency()));
 
 		newChildDescriptors.add
@@ -392,12 +387,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createGeneralizationSet()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createInformationItem()));
+				 UML2Factory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -407,27 +397,17 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createActivity()));
+				 UML2Factory.eINSTANCE.createModel()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createArtifact()));
+				 UML2Factory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createManifestation()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createActor()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createUseCase()));
+				 UML2Factory.eINSTANCE.createGeneralizationSet()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -442,12 +422,32 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createActor()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createUseCase()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createArtifact()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createManifestation()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
 				 UML2Factory.eINSTANCE.createCollaboration()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createVariable()));
+				 UML2Factory.eINSTANCE.createInteraction()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -457,11 +457,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createInteraction()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
 				 UML2Factory.eINSTANCE.createCallTrigger()));
 
 		newChildDescriptors.add
@@ -492,7 +487,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createInteractionConstraint()));
+				 UML2Factory.eINSTANCE.createVariable()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -502,32 +497,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createComponent()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createDeployment()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createNode()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createDevice()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createExecutionEnvironment()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
-				 UML2Factory.eINSTANCE.createCommunicationPath()));
+				 UML2Factory.eINSTANCE.createInteractionConstraint()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -537,6 +507,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createComponent()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
 				 UML2Factory.eINSTANCE.createTimeExpression()));
 
 		newChildDescriptors.add
@@ -577,11 +552,46 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createDeployment()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createNode()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createDevice()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createExecutionEnvironment()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
+				 UML2Factory.eINSTANCE.createCommunicationPath()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedParameteredElement(),
 				 UML2Factory.eINSTANCE.createDeploymentSpecification()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createOpaqueExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
 				 UML2Factory.eINSTANCE.createClass()));
 
 		newChildDescriptors.add
@@ -632,12 +642,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createOpaqueExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createExpression()));
+				 UML2Factory.eINSTANCE.createConstraint()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -667,11 +672,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
 				 UML2Factory.eINSTANCE.createInstanceValue()));
 
 		newChildDescriptors.add
@@ -702,11 +702,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createModel()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
 				 UML2Factory.eINSTANCE.createDependency()));
 
 		newChildDescriptors.add
@@ -737,12 +732,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createGeneralizationSet()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createInformationItem()));
+				 UML2Factory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -752,27 +742,17 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createActivity()));
+				 UML2Factory.eINSTANCE.createModel()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createArtifact()));
+				 UML2Factory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createManifestation()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createActor()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createUseCase()));
+				 UML2Factory.eINSTANCE.createGeneralizationSet()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -787,12 +767,32 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createActor()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createUseCase()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createArtifact()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createManifestation()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
 				 UML2Factory.eINSTANCE.createCollaboration()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createVariable()));
+				 UML2Factory.eINSTANCE.createInteraction()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -802,11 +802,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createInteraction()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
 				 UML2Factory.eINSTANCE.createCallTrigger()));
 
 		newChildDescriptors.add
@@ -837,7 +832,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createInteractionConstraint()));
+				 UML2Factory.eINSTANCE.createVariable()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -847,32 +842,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createComponent()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createDeployment()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createNode()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createDevice()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createExecutionEnvironment()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
-				 UML2Factory.eINSTANCE.createCommunicationPath()));
+				 UML2Factory.eINSTANCE.createInteractionConstraint()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -882,6 +852,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createComponent()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
 				 UML2Factory.eINSTANCE.createTimeExpression()));
 
 		newChildDescriptors.add
@@ -922,6 +897,31 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createDeployment()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createNode()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createDevice()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createExecutionEnvironment()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
+				 UML2Factory.eINSTANCE.createCommunicationPath()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameter_OwnedDefault(),
 				 UML2Factory.eINSTANCE.createDeploymentSpecification()));
 	}
 
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateParameterSubstitutionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateParameterSubstitutionItemProvider.java
index f2df7c7..f6a9bdf 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateParameterSubstitutionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateParameterSubstitutionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateParameterSubstitutionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: TemplateParameterSubstitutionItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -34,6 +34,8 @@
 import org.eclipse.uml2.TemplateParameterSubstitution;
 import org.eclipse.uml2.UML2Factory;
 import org.eclipse.uml2.UML2Package;
+import org.eclipse.uml2.edit.internal.command.SubsetAddCommand;
+import org.eclipse.uml2.edit.internal.command.SubsetReplaceCommand;
 import org.eclipse.uml2.edit.internal.command.SubsetSetCommand;
 import org.eclipse.uml2.edit.internal.command.SupersetRemoveCommand;
 import org.eclipse.uml2.edit.internal.command.SupersetReplaceCommand;
@@ -174,8 +176,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -204,6 +206,16 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createOpaqueExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
 				 UML2Factory.eINSTANCE.createClass()));
 
 		newChildDescriptors.add
@@ -254,12 +266,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createOpaqueExpression()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createExpression()));
+				 UML2Factory.eINSTANCE.createConstraint()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -289,11 +296,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createConstraint()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
 				 UML2Factory.eINSTANCE.createInstanceValue()));
 
 		newChildDescriptors.add
@@ -324,11 +326,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createModel()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
 				 UML2Factory.eINSTANCE.createDependency()));
 
 		newChildDescriptors.add
@@ -359,12 +356,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createGeneralizationSet()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createInformationItem()));
+				 UML2Factory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -374,27 +366,17 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createActivity()));
+				 UML2Factory.eINSTANCE.createModel()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createArtifact()));
+				 UML2Factory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createManifestation()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createActor()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createUseCase()));
+				 UML2Factory.eINSTANCE.createGeneralizationSet()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -409,12 +391,32 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createActor()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createUseCase()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createArtifact()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createManifestation()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
 				 UML2Factory.eINSTANCE.createCollaboration()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createVariable()));
+				 UML2Factory.eINSTANCE.createInteraction()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -424,11 +426,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createInteraction()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
 				 UML2Factory.eINSTANCE.createCallTrigger()));
 
 		newChildDescriptors.add
@@ -459,7 +456,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createInteractionConstraint()));
+				 UML2Factory.eINSTANCE.createVariable()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -469,32 +466,7 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createComponent()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createDeployment()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createNode()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createDevice()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createExecutionEnvironment()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
-				 UML2Factory.eINSTANCE.createCommunicationPath()));
+				 UML2Factory.eINSTANCE.createInteractionConstraint()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -504,6 +476,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createComponent()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
 				 UML2Factory.eINSTANCE.createTimeExpression()));
 
 		newChildDescriptors.add
@@ -544,6 +521,31 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createDeployment()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createNode()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createDevice()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createExecutionEnvironment()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+				 UML2Factory.eINSTANCE.createCommunicationPath()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
 				 UML2Factory.eINSTANCE.createDeploymentSpecification()));
 	}
 
@@ -558,6 +560,19 @@
 	}
 
 	/**
+	 * @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
+	 */
+	protected Command createAddCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, Collection collection, int index) {
+		if (feature == UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual()) {
+			return new SubsetAddCommand(domain, owner, feature, new EStructuralFeature[] {UML2Package.eINSTANCE.getTemplateParameterSubstitution_Actual()}, collection, index);
+		}
+		return super.createAddCommand(domain, owner, feature, collection, index);
+	}
+
+	/**
 	 * @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 -->
@@ -577,22 +592,12 @@
 	 * @generated
 	 */
 	protected Command createReplaceCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, EObject value, Collection collection) {
+		if (feature == UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual()) {
+			return new SubsetReplaceCommand(domain, owner, feature, new EStructuralFeature[] {UML2Package.eINSTANCE.getTemplateParameterSubstitution_Actual()}, value, collection);
+		}
 		if (feature == UML2Package.eINSTANCE.getTemplateParameterSubstitution_Actual()) {
 			return new SupersetReplaceCommand(domain, owner, feature, new EStructuralFeature[] {UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual()}, value, collection);
 		}
 		return super.createReplaceCommand(domain, owner, feature, value, collection);
 	}
-
-	/**
-	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected Command createSetCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, Object value) {
-		if (feature == UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual()) {
-			return new SubsetSetCommand(domain, owner, feature, new EStructuralFeature[] {UML2Package.eINSTANCE.getTemplateParameterSubstitution_Actual()}, value);
-		}
-		return super.createSetCommand(domain, owner, feature, value);
-	}
 }
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateSignatureItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateSignatureItemProvider.java
index aa5a21b..6045d98 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateSignatureItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateSignatureItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateSignatureItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TemplateSignatureItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -192,8 +192,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateableClassifierItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateableClassifierItemProvider.java
index af7965f..0d6a14e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateableClassifierItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateableClassifierItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateableClassifierItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TemplateableClassifierItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateableElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateableElementItemProvider.java
index ebd4d26..5827521 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateableElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TemplateableElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateableElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TemplateableElementItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -169,8 +169,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TestIdentityActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TestIdentityActionItemProvider.java
index d8dfc6a..19f29fa 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TestIdentityActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TestIdentityActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TestIdentityActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: TestIdentityActionItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -192,8 +192,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeConstraintItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeConstraintItemProvider.java
index 2753c83..03e93d8 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeConstraintItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeConstraintItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TimeConstraintItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TimeConstraintItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeExpressionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeExpressionItemProvider.java
index d580556..809453f 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeExpressionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeExpressionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TimeExpressionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TimeExpressionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -136,8 +136,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeIntervalItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeIntervalItemProvider.java
index 03d0abd..e79ea1e 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeIntervalItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeIntervalItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TimeIntervalItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TimeIntervalItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeObservationActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeObservationActionItemProvider.java
index 4bb980e..2b7a4cb 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeObservationActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeObservationActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TimeObservationActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: TimeObservationActionItemProvider.java,v 1.5 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeTriggerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeTriggerItemProvider.java
index e9de890..3ff5ba2 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeTriggerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TimeTriggerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TimeTriggerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TimeTriggerItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -155,8 +155,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TransitionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TransitionItemProvider.java
index 9a417e6..e167136 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TransitionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TransitionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TransitionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TransitionItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -257,8 +257,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TriggerItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TriggerItemProvider.java
index 142c24a..826ba13 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TriggerItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TriggerItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TriggerItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TriggerItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TypeItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TypeItemProvider.java
index 7f4555a..6f52c01 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TypeItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TypeItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TypeItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TypeItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TypedElementItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TypedElementItemProvider.java
index 683a58b..cf82751 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TypedElementItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/TypedElementItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TypedElementItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: TypedElementItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/UsageItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/UsageItemProvider.java
index 35c607b..e290911 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/UsageItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/UsageItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UsageItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: UsageItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -96,8 +96,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/UseCaseItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/UseCaseItemProvider.java
index cb755bc..35146b8 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/UseCaseItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/UseCaseItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UseCaseItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: UseCaseItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -208,8 +208,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ValuePinItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ValuePinItemProvider.java
index b7600bd..91e8101 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ValuePinItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ValuePinItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ValuePinItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ValuePinItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ValueSpecificationItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ValueSpecificationItemProvider.java
index 3deb01f..10d9d54 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ValueSpecificationItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/ValueSpecificationItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ValueSpecificationItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: ValueSpecificationItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -126,8 +126,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VariableActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VariableActionItemProvider.java
index 3d0f1ba..1fdd8d4 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VariableActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VariableActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: VariableActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: VariableActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VariableItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VariableItemProvider.java
index 955429b..826661c 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VariableItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VariableItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: VariableItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: VariableItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -116,8 +116,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VertexItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VertexItemProvider.java
index 56a00e0..c39a930 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VertexItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/VertexItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: VertexItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: VertexItemProvider.java,v 1.4 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -133,8 +133,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteLinkActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteLinkActionItemProvider.java
index 7b40797..d1a4786 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteLinkActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteLinkActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: WriteLinkActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: WriteLinkActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -97,8 +97,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteStructuralFeatureActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteStructuralFeatureActionItemProvider.java
index 32bc43a..7a22d30 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteStructuralFeatureActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteStructuralFeatureActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: WriteStructuralFeatureActionItemProvider.java,v 1.4 2004/04/23 02:26:00 khussey Exp $
+ * $Id: WriteStructuralFeatureActionItemProvider.java,v 1.5 2004/04/30 17:20:12 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteVariableActionItemProvider.java b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteVariableActionItemProvider.java
index 4c219c5..1961795 100644
--- a/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteVariableActionItemProvider.java
+++ b/deprecated/plugins/org.eclipse.uml2.edit/src/org/eclipse/uml2/provider/WriteVariableActionItemProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: WriteVariableActionItemProvider.java,v 1.3 2004/04/14 20:45:54 khussey Exp $
+ * $Id: WriteVariableActionItemProvider.java,v 1.4 2004/04/30 17:20:11 khussey Exp $
  */
 package org.eclipse.uml2.provider;
 
@@ -138,8 +138,8 @@
 	}
 
 	/**
-	 * This handles model notifications by updating any cached children and by
-	 * creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/deprecated/plugins/org.eclipse.uml2.editor/src/org/eclipse/uml2/presentation/UML2ActionBarContributor.java b/deprecated/plugins/org.eclipse.uml2.editor/src/org/eclipse/uml2/presentation/UML2ActionBarContributor.java
index 1423ae7..a715070 100644
--- a/deprecated/plugins/org.eclipse.uml2.editor/src/org/eclipse/uml2/presentation/UML2ActionBarContributor.java
+++ b/deprecated/plugins/org.eclipse.uml2.editor/src/org/eclipse/uml2/presentation/UML2ActionBarContributor.java
@@ -8,16 +8,19 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML2ActionBarContributor.java,v 1.3 2004/04/14 20:45:21 khussey Exp $
+ * $Id: UML2ActionBarContributor.java,v 1.4 2004/04/30 17:18:18 khussey Exp $
  */
 package org.eclipse.uml2.presentation;
 
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.LinkedList;
 
 import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+
 import org.eclipse.emf.edit.ui.action.CreateChildAction;
 import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
 
@@ -91,14 +94,14 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected IAction showPropertiesViewAction = 
+	protected IAction showPropertiesViewAction =
 		new Action(UML2EditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) //$NON-NLS-1$
 		{
 			public void run() {
 				try {
 					getPage().showView("org.eclipse.ui.views.PropertySheet"); //$NON-NLS-1$
 				}
-				catch(PartInitException exception) {
+				catch (PartInitException exception) {
 					UML2EditorPlugin.INSTANCE.log(exception);
 				}
 			}
@@ -106,18 +109,18 @@
 
 	/**
 	 * This action refreshes the viewer of the current editor if the editor
-	 * implements {@link IViewerProvider}.
+	 * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected IAction refreshViewerAction = 
+	protected IAction refreshViewerAction =
 		new Action(UML2EditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) //$NON-NLS-1$
 		{
 			public boolean isEnabled() {
 				return activeEditorPart instanceof IViewerProvider;
 			}
-			
+
 			public void run() {
 				if (activeEditorPart instanceof IViewerProvider) {
 					Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
@@ -129,7 +132,7 @@
 		};
 
 	/**
-	 * This will contain one {@link CreateChildAction} corresponding to each descriptor
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
 	 * generated for the current selection by the item provider.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -146,7 +149,7 @@
 	protected IMenuManager createChildMenuManager;
 
 	/**
-	 * This will contain one {@link CreateSiblingAction} corresponding to each descriptor
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
 	 * generated for the current selection by the item provider.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -169,7 +172,7 @@
 	 * @generated
 	 */
 	public UML2ActionBarContributor() {
-		super();
+		loadResourceAction = new LoadResourceAction();
 	}
 
 	/**
@@ -212,9 +215,7 @@
 	}
 
 	/**
-	 * When the active editor changes,
-	 * this remembers the change,
-	 * and registers with it as a selection provider.
+	 * When the active editor changes, this remembers the change and registers with it as a selection provider.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -244,8 +245,8 @@
 	}
 
 	/**
-	 * This implements {@link ISelectionChangedListener},
-	 * handling {@link SelectionChangedEvent}s by querying for the children and siblings
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+	 * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
 	 * that can be added to the selected object and updating the menus accordingly.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -270,8 +271,7 @@
 		if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
 			Object object = ((IStructuredSelection)selection).getFirstElement();
 
-			EditingDomain domain =
-				((IEditingDomainProvider) activeEditorPart).getEditingDomain();
+			EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
 
 			newChildDescriptors = domain.getNewChildDescriptors(object, null);
 			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
@@ -293,14 +293,14 @@
 	}
 
 	/**
-	 * This generates a {@link CreateChildAction} for each object in <code>descriptors</code>,
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
 	 * and returns the collection of these actions.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	protected Collection generateCreateChildActions(Collection descriptors, ISelection selection) {
-		Collection actions = new LinkedList();
+		Collection actions = new ArrayList();
 		if (descriptors != null) {
 			for (Iterator i = descriptors.iterator(); i.hasNext(); ) {
 				actions.add(new CreateChildAction(activeEditorPart, selection, i.next()));
@@ -310,14 +310,14 @@
 	}
 
 	/**
-	 * This generates a {@link CreateSiblingAction} for each object in <code>descriptors</code>,
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
 	 * and returns the collection of these actions.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	protected Collection generateCreateSiblingActions(Collection descriptors, ISelection selection) {
-		Collection actions = new LinkedList();
+		Collection actions = new ArrayList();
 		if (descriptors != null) {
 			for (Iterator i = descriptors.iterator(); i.hasNext(); ) {
 				actions.add(new CreateSiblingAction(activeEditorPart, selection, i.next()));
@@ -327,8 +327,8 @@
 	}
 
 	/**
-	 * This populates the specified <code>manager</code> with {@link ActionContributionItem}s
-	 * based on the {@link IAction}s contained in the <code>actions</code> collection,
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
 	 * by inserting them before the specified contribution item <code>contributionID</code>.
 	 * If <code>ID</code> is <code>null</code>, they are simply added.
 	 * <!-- begin-user-doc -->
@@ -338,7 +338,7 @@
 	protected void populateManager(IContributionManager manager, Collection actions, String contributionID) {
 		if (actions != null) {
 			for (Iterator i = actions.iterator(); i.hasNext(); ) {
-				IAction action = (IAction) i.next();
+				IAction action = (IAction)i.next();
 				if (contributionID != null) {
 					manager.insertBefore(contributionID, action);
 				}
@@ -350,8 +350,8 @@
 	}
 		
 	/**
-	 * This removes from the specified <code>manager</code> all {@link ActionContributionItem}s
-	 * based on the {@link IAction}s contained in the <code>actions</code> collection.
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -370,7 +370,7 @@
 				// Delete the ActionContributionItems with matching action.
 				//
 				if (contributionItem instanceof ActionContributionItem) {
-					IAction action = ((ActionContributionItem) contributionItem).getAction();
+					IAction action = ((ActionContributionItem)contributionItem).getAction();
 					if (actions.contains(action)) {
 						manager.remove(contributionItem);
 					}
@@ -386,8 +386,6 @@
 	 * @generated
 	 */
 	public void menuAboutToShow(IMenuManager menuManager) {
-		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
-		
 		super.menuAboutToShow(menuManager);
 		MenuManager submenuManager = null;
 
@@ -398,9 +396,11 @@
 		submenuManager = new MenuManager(UML2EditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
 		populateManager(submenuManager, createSiblingActions, null);
 		menuManager.insertBefore("additions", submenuManager); //$NON-NLS-1$
-		
-		menuManager.insertAfter("additions-end", new Separator("ui-actions")); //$NON-NLS-2$
+
+		menuManager.insertAfter("additions-end", new Separator("ui-actions")); //$NON-NLS-1$ //$NON-NLS-2$
 		menuManager.insertAfter("ui-actions", showPropertiesViewAction); //$NON-NLS-1$
+
+		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
 		menuManager.insertAfter("ui-actions", refreshViewerAction); //$NON-NLS-1$
 	}
 }
diff --git a/deprecated/plugins/org.eclipse.uml2/model/UML2.ecore b/deprecated/plugins/org.eclipse.uml2/model/UML2.ecore
index 9a14b30..6e1e045 100644
--- a/deprecated/plugins/org.eclipse.uml2/model/UML2.ecore
+++ b/deprecated/plugins/org.eclipse.uml2/model/UML2.ecore
@@ -170,6 +170,284 @@
       </eAnnotations>

     </eStructuralFeatures>

   </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//TemplateableElement">

+    <eOperations name="validateNoName" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.validateNoName(this, diagnostics, context);"/>

+        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty()&#xD;&#xA;&#x9;implies self.qualifiedName->isEmpty()&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eAnnotations source="constraint"/>

+    </eOperations>

+    <eOperations name="validateQualifiedName" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.validateQualifiedName(this, diagnostics, context);"/>

+        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;(self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies&#xD;&#xA;self.qualifiedName =&#xD;&#xA; self.allNamespaces()->iterate( ns : Namespace; result: String = self.name |&#xD;&#xA;&#x9;&#x9;ns.name->union(self.separator())->union(result))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eAnnotations source="constraint"/>

+    </eOperations>

+    <eOperations name="allNamespaces" unique="false" upperBound="-1" eType="#//Sequence">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;try {&#xD;&#xA;&#x9;java.lang.reflect.Method method = getClass().getMethod(&quot;allNamespaces&quot;, new Class[] {}); //$NON-NLS-1$&#xD;&#xA;&#x9;if (!getCacheAdapter().containsKey(this, method)) {&#xD;&#xA;&#x9;&#x9;getCacheAdapter().put(this,&#xD;&#xA;&#x9;&#x9;&#x9;method,&#xD;&#xA;&#x9;&#x9;&#x9;java.util.Collections.unmodifiableList(org.eclipse.uml2.internal.operation.NamedElementOperations.allNamespaces(this)));&#xD;&#xA;&#x9;}&#xD;&#xA;&#x9;return (List) getCacheAdapter().get(this, method);&#xD;&#xA;} catch (Exception e) {&#xD;&#xA;&#x9;return org.eclipse.uml2.internal.operation.NamedElementOperations.allNamespaces(this);&#xD;&#xA;}"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;if self.namespace->isEmpty()&#xD;&#xA;then Sequence{}&#xD;&#xA;else self.namespace.allNamespaces()->prepend(self.namespace)&#xD;&#xA;endif&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+    </eOperations>

+    <eOperations name="isDistinguishableFrom" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.isDistinguishableFrom(this, n, ns);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;if self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType)&#xD;&#xA;then ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()&#xD;&#xA;else true&#xD;&#xA;endif&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eParameters name="n" eType="#//NamedElement"/>

+      <eParameters name="ns" eType="#//Namespace"/>

+    </eOperations>

+    <eOperations name="separator" eType="#//String">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.separator(this);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;'::'&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+    </eOperations>

+    <eOperations name="qualifiedName" eType="#//String">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.qualifiedName(this);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;if self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()&#xD;&#xA;then &#xD;&#xA;    self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))&#xD;&#xA;else&#xD;&#xA;    Set{}&#xD;&#xA;endif&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+    </eOperations>

+    <eOperations name="validateVisibilityNeedsOwnership" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.validateVisibilityNeedsOwnership(this, diagnostics, context);"/>

+        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;namespace->isEmpty() implies visibility->isEmpty()&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eAnnotations source="constraint"/>

+    </eOperations>

+    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="namespace"/>

+        <details key="eType" value="org.eclipse.uml2.Namespace"/>

+        <details key="eOpposite" value="ownedMember"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+      </eAnnotations>

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

+      </eAnnotations>

+      <eAnnotations source="union"/>

+    </eOperations>

+    <eOperations name="getOwner" ordered="false" eType="#//Element">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="owner"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="ownedElement"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//NamedElement/getNamespace"/>

+    </eOperations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//NamedElement/nameExpression"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="#//String"

+        defaultValueLiteral=""/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" ordered="false"

+        eType="#//String" changeable="false" volatile="true" transient="true" defaultValueLiteral=""

+        derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"

+        eType="#//VisibilityKind"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="clientDependency" ordered="false"

+        upperBound="-1" eType="#//Dependency" volatile="true" eOpposite="#//Dependency/client"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="nameExpression" ordered="false"

+        eType="#//StringExpression" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Namespace" abstract="true" eSuperTypes="#//NamedElement">

+    <eOperations name="validateMembersAreDistinguishable" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.validateMembersAreDistinguishable(this, diagnostics, context);"/>

+        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;membersAreDistinguishable()&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eAnnotations source="constraint"/>

+    </eOperations>

+    <eOperations name="getNamesOfMember" ordered="false" upperBound="-1" eType="#//Set">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.getNamesOfMember(this, element);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;if self.ownedMember->includes(element)&#xD;&#xA;then Set{}->include(element.name)&#xD;&#xA;else let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in&#xD;&#xA;    if elementImports->notEmpty()&#xD;&#xA;    then elementImports->collect(el | el.getName())&#xD;&#xA;    else &#xD;&#xA;        self.packageImport->select(pi | pi.importedPackage.visibleMembers()->includes(element))->collect(pi | pi.importedPackage.getNamesOfMember(element))&#xD;&#xA;    endif&#xD;&#xA;endif&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eParameters name="element" eType="#//NamedElement"/>

+    </eOperations>

+    <eOperations name="membersAreDistinguishable" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.membersAreDistinguishable(this);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.member->forAll( memb |&#xD;&#xA;&#x9;self.member->excluding(memb)->forAll(other |&#xD;&#xA;&#x9;&#x9;memb.isDistinguishableFrom(other, self)))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+    </eOperations>

+    <eOperations name="validateImportedMemberDerived" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.validateImportedMemberDerived(this, diagnostics, context);"/>

+        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.importedMember->includesAll(self.importedMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers()))))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eAnnotations source="constraint"/>

+    </eOperations>

+    <eOperations name="importedMember" ordered="false" upperBound="-1" eType="#//Set">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;try {&#xD;&#xA;&#x9;java.lang.reflect.Method method = getClass().getMethod(&quot;importedMember&quot;, new Class[] {}); //$NON-NLS-1$&#xD;&#xA;&#x9;if (!getCacheAdapter().containsKey(this, method)) {&#xD;&#xA;&#x9;&#x9;getCacheAdapter().put(this,&#xD;&#xA;&#x9;&#x9;&#x9;method,&#xD;&#xA;&#x9;&#x9;&#x9;java.util.Collections.unmodifiableSet(org.eclipse.uml2.internal.operation.NamespaceOperations.importedMember(this)));&#xD;&#xA;&#x9;}&#xD;&#xA;&#x9;return (Set) getCacheAdapter().get(this, method);&#xD;&#xA;} catch (Exception e) {&#xD;&#xA;&#x9;return org.eclipse.uml2.internal.operation.NamespaceOperations.importedMember(this);&#xD;&#xA;}"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.importedMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers())))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+    </eOperations>

+    <eOperations name="importMembers" ordered="false" upperBound="-1" eType="#//Set">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.importMembers(this, imps);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem | mem.imp.isDistinguishableFrom(mem, self)))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eParameters name="imps" eType="#//Set"/>

+    </eOperations>

+    <eOperations name="excludeCollisions" ordered="false" upperBound="-1" eType="#//Set">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.excludeCollisions(this, imps);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;imps->reject(imp1 | imps.exists(imp2 | not imp1.isDistinguishableFrom(imp2, self)))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eParameters name="imps" eType="#//Set"/>

+    </eOperations>

+    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedMember"/>

+        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

+        <details key="eOpposite" value="namespace"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+        <details key="org.eclipse.uml2.Namespace#getMembers" value=""/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Namespace/ownedRule"/>

+    </eOperations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Namespace/getOwnedMembers #//Namespace/elementImport #//Namespace/packageImport"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="member" ordered="false"

+        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"

+        transient="true" derived="true">

+      <eAnnotations source="union" references="#//Namespace/getOwnedMembers #//Namespace/importedMember.1"/>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedRule" ordered="false"

+        upperBound="-1" eType="#//Constraint" volatile="true" containment="true" eOpposite="#//Constraint/namespace">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="importedMember" ordered="false"

+        upperBound="-1" eType="#//PackageableElement" changeable="false" volatile="true"

+        transient="true" derived="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Namespace#getMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="elementImport" ordered="false"

+        upperBound="-1" eType="#//ElementImport" volatile="true" containment="true"

+        eOpposite="#//ElementImport/importingNamespace">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="packageImport" ordered="false"

+        upperBound="-1" eType="#//PackageImport" volatile="true" containment="true"

+        eOpposite="#//PackageImport/importingNamespace">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//TemplateableElement">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Comment/bodyExpression"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" ordered="false" eType="#//String"

+        defaultValueLiteral=""/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" ordered="false"

+        upperBound="-1" eType="#//Element"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyExpression" ordered="false"

+        eType="#//StringExpression" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationship" abstract="true"

+      eSuperTypes="#//Relationship">

+    <eOperations name="getRelatedElements" ordered="false" lowerBound="1" upperBound="-1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="relatedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//DirectedRelationship/source #//DirectedRelationship/target"/>

+    </eOperations>

+    <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">

+        <details key="org.eclipse.uml2.Relationship#getRelatedElements" value=""/>

+      </eAnnotations>

+    </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">

+        <details key="org.eclipse.uml2.Relationship#getRelatedElements" value=""/>

+      </eAnnotations>

+    </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="OpaqueExpression" eSuperTypes="#//ValueSpecification">

     <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" ordered="false" eType="#//String"

         defaultValueLiteral=""/>

@@ -242,31 +520,6 @@
       </eAnnotations>

     </eStructuralFeatures>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//TemplateableElement">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Comment/bodyExpression"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" ordered="false" eType="#//String"

-        defaultValueLiteral=""/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" ordered="false"

-        upperBound="-1" eType="#//Element"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyExpression" ordered="false"

-        eType="#//StringExpression" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//EncapsulatedClassifier #//BehavioredClassifier">

     <eOperations name="inherit" ordered="false" upperBound="-1" eType="#//Set">

       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

@@ -950,112 +1203,6 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSet" ordered="false"

         upperBound="-1" eType="#//ParameterSet" eOpposite="#//ParameterSet/parameter"/>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//TemplateableElement">

-    <eOperations name="validateNoName" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.validateNoName(this, diagnostics, context);"/>

-        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty()&#xD;&#xA;&#x9;implies self.qualifiedName->isEmpty()&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eAnnotations source="constraint"/>

-    </eOperations>

-    <eOperations name="validateQualifiedName" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.validateQualifiedName(this, diagnostics, context);"/>

-        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;(self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies&#xD;&#xA;self.qualifiedName =&#xD;&#xA; self.allNamespaces()->iterate( ns : Namespace; result: String = self.name |&#xD;&#xA;&#x9;&#x9;ns.name->union(self.separator())->union(result))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eAnnotations source="constraint"/>

-    </eOperations>

-    <eOperations name="allNamespaces" unique="false" upperBound="-1" eType="#//Sequence">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;try {&#xD;&#xA;&#x9;java.lang.reflect.Method method = getClass().getMethod(&quot;allNamespaces&quot;, new Class[] {}); //$NON-NLS-1$&#xD;&#xA;&#x9;if (!getCacheAdapter().containsKey(this, method)) {&#xD;&#xA;&#x9;&#x9;getCacheAdapter().put(this,&#xD;&#xA;&#x9;&#x9;&#x9;method,&#xD;&#xA;&#x9;&#x9;&#x9;java.util.Collections.unmodifiableList(org.eclipse.uml2.internal.operation.NamedElementOperations.allNamespaces(this)));&#xD;&#xA;&#x9;}&#xD;&#xA;&#x9;return (List) getCacheAdapter().get(this, method);&#xD;&#xA;} catch (Exception e) {&#xD;&#xA;&#x9;return org.eclipse.uml2.internal.operation.NamedElementOperations.allNamespaces(this);&#xD;&#xA;}"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;if self.namespace->isEmpty()&#xD;&#xA;then Sequence{}&#xD;&#xA;else self.namespace.allNamespaces()->prepend(self.namespace)&#xD;&#xA;endif&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="isDistinguishableFrom" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.isDistinguishableFrom(this, n, ns);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;if self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType)&#xD;&#xA;then ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()&#xD;&#xA;else true&#xD;&#xA;endif&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eParameters name="n" eType="#//NamedElement"/>

-      <eParameters name="ns" eType="#//Namespace"/>

-    </eOperations>

-    <eOperations name="separator" eType="#//String">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.separator(this);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;'::'&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="qualifiedName" eType="#//String">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.qualifiedName(this);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;if self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()&#xD;&#xA;then &#xD;&#xA;    self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))&#xD;&#xA;else&#xD;&#xA;    Set{}&#xD;&#xA;endif&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="validateVisibilityNeedsOwnership" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamedElementOperations.validateVisibilityNeedsOwnership(this, diagnostics, context);"/>

-        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;namespace->isEmpty() implies visibility->isEmpty()&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eAnnotations source="constraint"/>

-    </eOperations>

-    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="namespace"/>

-        <details key="eType" value="org.eclipse.uml2.Namespace"/>

-        <details key="eOpposite" value="ownedMember"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-      </eAnnotations>

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

-      </eAnnotations>

-      <eAnnotations source="union"/>

-    </eOperations>

-    <eOperations name="getOwner" ordered="false" eType="#//Element">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="owner"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="ownedElement"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//NamedElement/getNamespace"/>

-    </eOperations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//NamedElement/nameExpression"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="#//String"

-        defaultValueLiteral=""/>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" ordered="false"

-        eType="#//String" changeable="false" volatile="true" transient="true" defaultValueLiteral=""

-        derived="true"/>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"

-        eType="#//VisibilityKind"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="clientDependency" ordered="false"

-        upperBound="-1" eType="#//Dependency" volatile="true" eOpposite="#//Dependency/client"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="nameExpression" ordered="false"

-        eType="#//StringExpression" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace #//PackageableElement">

     <eOperations name="validateElementsPublicOrPrivate" eType="#//Boolean">

       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

@@ -1269,153 +1416,6 @@
     </eStructuralFeatures>

   </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//DataType"/>

-  <eClassifiers xsi:type="ecore:EClass" name="Namespace" abstract="true" eSuperTypes="#//NamedElement">

-    <eOperations name="validateMembersAreDistinguishable" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.validateMembersAreDistinguishable(this, diagnostics, context);"/>

-        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;membersAreDistinguishable()&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eAnnotations source="constraint"/>

-    </eOperations>

-    <eOperations name="getNamesOfMember" ordered="false" upperBound="-1" eType="#//Set">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.getNamesOfMember(this, element);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;if self.ownedMember->includes(element)&#xD;&#xA;then Set{}->include(element.name)&#xD;&#xA;else let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in&#xD;&#xA;    if elementImports->notEmpty()&#xD;&#xA;    then elementImports->collect(el | el.getName())&#xD;&#xA;    else &#xD;&#xA;        self.packageImport->select(pi | pi.importedPackage.visibleMembers()->includes(element))->collect(pi | pi.importedPackage.getNamesOfMember(element))&#xD;&#xA;    endif&#xD;&#xA;endif&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eParameters name="element" eType="#//NamedElement"/>

-    </eOperations>

-    <eOperations name="membersAreDistinguishable" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.membersAreDistinguishable(this);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.member->forAll( memb |&#xD;&#xA;&#x9;self.member->excluding(memb)->forAll(other |&#xD;&#xA;&#x9;&#x9;memb.isDistinguishableFrom(other, self)))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="validateImportedMemberDerived" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.validateImportedMemberDerived(this, diagnostics, context);"/>

-        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.importedMember->includesAll(self.importedMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers()))))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eAnnotations source="constraint"/>

-    </eOperations>

-    <eOperations name="importedMember" ordered="false" upperBound="-1" eType="#//Set">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;try {&#xD;&#xA;&#x9;java.lang.reflect.Method method = getClass().getMethod(&quot;importedMember&quot;, new Class[] {}); //$NON-NLS-1$&#xD;&#xA;&#x9;if (!getCacheAdapter().containsKey(this, method)) {&#xD;&#xA;&#x9;&#x9;getCacheAdapter().put(this,&#xD;&#xA;&#x9;&#x9;&#x9;method,&#xD;&#xA;&#x9;&#x9;&#x9;java.util.Collections.unmodifiableSet(org.eclipse.uml2.internal.operation.NamespaceOperations.importedMember(this)));&#xD;&#xA;&#x9;}&#xD;&#xA;&#x9;return (Set) getCacheAdapter().get(this, method);&#xD;&#xA;} catch (Exception e) {&#xD;&#xA;&#x9;return org.eclipse.uml2.internal.operation.NamespaceOperations.importedMember(this);&#xD;&#xA;}"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.importedMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers())))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="importMembers" ordered="false" upperBound="-1" eType="#//Set">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.importMembers(this, imps);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem | mem.imp.isDistinguishableFrom(mem, self)))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eParameters name="imps" eType="#//Set"/>

-    </eOperations>

-    <eOperations name="excludeCollisions" ordered="false" upperBound="-1" eType="#//Set">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.NamespaceOperations.excludeCollisions(this, imps);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;imps->reject(imp1 | imps.exists(imp2 | not imp1.isDistinguishableFrom(imp2, self)))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eParameters name="imps" eType="#//Set"/>

-    </eOperations>

-    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedMember"/>

-        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

-        <details key="eOpposite" value="namespace"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-        <details key="org.eclipse.uml2.Namespace#getMembers" value=""/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Namespace/ownedRule"/>

-    </eOperations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Namespace/getOwnedMembers #//Namespace/elementImport #//Namespace/packageImport"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="member" ordered="false"

-        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"

-        transient="true" derived="true">

-      <eAnnotations source="union" references="#//Namespace/getOwnedMembers #//Namespace/importedMember.1"/>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedRule" ordered="false"

-        upperBound="-1" eType="#//Constraint" volatile="true" containment="true" eOpposite="#//Constraint/namespace">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="importedMember" ordered="false"

-        upperBound="-1" eType="#//PackageableElement" changeable="false" volatile="true"

-        transient="true" derived="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Namespace#getMembers" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="elementImport" ordered="false"

-        upperBound="-1" eType="#//ElementImport" volatile="true" containment="true"

-        eOpposite="#//ElementImport/importingNamespace">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="packageImport" ordered="false"

-        upperBound="-1" eType="#//PackageImport" volatile="true" containment="true"

-        eOpposite="#//PackageImport/importingNamespace">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationship" abstract="true"

-      eSuperTypes="#//Relationship">

-    <eOperations name="getRelatedElements" ordered="false" lowerBound="1" upperBound="-1"

-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="relatedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//DirectedRelationship/source #//DirectedRelationship/target"/>

-    </eOperations>

-    <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">

-        <details key="org.eclipse.uml2.Relationship#getRelatedElements" value=""/>

-      </eAnnotations>

-    </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">

-        <details key="org.eclipse.uml2.Relationship#getRelatedElements" value=""/>

-      </eAnnotations>

-    </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="Constraint" eSuperTypes="#//PackageableElement">

     <eOperations name="validateNotApplyToSelf" eType="#//Boolean">

       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

@@ -1459,6 +1459,12 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" upperBound="-1"

         eType="#//Element"/>

   </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="LiteralBoolean" eSuperTypes="#//LiteralSpecification">

     <eOperations name="isComputable" eType="#//Boolean">

       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

@@ -1539,12 +1545,6 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"

         eType="#//UnlimitedNatural"/>

   </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="Classifier" abstract="true" eSuperTypes="#//Namespace #//Type #//RedefinableElement">

     <eOperations name="allFeatures" ordered="false" upperBound="-1" eType="#//Set">

       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

@@ -1736,8 +1736,6 @@
         <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="powertypeExtent" ordered="false"

-        upperBound="-1" eType="#//GeneralizationSet" eOpposite="#//GeneralizationSet/powertype"/>

     <eStructuralFeatures xsi:type="ecore:EReference" name="substitution" ordered="false"

         upperBound="-1" eType="#//Substitution" volatile="true" containment="true"

         eOpposite="#//Substitution/substitutingClassifier">

@@ -1746,6 +1744,8 @@
         <details key="org.eclipse.uml2.NamedElement#getClientDependencies" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="powertypeExtent" ordered="false"

+        upperBound="-1" eType="#//GeneralizationSet" eOpposite="#//GeneralizationSet/powertype"/>

     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedUseCase" ordered="false"

         upperBound="-1" eType="#//UseCase" containment="true">

       <eAnnotations source="subsets">

@@ -1892,6 +1892,53 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="generalizationSet" ordered="false"

         upperBound="-1" eType="#//GeneralizationSet" eOpposite="#//GeneralizationSet/generalization"/>

   </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="RedefinableElement" abstract="true"

+      eSuperTypes="#//NamedElement">

+    <eOperations name="validateRedefinitionContextValid" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.RedefinableElementOperations.validateRedefinitionContextValid(this, diagnostics, context);"/>

+        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eAnnotations source="constraint"/>

+    </eOperations>

+    <eOperations name="validateRedefinitionConsistent" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.RedefinableElementOperations.validateRedefinitionConsistent(this, diagnostics, context);"/>

+        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.redefinedElement->forAll(re | re.isConsistentWith(self))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eAnnotations source="constraint"/>

+    </eOperations>

+    <eOperations name="isConsistentWith" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.RedefinableElementOperations.isConsistentWith(this, redefinee);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;false&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eParameters name="redefinee" eType="#//RedefinableElement"/>

+    </eOperations>

+    <eOperations name="isRedefinitionContextValid" eType="#//Boolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.RedefinableElementOperations.isRedefinitionContextValid(this, redefinable);"/>

+        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.redefinitionContext->exists(c | redefinable.redefinitionContext->exists(r | c.allParents()->includes(r)))&#xD;&#xA;&lt;/code>"/>

+      </eAnnotations>

+      <eParameters name="redefinable" eType="#//RedefinableElement"/>

+    </eOperations>

+    <eOperations name="getRedefinedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="redefinedElement"/>

+        <details key="eType" value="org.eclipse.uml2.RedefinableElement"/>

+      </eAnnotations>

+      <eAnnotations source="union"/>

+    </eOperations>

+    <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>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLeaf" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="false"/>

+  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="InstanceSpecification" eSuperTypes="#//PackageableElement #//DeploymentTarget #//DeployedArtifact">

     <eOperations name="validateSlotsAreDefined" eType="#//Boolean">

       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

@@ -1981,53 +2028,6 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="instance" ordered="false"

         lowerBound="1" eType="#//InstanceSpecification"/>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="RedefinableElement" abstract="true"

-      eSuperTypes="#//NamedElement">

-    <eOperations name="validateRedefinitionContextValid" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.RedefinableElementOperations.validateRedefinitionContextValid(this, diagnostics, context);"/>

-        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eAnnotations source="constraint"/>

-    </eOperations>

-    <eOperations name="validateRedefinitionConsistent" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL constraint&#xD;&#xA;return org.eclipse.uml2.internal.operation.RedefinableElementOperations.validateRedefinitionConsistent(this, diagnostics, context);"/>

-        <details key="documentation" value="An invariant constraint based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.redefinedElement->forAll(re | re.isConsistentWith(self))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eAnnotations source="constraint"/>

-    </eOperations>

-    <eOperations name="isConsistentWith" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.RedefinableElementOperations.isConsistentWith(this, redefinee);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;false&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eParameters name="redefinee" eType="#//RedefinableElement"/>

-    </eOperations>

-    <eOperations name="isRedefinitionContextValid" eType="#//Boolean">

-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-        <details key="body" value="// TODO: test this OCL operation&#xD;&#xA;return org.eclipse.uml2.internal.operation.RedefinableElementOperations.isRedefinitionContextValid(this, redefinable);"/>

-        <details key="documentation" value="A query based on the following OCL expression:&#xD;&#xA;&lt;code>&#xD;&#xA;self.redefinitionContext->exists(c | redefinable.redefinitionContext->exists(r | c.allParents()->includes(r)))&#xD;&#xA;&lt;/code>"/>

-      </eAnnotations>

-      <eParameters name="redefinable" eType="#//RedefinableElement"/>

-    </eOperations>

-    <eOperations name="getRedefinedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="redefinedElement"/>

-        <details key="eType" value="org.eclipse.uml2.RedefinableElement"/>

-      </eAnnotations>

-      <eAnnotations source="union"/>

-    </eOperations>

-    <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>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLeaf" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="false"/>

-  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true"

       eSuperTypes="#//NamedElement #//ParameterableElement">

     <eOperations name="getVisibility" ordered="false" eType="#//VisibilityKind">

@@ -2422,31 +2422,6 @@
     <eLiterals name="shared" value="1"/>

     <eLiterals name="composite" value="2"/>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="AssociationClass" eSuperTypes="#//Class #//Association"/>

-  <eClassifiers xsi:type="ecore:EClass" name="GeneralizationSet" eSuperTypes="#//PackageableElement">

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCovering" ordered="false"

-        eType="#//Boolean"/>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDisjoint" ordered="false"

-        eType="#//Boolean"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="powertype" ordered="false"

-        eType="#//Classifier" eOpposite="#//Classifier/powertypeExtent"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="generalization" ordered="false"

-        upperBound="-1" eType="#//Generalization" eOpposite="#//Generalization/generalizationSet"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="InformationItem" eSuperTypes="#//Classifier">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="represented" ordered="false"

-        upperBound="-1" eType="#//Classifier"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="InformationFlow" eSuperTypes="#//DirectedRelationship">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="realization" ordered="false"

-        upperBound="-1" eType="#//Relationship"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="conveyed" ordered="false"

-        lowerBound="1" upperBound="-1" eType="#//Classifier"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//Package">

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="viewpoint" ordered="false"

-        eType="#//String" defaultValueLiteral=""/>

-  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="Permission" eSuperTypes="#//Dependency"/>

   <eClassifiers xsi:type="ecore:EClass" name="Dependency" eSuperTypes="#//PackageableElement #//DirectedRelationship">

     <eStructuralFeatures xsi:type="ecore:EReference" name="client" ordered="false"

@@ -2815,312 +2790,54 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"

         eType="#//Boolean" defaultValueLiteral="false"/>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ActivityEdge" abstract="true" eSuperTypes="#//RedefinableElement">

-    <eOperations name="getOwner" ordered="false" eType="#//Element">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="owner"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="ownedElement"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ActivityEdge/activity"/>

-    </eOperations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ActivityEdge/guard #//ActivityEdge/weight"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"

-        eType="#//Activity" transient="true" eOpposite="#//Activity/edge">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"

-        lowerBound="1" eType="#//ActivityNode" eOpposite="#//ActivityNode/outgoing"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"

-        lowerBound="1" eType="#//ActivityNode" eOpposite="#//ActivityNode/incoming"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"

-        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"

-        transient="true" derived="true">

-      <eAnnotations source="union" references="#//ActivityEdge/inStructuredNode #//ActivityEdge/inPartition"/>

-      <eAnnotations source="redefined">

-        <details key="eOpposite" value="containedEdge"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"

-        lowerBound="1" eType="#//ValueSpecification" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"

-        upperBound="-1" eType="#//ActivityEdge">

-      <eAnnotations source="redefines" references="#//RedefinableElement/getRedefinedElements">

-        <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="inStructuredNode" ordered="false"

-        eType="#//StructuredActivityNode" transient="true" eOpposite="#//StructuredActivityNode/containedEdge">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.ActivityEdge#getInGroups" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"

-        upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/containedEdge">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.ActivityEdge#getInGroups" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="weight" ordered="false"

-        lowerBound="1" eType="#//ValueSpecification" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="interrupts" ordered="false"

-        eType="#//InterruptibleActivityRegion" eOpposite="#//InterruptibleActivityRegion/interruptingEdge"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ActivityGroup" abstract="true" eSuperTypes="#//Element">

-    <eOperations name="getSubgroups" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="subgroup"/>

-        <details key="eType" value="org.eclipse.uml2.ActivityGroup"/>

-        <details key="eOpposite" value="superGroup"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-      <eAnnotations source="union"/>

-    </eOperations>

-    <eOperations name="getContainedEdges" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="containedEdge"/>

-        <details key="eType" value="org.eclipse.uml2.ActivityEdge"/>

-        <details key="eOpposite" value="inGroup"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="getContainedNodes" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="containedNode"/>

-        <details key="eType" value="org.eclipse.uml2.ActivityNode"/>

-        <details key="eOpposite" value="inGroup"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="getActivity" ordered="false" eType="#//Activity">

-      <eAnnotations source="feature">

-        <details key="derived" value="false"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="activity"/>

-        <details key="eType" value="org.eclipse.uml2.Activity"/>

-        <details key="eOpposite" value="node"/>

-        <details key="eOpposite.containment" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="redefined" references="#//ActivityGroup/activityGroup_activity"/>

-    </eOperations>

-    <eOperations name="setActivity" ordered="false">

-      <eAnnotations source="feature">

-        <details key="derived" value="false"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="activity"/>

-        <details key="eType" value="org.eclipse.uml2.Activity"/>

-        <details key="eOpposite" value="node"/>

-        <details key="eOpposite.containment" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="redefined" references="#//ActivityGroup/activityGroup_activity"/>

-      <eParameters name="newActivity" eType="#//Activity"/>

-    </eOperations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ActivityGroup/getSubgroups"/>

-    </eOperations>

-    <eOperations name="getOwner" ordered="false" eType="#//Element">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="owner"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="ownedElement"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ActivityGroup/superGroup #//ActivityGroup/activityGroup_activity"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="superGroup" ordered="false"

-        eType="#//ActivityGroup" changeable="false" volatile="true" transient="true"

-        derived="true">

-      <eAnnotations source="union"/>

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

-      </eAnnotations>

-      <eAnnotations source="redefined">

-        <details key="eOpposite" value="subgroup"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="activityGroup_activity"

-        ordered="false" eType="#//Activity" volatile="true" transient="true" eOpposite="#//Activity/group">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

-      </eAnnotations>

-      <eAnnotations source="redefines">

-        <details key="org.eclipse.uml2.ActivityNode#getActivity" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ActivityNode" abstract="true" eSuperTypes="#//RedefinableElement">

-    <eOperations name="getOwner" ordered="false" eType="#//Element">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="owner"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="ownedElement"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ActivityNode/activity"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"

-        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">

-      <eAnnotations source="union" references="#//ActivityNode/inStructuredNode #//ActivityNode/inPartition #//ActivityNode/inInterruptibleRegion"/>

-      <eAnnotations source="redefined">

-        <details key="eOpposite" value="containedNode"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"

-        eType="#//Activity" volatile="true" transient="true" eOpposite="#//Activity/node">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"

-        upperBound="-1" eType="#//ActivityNode">

-      <eAnnotations source="redefines" references="#//RedefinableElement/getRedefinedElements">

-        <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="inStructuredNode" ordered="false"

-        eType="#//StructuredActivityNode" transient="true" eOpposite="#//StructuredActivityNode/containedNode">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.ActivityNode#getInGroups" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"

-        upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/containedNode">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.ActivityNode#getInGroups" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="inInterruptibleRegion"

-        ordered="false" upperBound="-1" eType="#//InterruptibleActivityRegion" eOpposite="#//InterruptibleActivityRegion/containedNode">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.ActivityNode#getInGroups" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Action" eSuperTypes="#//ExecutableNode">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Action/output #//Action/input #//Action/localPrecondition #//Action/localPostcondition"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="effect" ordered="false"

+  <eClassifiers xsi:type="ecore:EClass" name="AssociationClass" eSuperTypes="#//Class #//Association"/>

+  <eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//Package">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="viewpoint" ordered="false"

         eType="#//String" defaultValueLiteral=""/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="output" upperBound="-1"

-        eType="#//OutputPin" changeable="false" volatile="true" transient="true" derived="true">

-      <eAnnotations source="union"/>

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="input" upperBound="-1"

-        eType="#//InputPin" changeable="false" volatile="true" transient="true" derived="true">

-      <eAnnotations source="union"/>

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"

-        eType="#//Classifier" changeable="false" volatile="true" transient="true"

-        derived="true"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="localPrecondition" ordered="false"

-        upperBound="-1" eType="#//Constraint" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="localPostcondition" ordered="false"

-        upperBound="-1" eType="#//Constraint" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ObjectNode" abstract="true" eSuperTypes="#//ActivityNode #//TypedElement">

+  <eClassifiers xsi:type="ecore:EClass" name="InformationItem" eSuperTypes="#//Classifier">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="represented" ordered="false"

+        upperBound="-1" eType="#//Classifier"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InformationFlow" eSuperTypes="#//DirectedRelationship">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="realization" ordered="false"

+        upperBound="-1" eType="#//Relationship"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conveyed" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//Classifier"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GeneralizationSet" eSuperTypes="#//PackageableElement">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCovering" ordered="false"

+        eType="#//Boolean"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDisjoint" ordered="false"

+        eType="#//Boolean"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="powertype" ordered="false"

+        eType="#//Classifier" eOpposite="#//Classifier/powertypeExtent"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="generalization" ordered="false"

+        upperBound="-1" eType="#//Generalization" eOpposite="#//Generalization/generalizationSet"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ConnectorEnd" eSuperTypes="#//MultiplicityElement">

+    <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="role" ordered="false" eType="#//ConnectableElement"

+        eOpposite="#//ConnectableElement/end"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"

+        eType="#//Property"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElement" abstract="true"

+      eSuperTypes="#//NamedElement #//ParameterableElement">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false" upperBound="-1"

+        eType="#//ConnectorEnd" eOpposite="#//ConnectorEnd/role"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//Feature">

+    <eOperations name="getRedefinedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="redefinedElement"/>

+        <details key="eType" value="org.eclipse.uml2.RedefinableElement"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Connector/redefinedConnector"/>

+    </eOperations>

     <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

         <details key="derived" value="true"/>

@@ -3132,72 +2849,96 @@
         <details key="containment" value="false"/>

         <details key="eOpposite.lowerBound" value="0"/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//ObjectNode/upperBound"/>

+      <eAnnotations source="union" references="#//Connector/end"/>

     </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordering" ordered="false"

-        eType="#//ObjectNodeOrderingKind" defaultValueLiteral="FIFO"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" ordered="false"

-        lowerBound="1" eType="#//ValueSpecification" containment="true">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Association"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedConnector" ordered="false"

+        upperBound="-1" eType="#//Connector">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="2" upperBound="-1"

+        eType="#//ConnectorEnd" containment="true">

       <eAnnotations source="subsets">

         <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="inState" ordered="false"

-        upperBound="-1" eType="#//State"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="selection" ordered="false"

-        eType="#//Behavior"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" eType="#//ConnectorKind"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"

+        upperBound="-1" eType="#//Behavior"/>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ControlNode" abstract="true" eSuperTypes="#//ActivityNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="ControlFlow" eSuperTypes="#//ActivityEdge"/>

-  <eClassifiers xsi:type="ecore:EClass" name="ObjectFlow" eSuperTypes="#//ActivityEdge">

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMulticast" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="false"/>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMultireceive" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="false"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="transformation" ordered="false"

-        eType="#//Behavior"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="selection" ordered="false"

-        eType="#//Behavior"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="InitialNode" eSuperTypes="#//ControlNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="FinalNode" abstract="true" eSuperTypes="#//ControlNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="ActivityFinalNode" eSuperTypes="#//FinalNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="DecisionNode" eSuperTypes="#//ControlNode">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="decisionInput" ordered="false"

-        eType="#//Behavior"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="MergeNode" eSuperTypes="#//ControlNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="ExecutableNode" abstract="true" eSuperTypes="#//ActivityNode">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+  <eClassifiers xsi:type="ecore:EClass" name="StructuredClassifier" abstract="true"

+      eSuperTypes="#//Classifier">

+    <eOperations name="getAttributes" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="attribute"/>

+        <details key="eType" value="org.eclipse.uml2.Property"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//StructuredClassifier/ownedAttribute"/>

+    </eOperations>

+    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

         <details key="derived" value="true"/>

         <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

+        <details key="name" value="ownedMember"/>

+        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

+        <details key="eOpposite" value="namespace"/>

         <details key="eOpposite.containment" value="false"/>

         <details key="containment" value="false"/>

         <details key="eOpposite.lowerBound" value="0"/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//ExecutableNode/handler"/>

+      <eAnnotations source="union" references="#//StructuredClassifier/ownedAttribute #//StructuredClassifier/ownedConnector"/>

     </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="handler" ordered="false"

-        upperBound="-1" eType="#//ExceptionHandler" containment="true" eOpposite="#//ExceptionHandler/protectedNode">

+    <eOperations name="getMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="member"/>

+        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//StructuredClassifier/role"/>

+    </eOperations>

+    <eOperations name="getFeatures" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="feature"/>

+        <details key="eType" value="org.eclipse.uml2.Feature"/>

+        <details key="eOpposite" value="featuringClassifier"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//StructuredClassifier/ownedConnector"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" ordered="false"

+        upperBound="-1" eType="#//Property" volatile="true" containment="true">

       <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+        <details key="org.eclipse.uml2.StructuredClassifier#getRoles" value=""/>

+        <details key="org.eclipse.uml2.Classifier#getAttributes" value=""/>

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="OutputPin" eSuperTypes="#//Pin"/>

-  <eClassifiers xsi:type="ecore:EClass" name="InputPin" eSuperTypes="#//Pin"/>

-  <eClassifiers xsi:type="ecore:EClass" name="Pin" abstract="true" eSuperTypes="#//ObjectNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="ActivityParameterNode" eSuperTypes="#//ObjectNode">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"

-        lowerBound="1" eType="#//Parameter"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ValuePin" eSuperTypes="#//InputPin">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"

-        lowerBound="1" eType="#//ValueSpecification" containment="true"/>

+    <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" references="#//StructuredClassifier/ownedAttribute"/>

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Namespace#getMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnector" ordered="false"

+        upperBound="-1" eType="#//Connector" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Classifier#getFeatures" value=""/>

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

   </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//Classifier">

     <eOperations name="getAttributes" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

@@ -3591,28 +3332,19 @@
       </eAnnotations>

     </eStructuralFeatures>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ConnectorEnd" eSuperTypes="#//MultiplicityElement">

-    <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="role" ordered="false" eType="#//ConnectableElement"

-        eOpposite="#//ConnectableElement/end"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"

-        eType="#//Property"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElement" abstract="true"

-      eSuperTypes="#//NamedElement #//ParameterableElement">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false" upperBound="-1"

-        eType="#//ConnectorEnd" eOpposite="#//ConnectorEnd/role"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//Feature">

-    <eOperations name="getRedefinedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+  <eClassifiers xsi:type="ecore:EClass" name="ActivityEdge" abstract="true" eSuperTypes="#//RedefinableElement">

+    <eOperations name="getOwner" ordered="false" eType="#//Element">

       <eAnnotations source="feature">

         <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="owner"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="ownedElement"/>

+        <details key="eOpposite.containment" value="false"/>

         <details key="containment" value="false"/>

-        <details key="name" value="redefinedElement"/>

-        <details key="eType" value="org.eclipse.uml2.RedefinableElement"/>

+        <details key="eOpposite.lowerBound" value="0"/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//Connector/redefinedConnector"/>

+      <eAnnotations source="union" references="#//ActivityEdge/activity"/>

     </eOperations>

     <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

@@ -3625,97 +3357,365 @@
         <details key="containment" value="false"/>

         <details key="eOpposite.lowerBound" value="0"/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//Connector/end"/>

+      <eAnnotations source="union" references="#//ActivityEdge/guard #//ActivityEdge/weight"/>

     </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Association"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedConnector" ordered="false"

-        upperBound="-1" eType="#//Connector">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"

+        eType="#//Activity" transient="true" eOpposite="#//Activity/edge">

       <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

+        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="2" upperBound="-1"

-        eType="#//ConnectorEnd" containment="true">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"

+        lowerBound="1" eType="#//ActivityNode" eOpposite="#//ActivityNode/outgoing"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"

+        lowerBound="1" eType="#//ActivityNode" eOpposite="#//ActivityNode/incoming"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"

+        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"

+        transient="true" derived="true">

+      <eAnnotations source="union" references="#//ActivityEdge/inStructuredNode #//ActivityEdge/inPartition"/>

+      <eAnnotations source="redefined">

+        <details key="eOpposite" value="containedEdge"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"

+        lowerBound="1" eType="#//ValueSpecification" containment="true">

       <eAnnotations source="subsets">

         <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" eType="#//ConnectorKind"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"

-        upperBound="-1" eType="#//Behavior"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="StructuredClassifier" abstract="true"

-      eSuperTypes="#//Classifier">

-    <eOperations name="getAttributes" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="attribute"/>

-        <details key="eType" value="org.eclipse.uml2.Property"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"

+        upperBound="-1" eType="#//ActivityEdge">

+      <eAnnotations source="redefines" references="#//RedefinableElement/getRedefinedElements">

+        <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//StructuredClassifier/ownedAttribute"/>

-    </eOperations>

-    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inStructuredNode" ordered="false"

+        eType="#//StructuredActivityNode" transient="true" eOpposite="#//StructuredActivityNode/containedEdge">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.ActivityEdge#getInGroups" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"

+        upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/containedEdge">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.ActivityEdge#getInGroups" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="weight" ordered="false"

+        lowerBound="1" eType="#//ValueSpecification" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="interrupts" ordered="false"

+        eType="#//InterruptibleActivityRegion" eOpposite="#//InterruptibleActivityRegion/interruptingEdge"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ActivityGroup" abstract="true" eSuperTypes="#//Element">

+    <eOperations name="getSubgroups" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

         <details key="derived" value="true"/>

         <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedMember"/>

-        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

-        <details key="eOpposite" value="namespace"/>

+        <details key="name" value="subgroup"/>

+        <details key="eType" value="org.eclipse.uml2.ActivityGroup"/>

+        <details key="eOpposite" value="superGroup"/>

         <details key="eOpposite.containment" value="false"/>

         <details key="containment" value="false"/>

         <details key="eOpposite.lowerBound" value="0"/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//StructuredClassifier/ownedAttribute #//StructuredClassifier/ownedConnector"/>

-    </eOperations>

-    <eOperations name="getMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="member"/>

-        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//StructuredClassifier/role"/>

+      <eAnnotations source="union"/>

     </eOperations>

-    <eOperations name="getFeatures" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+    <eOperations name="getContainedEdges" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

         <details key="derived" value="true"/>

         <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="feature"/>

-        <details key="eType" value="org.eclipse.uml2.Feature"/>

-        <details key="eOpposite" value="featuringClassifier"/>

+        <details key="name" value="containedEdge"/>

+        <details key="eType" value="org.eclipse.uml2.ActivityEdge"/>

+        <details key="eOpposite" value="inGroup"/>

         <details key="eOpposite.containment" value="false"/>

         <details key="containment" value="false"/>

         <details key="eOpposite.lowerBound" value="0"/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//StructuredClassifier/ownedConnector"/>

     </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" ordered="false"

-        upperBound="-1" eType="#//Property" volatile="true" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.StructuredClassifier#getRoles" value=""/>

-        <details key="org.eclipse.uml2.Classifier#getAttributes" value=""/>

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+    <eOperations name="getContainedNodes" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="containedNode"/>

+        <details key="eType" value="org.eclipse.uml2.ActivityNode"/>

+        <details key="eOpposite" value="inGroup"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

       </eAnnotations>

-    </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"

+    </eOperations>

+    <eOperations name="getActivity" ordered="false" eType="#//Activity">

+      <eAnnotations source="feature">

+        <details key="derived" value="false"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="activity"/>

+        <details key="eType" value="org.eclipse.uml2.Activity"/>

+        <details key="eOpposite" value="node"/>

+        <details key="eOpposite.containment" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="redefined" references="#//ActivityGroup/activityGroup_activity"/>

+    </eOperations>

+    <eOperations name="setActivity" ordered="false">

+      <eAnnotations source="feature">

+        <details key="derived" value="false"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="activity"/>

+        <details key="eType" value="org.eclipse.uml2.Activity"/>

+        <details key="eOpposite" value="node"/>

+        <details key="eOpposite.containment" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="redefined" references="#//ActivityGroup/activityGroup_activity"/>

+      <eParameters name="newActivity" eType="#//Activity"/>

+    </eOperations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ActivityGroup/getSubgroups"/>

+    </eOperations>

+    <eOperations name="getOwner" ordered="false" eType="#//Element">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="owner"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="ownedElement"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ActivityGroup/superGroup #//ActivityGroup/activityGroup_activity"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="superGroup" ordered="false"

+        eType="#//ActivityGroup" changeable="false" volatile="true" transient="true"

         derived="true">

-      <eAnnotations source="union" references="#//StructuredClassifier/ownedAttribute"/>

+      <eAnnotations source="union"/>

       <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Namespace#getMembers" value=""/>

+        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

+      </eAnnotations>

+      <eAnnotations source="redefined">

+        <details key="eOpposite" value="subgroup"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+        <details key="eOpposite.upperBound" value="-1"/>

       </eAnnotations>

     </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnector" ordered="false"

-        upperBound="-1" eType="#//Connector" containment="true">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="activityGroup_activity"

+        ordered="false" eType="#//Activity" volatile="true" transient="true" eOpposite="#//Activity/group">

       <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Classifier#getFeatures" value=""/>

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

+      </eAnnotations>

+      <eAnnotations source="redefines">

+        <details key="org.eclipse.uml2.ActivityNode#getActivity" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

   </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ActivityNode" abstract="true" eSuperTypes="#//RedefinableElement">

+    <eOperations name="getOwner" ordered="false" eType="#//Element">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="owner"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="ownedElement"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ActivityNode/activity"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"

+        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">

+      <eAnnotations source="union" references="#//ActivityNode/inStructuredNode #//ActivityNode/inPartition #//ActivityNode/inInterruptibleRegion"/>

+      <eAnnotations source="redefined">

+        <details key="eOpposite" value="containedNode"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"

+        eType="#//Activity" volatile="true" transient="true" eOpposite="#//Activity/node">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"

+        upperBound="-1" eType="#//ActivityNode">

+      <eAnnotations source="redefines" references="#//RedefinableElement/getRedefinedElements">

+        <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inStructuredNode" ordered="false"

+        eType="#//StructuredActivityNode" transient="true" eOpposite="#//StructuredActivityNode/containedNode">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.ActivityNode#getInGroups" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"

+        upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/containedNode">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.ActivityNode#getInGroups" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inInterruptibleRegion"

+        ordered="false" upperBound="-1" eType="#//InterruptibleActivityRegion" eOpposite="#//InterruptibleActivityRegion/containedNode">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.ActivityNode#getInGroups" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Action" eSuperTypes="#//ExecutableNode">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Action/output #//Action/input #//Action/localPrecondition #//Action/localPostcondition"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="effect" ordered="false"

+        eType="#//String" defaultValueLiteral=""/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="output" upperBound="-1"

+        eType="#//OutputPin" changeable="false" volatile="true" transient="true" derived="true">

+      <eAnnotations source="union"/>

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="input" upperBound="-1"

+        eType="#//InputPin" changeable="false" volatile="true" transient="true" derived="true">

+      <eAnnotations source="union"/>

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"

+        eType="#//Classifier" changeable="false" volatile="true" transient="true"

+        derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="localPrecondition" ordered="false"

+        upperBound="-1" eType="#//Constraint" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="localPostcondition" ordered="false"

+        upperBound="-1" eType="#//Constraint" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ObjectNode" abstract="true" eSuperTypes="#//ActivityNode #//TypedElement">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ObjectNode/upperBound"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordering" ordered="false"

+        eType="#//ObjectNodeOrderingKind" defaultValueLiteral="FIFO"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" ordered="false"

+        lowerBound="1" eType="#//ValueSpecification" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inState" ordered="false"

+        upperBound="-1" eType="#//State"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="selection" ordered="false"

+        eType="#//Behavior"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ControlNode" abstract="true" eSuperTypes="#//ActivityNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="ControlFlow" eSuperTypes="#//ActivityEdge"/>

+  <eClassifiers xsi:type="ecore:EClass" name="ObjectFlow" eSuperTypes="#//ActivityEdge">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMulticast" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="false"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMultireceive" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="false"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="transformation" ordered="false"

+        eType="#//Behavior"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="selection" ordered="false"

+        eType="#//Behavior"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InitialNode" eSuperTypes="#//ControlNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="FinalNode" abstract="true" eSuperTypes="#//ControlNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="ActivityFinalNode" eSuperTypes="#//FinalNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="DecisionNode" eSuperTypes="#//ControlNode">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="decisionInput" ordered="false"

+        eType="#//Behavior"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="MergeNode" eSuperTypes="#//ControlNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="ExecutableNode" abstract="true" eSuperTypes="#//ActivityNode">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ExecutableNode/handler"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="handler" ordered="false"

+        upperBound="-1" eType="#//ExceptionHandler" containment="true" eOpposite="#//ExceptionHandler/protectedNode">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="OutputPin" eSuperTypes="#//Pin"/>

+  <eClassifiers xsi:type="ecore:EClass" name="InputPin" eSuperTypes="#//Pin"/>

+  <eClassifiers xsi:type="ecore:EClass" name="Pin" abstract="true" eSuperTypes="#//ObjectNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="ActivityParameterNode" eSuperTypes="#//ObjectNode">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"

+        lowerBound="1" eType="#//Parameter"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ValuePin" eSuperTypes="#//InputPin">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"

+        lowerBound="1" eType="#//ValueSpecification" containment="true"/>

+  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="CollaborationOccurrence" eSuperTypes="#//NamedElement">

     <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

@@ -3756,6 +3756,676 @@
       </eAnnotations>

     </eStructuralFeatures>

   </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Interaction" eSuperTypes="#//Behavior #//InteractionFragment">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+      <details key="documentation" value="The point is that the InteractionConstraint &quot;received&quot; from StructuralArchitecture will consist of a set of such units described by sequence diagrams (or collaboration diagrams)."/>

+    </eAnnotations>

+    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedMember"/>

+        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

+        <details key="eOpposite" value="namespace"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Interaction/lifeline #//Interaction/message #//Interaction/formalGate"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="lifeline" ordered="false"

+        upperBound="-1" eType="#//Lifeline" containment="true" eOpposite="#//Lifeline/interaction">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="message" ordered="false"

+        upperBound="-1" eType="#//Message" containment="true" eOpposite="#//Message/interaction">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="fragment" upperBound="-1"

+        eType="#//InteractionFragment" containment="true" eOpposite="#//InteractionFragment/enclosingInteraction"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="formalGate" ordered="false"

+        upperBound="-1" eType="#//Gate" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InteractionFragment" abstract="true"

+      eSuperTypes="#//NamedElement">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+      <details key="documentation" value="An InteractionFragment is a general class that holds the common parts of CompositeFragment, AtomicFragment and InteractionExpressionOperand.&#xD;&#xA;Conceptually it is very much the same as a full sequence diagram, but a fragment is not named and must be referred then through structure."/>

+    </eAnnotations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//InteractionFragment/generalOrdering"/>

+    </eOperations>

+    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="namespace"/>

+        <details key="eType" value="org.eclipse.uml2.Namespace"/>

+        <details key="eOpposite" value="ownedMember"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//InteractionFragment/enclosingOperand"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="covered" ordered="false"

+        upperBound="-1" eType="#//Lifeline" volatile="true" eOpposite="#//Lifeline/coveredBy"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="generalOrdering" ordered="false"

+        upperBound="-1" eType="#//GeneralOrdering" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="enclosingInteraction" ordered="false"

+        eType="#//Interaction" transient="true" eOpposite="#//Interaction/fragment"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="enclosingOperand" ordered="false"

+        eType="#//InteractionOperand" transient="true" eOpposite="#//InteractionOperand/fragment">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.NamedElement#getNamespace" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Lifeline" eSuperTypes="#//NamedElement">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+      <details key="documentation" value="A Lifelineis the concept behind a lifeline in a Sequence &#xD;&#xA;Diagram. A Participant may be a Part or it may be a parameter representing a part. Its qualification is a Classifier which in turn may be an Interface (or ClassifierRole?)"/>

+    </eAnnotations>

+    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="namespace"/>

+        <details key="eType" value="org.eclipse.uml2.Namespace"/>

+        <details key="eOpposite" value="ownedMember"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Lifeline/interaction"/>

+    </eOperations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Lifeline/selector"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="coveredBy" ordered="false"

+        upperBound="-1" eType="#//InteractionFragment" volatile="true" eOpposite="#//InteractionFragment/covered"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="represents" ordered="false"

+        lowerBound="1" eType="#//ConnectableElement"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" ordered="false"

+        lowerBound="1" eType="#//Interaction" transient="true" eOpposite="#//Interaction/lifeline">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.NamedElement#getNamespace" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="selector" ordered="false"

+        eType="#//OpaqueExpression" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="decomposedAs" ordered="false"

+        eType="#//PartDecomposition"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Message" eSuperTypes="#//NamedElement">

+    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="namespace"/>

+        <details key="eType" value="org.eclipse.uml2.Namespace"/>

+        <details key="eOpposite" value="ownedMember"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Message/interaction"/>

+    </eOperations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Message/argument"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageKind" ordered="false"

+        eType="#//MessageKind" changeable="false" volatile="true" transient="true"

+        derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageSort" ordered="false"

+        eType="#//MessageSort"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="receiveEvent" ordered="false"

+        eType="#//MessageEnd" eOpposite="#//MessageEnd/receiveMessage"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sendEvent" ordered="false"

+        eType="#//MessageEnd" eOpposite="#//MessageEnd/sendMessage"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"

+        eType="#//Connector"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" ordered="false"

+        lowerBound="1" eType="#//Interaction" transient="true" eOpposite="#//Interaction/message">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.NamedElement#getNamespace" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"

+        eType="#//NamedElement"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" ordered="false"

+        upperBound="-1" eType="#//ValueSpecification" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GeneralOrdering" eSuperTypes="#//NamedElement">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="before" ordered="false"

+        lowerBound="1" eType="#//EventOccurrence" eOpposite="#//EventOccurrence/toAfter"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="after" ordered="false"

+        lowerBound="1" eType="#//EventOccurrence" eOpposite="#//EventOccurrence/toBefore"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="MessageKind">

+    <eLiterals name="complete"/>

+    <eLiterals name="lost" value="1"/>

+    <eLiterals name="found" value="2"/>

+    <eLiterals name="unknown" value="3"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="MessageSort">

+    <eLiterals name="synchCall"/>

+    <eLiterals name="synchSignal" value="1"/>

+    <eLiterals name="asynchCall" value="2"/>

+    <eLiterals name="asynchSignal" value="3"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="MessageEnd" abstract="true" eSuperTypes="#//NamedElement">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="receiveMessage" ordered="false"

+        eType="#//Message" eOpposite="#//Message/receiveEvent"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sendMessage" ordered="false"

+        eType="#//Message" eOpposite="#//Message/sendEvent"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="EventOccurrence" eSuperTypes="#//InteractionFragment #//MessageEnd">

+    <eOperations name="getCovereds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="covered"/>

+        <details key="eType" value="org.eclipse.uml2.Lifeline"/>

+      </eAnnotations>

+      <eAnnotations source="redefines" references="#//InteractionFragment/covered">

+        <details key="org.eclipse.uml2.InteractionFragment#getCovereds" value=""/>

+      </eAnnotations>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="startExec" ordered="false"

+        upperBound="-1" eType="#//ExecutionOccurrence" eOpposite="#//ExecutionOccurrence/start"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="finishExec" ordered="false"

+        upperBound="-1" eType="#//ExecutionOccurrence" eOpposite="#//ExecutionOccurrence/finish"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="toAfter" ordered="false"

+        upperBound="-1" eType="#//GeneralOrdering" eOpposite="#//GeneralOrdering/before"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="toBefore" ordered="false"

+        upperBound="-1" eType="#//GeneralOrdering" eOpposite="#//GeneralOrdering/after"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ExecutionOccurrence" eSuperTypes="#//InteractionFragment">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="start" ordered="false"

+        lowerBound="1" eType="#//EventOccurrence" eOpposite="#//EventOccurrence/startExec"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="finish" ordered="false"

+        lowerBound="1" eType="#//EventOccurrence" eOpposite="#//EventOccurrence/finishExec"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"

+        upperBound="-1" eType="#//Behavior"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="StateInvariant" eSuperTypes="#//InteractionFragment">

+    <eOperations name="getCovereds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="covered"/>

+        <details key="eType" value="org.eclipse.uml2.Lifeline"/>

+      </eAnnotations>

+      <eAnnotations source="redefines" references="#//InteractionFragment/covered">

+        <details key="org.eclipse.uml2.InteractionFragment#getCovereds" value=""/>

+      </eAnnotations>

+    </eOperations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//StateInvariant/invariant"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="invariant" ordered="false"

+        lowerBound="1" eType="#//Constraint" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Stop" eSuperTypes="#//EventOccurrence"/>

+  <eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Property">

+    <eOperations name="getRedefinedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="redefinedElement"/>

+        <details key="eType" value="org.eclipse.uml2.RedefinableElement"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Port/redefinedPort"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBehavior" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="false"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isService" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="required" 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">

+        <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <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="protocol" ordered="false"

+        eType="#//ProtocolStateMachine"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="EncapsulatedClassifier" abstract="true"

+      eSuperTypes="#//StructuredClassifier">

+    <eOperations name="getFeatures" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="feature"/>

+        <details key="eType" value="org.eclipse.uml2.Feature"/>

+        <details key="eOpposite" value="featuringClassifier"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//EncapsulatedClassifier/ownedPort"/>

+    </eOperations>

+    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedMember"/>

+        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

+        <details key="eOpposite" value="namespace"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//EncapsulatedClassifier/ownedPort"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPort" ordered="false"

+        upperBound="-1" eType="#//Port" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Classifier#getFeatures" value=""/>

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </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="CallTrigger" eSuperTypes="#//MessageTrigger">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"

+        lowerBound="1" eType="#//Operation"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="MessageTrigger" abstract="true" eSuperTypes="#//Trigger"/>

+  <eClassifiers xsi:type="ecore:EClass" name="ChangeTrigger" eSuperTypes="#//Trigger">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ChangeTrigger/changeExpression"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="changeExpression" ordered="false"

+        lowerBound="1" eType="#//ValueSpecification" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Trigger" abstract="true" eSuperTypes="#//PackageableElement">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false" upperBound="-1"

+        eType="#//Port"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Reception" eSuperTypes="#//BehavioralFeature">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"

+        eType="#//Signal"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//BehavioredClassifier">

+    <eOperations name="getAttributes" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="attribute"/>

+        <details key="eType" value="org.eclipse.uml2.Property"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Signal/ownedAttribute"/>

+    </eOperations>

+    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedMember"/>

+        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

+        <details key="eOpposite" value="namespace"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Signal/ownedAttribute"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"

+        eType="#//Property" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Classifier#getAttributes" value=""/>

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="SignalTrigger" eSuperTypes="#//MessageTrigger">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"

+        upperBound="-1" eType="#//Signal"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="TimeTrigger" eSuperTypes="#//Trigger">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//TimeTrigger/when"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRelative" ordered="false"

+        eType="#//Boolean"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="when" ordered="false" lowerBound="1"

+        eType="#//ValueSpecification" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="AnyTrigger" eSuperTypes="#//MessageTrigger"/>

+  <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//ConnectableElement #//TypedElement">

+    <eOperations name="getOwner" ordered="false" eType="#//Element">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="owner"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="ownedElement"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Variable/scope"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="scope" ordered="false"

+        lowerBound="1" eType="#//StructuredActivityNode" transient="true" eOpposite="#//StructuredActivityNode/variable">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="StructuredActivityNode" eSuperTypes="#//Action #//Namespace #//ActivityGroup">

+    <eOperations name="getActivity" ordered="false" eType="#//Activity">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="activity"/>

+        <details key="eType" value="org.eclipse.uml2.Activity"/>

+        <details key="eOpposite" value="structuredNode"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="redefines" references="#//ActivityNode/activity #//ActivityGroup/activityGroup_activity">

+        <details key="org.eclipse.uml2.ActivityNode#getActivity" value=""/>

+        <details key="org.eclipse.uml2.ActivityGroup#getActivityGroup_activity" value=""/>

+      </eAnnotations>

+    </eOperations>

+    <eOperations name="setActivity" ordered="false">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="activity"/>

+        <details key="eType" value="org.eclipse.uml2.Activity"/>

+        <details key="eOpposite" value="structuredNode"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="redefines" references="#//ActivityNode/activity #//ActivityGroup/activityGroup_activity">

+        <details key="org.eclipse.uml2.ActivityNode#getActivity" value=""/>

+        <details key="org.eclipse.uml2.ActivityGroup#getActivityGroup_activity" value=""/>

+      </eAnnotations>

+      <eParameters name="newActivity" eType="#//Activity"/>

+    </eOperations>

+    <eOperations name="getActivityGroup_activity" ordered="false" eType="#//Activity">

+      <eAnnotations source="feature">

+        <details key="derived" value="false"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="activityGroup_activity"/>

+        <details key="eType" value="org.eclipse.uml2.Activity"/>

+        <details key="eOpposite" value="group"/>

+        <details key="eOpposite.containment" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="redefined" references="#//StructuredActivityNode/getActivity"/>

+    </eOperations>

+    <eOperations name="setActivityGroup_activity" ordered="false">

+      <eAnnotations source="feature">

+        <details key="derived" value="false"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="activityGroup_activity"/>

+        <details key="eType" value="org.eclipse.uml2.Activity"/>

+        <details key="eOpposite" value="group"/>

+        <details key="eOpposite.containment" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="redefined" references="#//StructuredActivityNode/setActivity"/>

+      <eParameters name="newActivityGroup_activity" eType="#//Activity"/>

+    </eOperations>

+    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedMember"/>

+        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

+        <details key="eOpposite" value="namespace"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//StructuredActivityNode/variable"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="variable" ordered="false"

+        upperBound="-1" eType="#//Variable" containment="true" eOpposite="#//Variable/scope">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"

+        upperBound="-1" eType="#//ActivityNode" containment="true" eOpposite="#//ActivityNode/inStructuredNode">

+      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedNodes">

+        <details key="org.eclipse.uml2.ActivityGroup#getContainedNodes" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"

+        upperBound="-1" eType="#//ActivityEdge" containment="true" eOpposite="#//ActivityEdge/inStructuredNode">

+      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedEdges">

+        <details key="org.eclipse.uml2.ActivityGroup#getContainedEdges" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mustIsolate" ordered="false"

+        eType="#//Boolean"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ConditionalNode" eSuperTypes="#//StructuredActivityNode">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ConditionalNode/clause"/>

+    </eOperations>

+    <eOperations name="getOutputs" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="output"/>

+        <details key="eType" value="org.eclipse.uml2.OutputPin"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ConditionalNode/result"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeterminate" ordered="false"

+        eType="#//Boolean"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAssured" ordered="false"

+        eType="#//Boolean"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="clause" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//Clause" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"

+        eType="#//OutputPin" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Action#getOutputs" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Clause" eSuperTypes="#//Element">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="test" ordered="false" upperBound="-1"

+        eType="#//ActivityNode"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="body" ordered="false" upperBound="-1"

+        eType="#//ActivityNode"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="predecessorClause" ordered="false"

+        upperBound="-1" eType="#//Clause" eOpposite="#//Clause/successorClause"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="successorClause" ordered="false"

+        upperBound="-1" eType="#//Clause" eOpposite="#//Clause/predecessorClause"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="decider" ordered="false"

+        lowerBound="1" eType="#//OutputPin"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" ordered="false"

+        upperBound="-1" eType="#//OutputPin"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="LoopNode" eSuperTypes="#//StructuredActivityNode">

+    <eOperations name="getOutputs" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="output"/>

+        <details key="eType" value="org.eclipse.uml2.OutputPin"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//LoopNode/result"/>

+    </eOperations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//LoopNode/loopVariable"/>

+    </eOperations>

+    <eOperations name="getInputs" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="input"/>

+        <details key="eType" value="org.eclipse.uml2.InputPin"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//LoopNode/loopVariableInput"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTestedFirst" ordered="false"

+        eType="#//Boolean"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyPart" ordered="false"

+        upperBound="-1" eType="#//ActivityNode"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="setupPart" ordered="false"

+        upperBound="-1" eType="#//ActivityNode"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="decider" ordered="false"

+        lowerBound="1" eType="#//OutputPin"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="test" ordered="false" upperBound="-1"

+        eType="#//ActivityNode"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"

+        eType="#//OutputPin" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Action#getOutputs" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopVariable" upperBound="-1"

+        eType="#//OutputPin" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" ordered="false"

+        upperBound="-1" eType="#//OutputPin"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopVariableInput" upperBound="-1"

+        eType="#//InputPin" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Action#getInputs" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="TemplateSignature" eSuperTypes="#//Element">

     <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

@@ -4073,7 +4743,7 @@
       <eAnnotations source="superset" references="#//TemplateParameterSubstitution/ownedActual"/>

     </eStructuralFeatures>

     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedActual" ordered="false"

-        eType="#//ParameterableElement" volatile="true" containment="true">

+        upperBound="-1" eType="#//ParameterableElement" volatile="true" containment="true">

       <eAnnotations source="subsets" references="#//TemplateParameterSubstitution/actual">

         <details key="org.eclipse.uml2.TemplateParameterSubstitution#getActuals" value=""/>

         <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

@@ -4092,817 +4762,6 @@
       eSuperTypes="#//Classifier"/>

   <eClassifiers xsi:type="ecore:EClass" name="ConnectableElementTemplateParameter"

       eSuperTypes="#//TemplateParameter"/>

-  <eClassifiers xsi:type="ecore:EClass" name="Interaction" eSuperTypes="#//Behavior #//InteractionFragment">

-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-      <details key="documentation" value="The point is that the InteractionConstraint &quot;received&quot; from StructuralArchitecture will consist of a set of such units described by sequence diagrams (or collaboration diagrams)."/>

-    </eAnnotations>

-    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedMember"/>

-        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

-        <details key="eOpposite" value="namespace"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Interaction/lifeline #//Interaction/message #//Interaction/formalGate"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="lifeline" ordered="false"

-        upperBound="-1" eType="#//Lifeline" containment="true" eOpposite="#//Lifeline/interaction">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="message" ordered="false"

-        upperBound="-1" eType="#//Message" containment="true" eOpposite="#//Message/interaction">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="fragment" upperBound="-1"

-        eType="#//InteractionFragment" containment="true" eOpposite="#//InteractionFragment/enclosingInteraction"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="formalGate" ordered="false"

-        upperBound="-1" eType="#//Gate" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="InteractionFragment" abstract="true"

-      eSuperTypes="#//NamedElement">

-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-      <details key="documentation" value="An InteractionFragment is a general class that holds the common parts of CompositeFragment, AtomicFragment and InteractionExpressionOperand.&#xD;&#xA;Conceptually it is very much the same as a full sequence diagram, but a fragment is not named and must be referred then through structure."/>

-    </eAnnotations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//InteractionFragment/generalOrdering"/>

-    </eOperations>

-    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="namespace"/>

-        <details key="eType" value="org.eclipse.uml2.Namespace"/>

-        <details key="eOpposite" value="ownedMember"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//InteractionFragment/enclosingOperand"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="covered" ordered="false"

-        upperBound="-1" eType="#//Lifeline" volatile="true" eOpposite="#//Lifeline/coveredBy"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="generalOrdering" ordered="false"

-        upperBound="-1" eType="#//GeneralOrdering" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="enclosingInteraction" ordered="false"

-        eType="#//Interaction" transient="true" eOpposite="#//Interaction/fragment"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="enclosingOperand" ordered="false"

-        eType="#//InteractionOperand" transient="true" eOpposite="#//InteractionOperand/fragment">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.NamedElement#getNamespace" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Lifeline" eSuperTypes="#//NamedElement">

-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-      <details key="documentation" value="A Lifelineis the concept behind a lifeline in a Sequence &#xD;&#xA;Diagram. A Participant may be a Part or it may be a parameter representing a part. Its qualification is a Classifier which in turn may be an Interface (or ClassifierRole?)"/>

-    </eAnnotations>

-    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="namespace"/>

-        <details key="eType" value="org.eclipse.uml2.Namespace"/>

-        <details key="eOpposite" value="ownedMember"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Lifeline/interaction"/>

-    </eOperations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Lifeline/selector"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="coveredBy" ordered="false"

-        upperBound="-1" eType="#//InteractionFragment" volatile="true" eOpposite="#//InteractionFragment/covered"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="represents" ordered="false"

-        lowerBound="1" eType="#//ConnectableElement"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" ordered="false"

-        lowerBound="1" eType="#//Interaction" transient="true" eOpposite="#//Interaction/lifeline">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.NamedElement#getNamespace" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="selector" ordered="false"

-        eType="#//OpaqueExpression" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="decomposedAs" ordered="false"

-        eType="#//PartDecomposition"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Message" eSuperTypes="#//NamedElement">

-    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="namespace"/>

-        <details key="eType" value="org.eclipse.uml2.Namespace"/>

-        <details key="eOpposite" value="ownedMember"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Message/interaction"/>

-    </eOperations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Message/argument"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageKind" ordered="false"

-        eType="#//MessageKind" changeable="false" volatile="true" transient="true"

-        derived="true"/>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageSort" ordered="false"

-        eType="#//MessageSort"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="receiveEvent" ordered="false"

-        eType="#//MessageEnd" eOpposite="#//MessageEnd/receiveMessage"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="sendEvent" ordered="false"

-        eType="#//MessageEnd" eOpposite="#//MessageEnd/sendMessage"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"

-        eType="#//Connector"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" ordered="false"

-        lowerBound="1" eType="#//Interaction" transient="true" eOpposite="#//Interaction/message">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.NamedElement#getNamespace" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"

-        eType="#//NamedElement"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" ordered="false"

-        upperBound="-1" eType="#//ValueSpecification" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="GeneralOrdering" eSuperTypes="#//NamedElement">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="before" ordered="false"

-        lowerBound="1" eType="#//EventOccurrence" eOpposite="#//EventOccurrence/toAfter"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="after" ordered="false"

-        lowerBound="1" eType="#//EventOccurrence" eOpposite="#//EventOccurrence/toBefore"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EEnum" name="MessageKind">

-    <eLiterals name="complete"/>

-    <eLiterals name="lost" value="1"/>

-    <eLiterals name="found" value="2"/>

-    <eLiterals name="unknown" value="3"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EEnum" name="MessageSort">

-    <eLiterals name="synchCall"/>

-    <eLiterals name="synchSignal" value="1"/>

-    <eLiterals name="asynchCall" value="2"/>

-    <eLiterals name="asynchSignal" value="3"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="MessageEnd" abstract="true" eSuperTypes="#//NamedElement">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="receiveMessage" ordered="false"

-        eType="#//Message" eOpposite="#//Message/receiveEvent"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="sendMessage" ordered="false"

-        eType="#//Message" eOpposite="#//Message/sendEvent"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="EventOccurrence" eSuperTypes="#//InteractionFragment #//MessageEnd">

-    <eOperations name="getCovereds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="covered"/>

-        <details key="eType" value="org.eclipse.uml2.Lifeline"/>

-      </eAnnotations>

-      <eAnnotations source="redefines" references="#//InteractionFragment/covered">

-        <details key="org.eclipse.uml2.InteractionFragment#getCovereds" value=""/>

-      </eAnnotations>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="startExec" ordered="false"

-        upperBound="-1" eType="#//ExecutionOccurrence" eOpposite="#//ExecutionOccurrence/start"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="finishExec" ordered="false"

-        upperBound="-1" eType="#//ExecutionOccurrence" eOpposite="#//ExecutionOccurrence/finish"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="toAfter" ordered="false"

-        upperBound="-1" eType="#//GeneralOrdering" eOpposite="#//GeneralOrdering/before"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="toBefore" ordered="false"

-        upperBound="-1" eType="#//GeneralOrdering" eOpposite="#//GeneralOrdering/after"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ExecutionOccurrence" eSuperTypes="#//InteractionFragment">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="start" ordered="false"

-        lowerBound="1" eType="#//EventOccurrence" eOpposite="#//EventOccurrence/startExec"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="finish" ordered="false"

-        lowerBound="1" eType="#//EventOccurrence" eOpposite="#//EventOccurrence/finishExec"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"

-        upperBound="-1" eType="#//Behavior"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="StateInvariant" eSuperTypes="#//InteractionFragment">

-    <eOperations name="getCovereds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="covered"/>

-        <details key="eType" value="org.eclipse.uml2.Lifeline"/>

-      </eAnnotations>

-      <eAnnotations source="redefines" references="#//InteractionFragment/covered">

-        <details key="org.eclipse.uml2.InteractionFragment#getCovereds" value=""/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//StateInvariant/invariant"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="invariant" ordered="false"

-        lowerBound="1" eType="#//Constraint" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Stop" eSuperTypes="#//EventOccurrence"/>

-  <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//ConnectableElement #//TypedElement">

-    <eOperations name="getOwner" ordered="false" eType="#//Element">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="owner"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="ownedElement"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Variable/scope"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="scope" ordered="false"

-        lowerBound="1" eType="#//StructuredActivityNode" transient="true" eOpposite="#//StructuredActivityNode/variable">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwner" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="StructuredActivityNode" eSuperTypes="#//Action #//Namespace #//ActivityGroup">

-    <eOperations name="getActivity" ordered="false" eType="#//Activity">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="activity"/>

-        <details key="eType" value="org.eclipse.uml2.Activity"/>

-        <details key="eOpposite" value="structuredNode"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="redefines" references="#//ActivityNode/activity #//ActivityGroup/activityGroup_activity">

-        <details key="org.eclipse.uml2.ActivityNode#getActivity" value=""/>

-        <details key="org.eclipse.uml2.ActivityGroup#getActivityGroup_activity" value=""/>

-      </eAnnotations>

-    </eOperations>

-    <eOperations name="setActivity" ordered="false">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="activity"/>

-        <details key="eType" value="org.eclipse.uml2.Activity"/>

-        <details key="eOpposite" value="structuredNode"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="redefines" references="#//ActivityNode/activity #//ActivityGroup/activityGroup_activity">

-        <details key="org.eclipse.uml2.ActivityNode#getActivity" value=""/>

-        <details key="org.eclipse.uml2.ActivityGroup#getActivityGroup_activity" value=""/>

-      </eAnnotations>

-      <eParameters name="newActivity" eType="#//Activity"/>

-    </eOperations>

-    <eOperations name="getActivityGroup_activity" ordered="false" eType="#//Activity">

-      <eAnnotations source="feature">

-        <details key="derived" value="false"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="activityGroup_activity"/>

-        <details key="eType" value="org.eclipse.uml2.Activity"/>

-        <details key="eOpposite" value="group"/>

-        <details key="eOpposite.containment" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="redefined" references="#//StructuredActivityNode/getActivity"/>

-    </eOperations>

-    <eOperations name="setActivityGroup_activity" ordered="false">

-      <eAnnotations source="feature">

-        <details key="derived" value="false"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="activityGroup_activity"/>

-        <details key="eType" value="org.eclipse.uml2.Activity"/>

-        <details key="eOpposite" value="group"/>

-        <details key="eOpposite.containment" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="redefined" references="#//StructuredActivityNode/setActivity"/>

-      <eParameters name="newActivityGroup_activity" eType="#//Activity"/>

-    </eOperations>

-    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedMember"/>

-        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

-        <details key="eOpposite" value="namespace"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//StructuredActivityNode/variable"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="variable" ordered="false"

-        upperBound="-1" eType="#//Variable" containment="true" eOpposite="#//Variable/scope">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"

-        upperBound="-1" eType="#//ActivityNode" containment="true" eOpposite="#//ActivityNode/inStructuredNode">

-      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedNodes">

-        <details key="org.eclipse.uml2.ActivityGroup#getContainedNodes" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"

-        upperBound="-1" eType="#//ActivityEdge" containment="true" eOpposite="#//ActivityEdge/inStructuredNode">

-      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedEdges">

-        <details key="org.eclipse.uml2.ActivityGroup#getContainedEdges" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mustIsolate" ordered="false"

-        eType="#//Boolean"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ConditionalNode" eSuperTypes="#//StructuredActivityNode">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ConditionalNode/clause"/>

-    </eOperations>

-    <eOperations name="getOutputs" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="output"/>

-        <details key="eType" value="org.eclipse.uml2.OutputPin"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ConditionalNode/result"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeterminate" ordered="false"

-        eType="#//Boolean"/>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAssured" ordered="false"

-        eType="#//Boolean"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="clause" ordered="false"

-        lowerBound="1" upperBound="-1" eType="#//Clause" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"

-        eType="#//OutputPin" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Action#getOutputs" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Clause" eSuperTypes="#//Element">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="test" ordered="false" upperBound="-1"

-        eType="#//ActivityNode"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="body" ordered="false" upperBound="-1"

-        eType="#//ActivityNode"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="predecessorClause" ordered="false"

-        upperBound="-1" eType="#//Clause" eOpposite="#//Clause/successorClause"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="successorClause" ordered="false"

-        upperBound="-1" eType="#//Clause" eOpposite="#//Clause/predecessorClause"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="decider" ordered="false"

-        lowerBound="1" eType="#//OutputPin"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" ordered="false"

-        upperBound="-1" eType="#//OutputPin"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="LoopNode" eSuperTypes="#//StructuredActivityNode">

-    <eOperations name="getOutputs" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="output"/>

-        <details key="eType" value="org.eclipse.uml2.OutputPin"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//LoopNode/result"/>

-    </eOperations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//LoopNode/loopVariable"/>

-    </eOperations>

-    <eOperations name="getInputs" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="input"/>

-        <details key="eType" value="org.eclipse.uml2.InputPin"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//LoopNode/loopVariableInput"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTestedFirst" ordered="false"

-        eType="#//Boolean"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyPart" ordered="false"

-        upperBound="-1" eType="#//ActivityNode"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="setupPart" ordered="false"

-        upperBound="-1" eType="#//ActivityNode"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="decider" ordered="false"

-        lowerBound="1" eType="#//OutputPin"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="test" ordered="false" upperBound="-1"

-        eType="#//ActivityNode"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"

-        eType="#//OutputPin" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Action#getOutputs" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="loopVariable" upperBound="-1"

-        eType="#//OutputPin" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" ordered="false"

-        upperBound="-1" eType="#//OutputPin"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="loopVariableInput" upperBound="-1"

-        eType="#//InputPin" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Action#getInputs" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Property">

-    <eOperations name="getRedefinedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="redefinedElement"/>

-        <details key="eType" value="org.eclipse.uml2.RedefinableElement"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Port/redefinedPort"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBehavior" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="false"/>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isService" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="true"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="required" 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">

-        <details key="org.eclipse.uml2.RedefinableElement#getRedefinedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <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="protocol" ordered="false"

-        eType="#//ProtocolStateMachine"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="EncapsulatedClassifier" abstract="true"

-      eSuperTypes="#//StructuredClassifier">

-    <eOperations name="getFeatures" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="feature"/>

-        <details key="eType" value="org.eclipse.uml2.Feature"/>

-        <details key="eOpposite" value="featuringClassifier"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//EncapsulatedClassifier/ownedPort"/>

-    </eOperations>

-    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedMember"/>

-        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

-        <details key="eOpposite" value="namespace"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//EncapsulatedClassifier/ownedPort"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPort" ordered="false"

-        upperBound="-1" eType="#//Port" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Classifier#getFeatures" value=""/>

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

-      </eAnnotations>

-    </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="CallTrigger" eSuperTypes="#//MessageTrigger">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"

-        lowerBound="1" eType="#//Operation"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="MessageTrigger" abstract="true" eSuperTypes="#//Trigger"/>

-  <eClassifiers xsi:type="ecore:EClass" name="ChangeTrigger" eSuperTypes="#//Trigger">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ChangeTrigger/changeExpression"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="changeExpression" ordered="false"

-        lowerBound="1" eType="#//ValueSpecification" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Trigger" abstract="true" eSuperTypes="#//PackageableElement">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false" upperBound="-1"

-        eType="#//Port"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Reception" eSuperTypes="#//BehavioralFeature">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"

-        eType="#//Signal"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//BehavioredClassifier">

-    <eOperations name="getAttributes" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="attribute"/>

-        <details key="eType" value="org.eclipse.uml2.Property"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Signal/ownedAttribute"/>

-    </eOperations>

-    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedMember"/>

-        <details key="eType" value="org.eclipse.uml2.NamedElement"/>

-        <details key="eOpposite" value="namespace"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Signal/ownedAttribute"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"

-        eType="#//Property" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Classifier#getAttributes" value=""/>

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="SignalTrigger" eSuperTypes="#//MessageTrigger">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"

-        upperBound="-1" eType="#//Signal"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="TimeTrigger" eSuperTypes="#//Trigger">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//TimeTrigger/when"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRelative" ordered="false"

-        eType="#//Boolean"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="when" ordered="false" lowerBound="1"

-        eType="#//ValueSpecification" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="AnyTrigger" eSuperTypes="#//MessageTrigger"/>

-  <eClassifiers xsi:type="ecore:EClass" name="InteractionOccurrence" eSuperTypes="#//InteractionFragment">

-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-      <details key="documentation" value="A reference to an interaction with actual values. The interpretation is that the sequence diagram replaces the reference (with actual parameters substituted)"/>

-    </eAnnotations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//InteractionOccurrence/actualGate"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="refersTo" ordered="false"

-        lowerBound="1" eType="#//Interaction"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="actualGate" ordered="false"

-        upperBound="-1" eType="#//Gate" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" ordered="false"

-        upperBound="-1" eType="#//InputPin" containment="true"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Gate" eSuperTypes="#//MessageEnd">

-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-      <details key="documentation" value="A gate is a connection point. When the conceptual replacement of InteractionReferences with its referred Sequence Diagram is done, the actual gates of the reference must match the formal gates of the sequence diagram.&#xD;&#xA;More implicitly the unnamed gate of the atomic fragment match adjacent fragment gates.&#xD;&#xA;Expression gates are found on the border of the expression and they serve both as formal and actual gates. (Details to be explained other place)"/>

-    </eAnnotations>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="PartDecomposition" eSuperTypes="#//InteractionOccurrence">

-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-      <details key="documentation" value="A part decomposition is a special InteractionReference that defines the behavior within one interacting entity (Part) in one sequence diagram."/>

-    </eAnnotations>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="InteractionOperand" eSuperTypes="#//Namespace #//InteractionFragment">

-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-      <details key="documentation" value="An InteractionExpressionOperand is of course an InteractionFragment such that expressions can be nested freely.&#xD;&#xA;An operand may be guarded. If the guard evaluates to true, the operand is eligible in the expression, otherwise it is ignored. (very intuitively speaking, formalization has been done in Z.120 Annex B)"/>

-    </eAnnotations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//InteractionOperand/guard"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"

-        eType="#//InteractionConstraint" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="fragment" upperBound="-1"

-        eType="#//InteractionFragment" containment="true" eOpposite="#//InteractionFragment/enclosingOperand"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="InteractionConstraint" eSuperTypes="#//Constraint">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//InteractionConstraint/minint #//InteractionConstraint/maxint"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="minint" ordered="false"

-        eType="#//ValueSpecification" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="maxint" ordered="false"

-        eType="#//ValueSpecification" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EEnum" name="InteractionOperator">

-    <eLiterals name="seq"/>

-    <eLiterals name="alt" value="1"/>

-    <eLiterals name="opt" value="2"/>

-    <eLiterals name="break" value="3"/>

-    <eLiterals name="par" value="4"/>

-    <eLiterals name="strict" value="5"/>

-    <eLiterals name="loop" value="6"/>

-    <eLiterals name="critical" value="7"/>

-    <eLiterals name="neg" value="8"/>

-    <eLiterals name="assert" value="9"/>

-    <eLiterals name="ignore" value="10"/>

-    <eLiterals name="consider" value="11"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="CombinedFragment" eSuperTypes="#//InteractionFragment">

-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

-      <details key="documentation" value="An interaction fragment that decomposes into a set of other interaction fragments under some operator.&#xD;&#xA;In principle the whole sequence diagram is an combined interaction. Syntactically, however, we will have special notation for combineations such that operands may be easily distinguished.&#xD;&#xA;Combined interactions consist of operands and an implicit or explicit operator"/>

-    </eAnnotations>

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//CombinedFragment/operand #//CombinedFragment/cfragmentGate"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="interactionOperator" ordered="false"

-        eType="#//InteractionOperator"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="operand" ordered="false"

-        lowerBound="1" upperBound="-1" eType="#//InteractionOperand" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="cfragmentGate" ordered="false"

-        upperBound="-1" eType="#//Gate" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Continuation" eSuperTypes="#//InteractionFragment">

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="setting" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="True"/>

-  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//Behavior">

     <eOperations name="getRedefinedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

@@ -5234,6 +5093,77 @@
     <eLiterals name="terminate" value="9"/>

   </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//State"/>

+  <eClassifiers xsi:type="ecore:EClass" name="ForkNode" eSuperTypes="#//ControlNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="JoinNode" eSuperTypes="#//ControlNode">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//JoinNode/joinSpec"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCombineDuplicate" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="joinSpec" ordered="false"

+        lowerBound="1" eType="#//ValueSpecification" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="FlowFinalNode" eSuperTypes="#//FinalNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="CentralBufferNode" eSuperTypes="#//ObjectNode"/>

+  <eClassifiers xsi:type="ecore:EClass" name="ActivityPartition" eSuperTypes="#//NamedElement #//ActivityGroup">

+    <eOperations name="getSuperGroup" ordered="false" eType="#//ActivityGroup">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="containment" value="false"/>

+        <details key="name" value="superGroup"/>

+        <details key="eType" value="org.eclipse.uml2.ActivityGroup"/>

+        <details key="eOpposite" value="subgroup"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ActivityPartition/superPartition"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDimension" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="false"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isExternal" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="false"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"

+        upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/inPartition">

+      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedEdges">

+        <details key="org.eclipse.uml2.ActivityGroup#getContainedEdges" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"

+        upperBound="-1" eType="#//ActivityNode" eOpposite="#//ActivityNode/inPartition">

+      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedNodes">

+        <details key="org.eclipse.uml2.ActivityGroup#getContainedNodes" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="subgroup" ordered="false"

+        upperBound="-1" eType="#//ActivityPartition" containment="true" eOpposite="#//ActivityPartition/superPartition">

+      <eAnnotations source="redefines" references="#//ActivityGroup/getSubgroups">

+        <details key="org.eclipse.uml2.ActivityGroup#getSubgroups" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="superPartition" ordered="false"

+        eType="#//ActivityPartition" transient="true" eOpposite="#//ActivityPartition/subgroup">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.ActivityGroup#getSuperGroup" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="represents" ordered="false"

+        eType="#//Element"/>

+  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="CreateObjectAction" eSuperTypes="#//Action">

     <eOperations name="getOutputs" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

@@ -5699,8 +5629,10 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"

         lowerBound="1" eType="#//Behavior"/>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ForkNode" eSuperTypes="#//ControlNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="JoinNode" eSuperTypes="#//ControlNode">

+  <eClassifiers xsi:type="ecore:EClass" name="InteractionOccurrence" eSuperTypes="#//InteractionFragment">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+      <details key="documentation" value="A reference to an interaction with actual values. The interpretation is that the sequence diagram replaces the reference (with actual parameters substituted)"/>

+    </eAnnotations>

     <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

         <details key="derived" value="true"/>

@@ -5712,63 +5644,131 @@
         <details key="containment" value="false"/>

         <details key="eOpposite.lowerBound" value="0"/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//JoinNode/joinSpec"/>

+      <eAnnotations source="union" references="#//InteractionOccurrence/actualGate"/>

     </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCombineDuplicate" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="true"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="joinSpec" ordered="false"

-        lowerBound="1" eType="#//ValueSpecification" containment="true">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="refersTo" ordered="false"

+        lowerBound="1" eType="#//Interaction"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="actualGate" ordered="false"

+        upperBound="-1" eType="#//Gate" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" ordered="false"

+        upperBound="-1" eType="#//InputPin" containment="true"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Gate" eSuperTypes="#//MessageEnd">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+      <details key="documentation" value="A gate is a connection point. When the conceptual replacement of InteractionReferences with its referred Sequence Diagram is done, the actual gates of the reference must match the formal gates of the sequence diagram.&#xD;&#xA;More implicitly the unnamed gate of the atomic fragment match adjacent fragment gates.&#xD;&#xA;Expression gates are found on the border of the expression and they serve both as formal and actual gates. (Details to be explained other place)"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="PartDecomposition" eSuperTypes="#//InteractionOccurrence">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+      <details key="documentation" value="A part decomposition is a special InteractionReference that defines the behavior within one interacting entity (Part) in one sequence diagram."/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InteractionOperand" eSuperTypes="#//Namespace #//InteractionFragment">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+      <details key="documentation" value="An InteractionExpressionOperand is of course an InteractionFragment such that expressions can be nested freely.&#xD;&#xA;An operand may be guarded. If the guard evaluates to true, the operand is eligible in the expression, otherwise it is ignored. (very intuitively speaking, formalization has been done in Z.120 Annex B)"/>

+    </eAnnotations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//InteractionOperand/guard"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"

+        eType="#//InteractionConstraint" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="fragment" upperBound="-1"

+        eType="#//InteractionFragment" containment="true" eOpposite="#//InteractionFragment/enclosingOperand"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InteractionConstraint" eSuperTypes="#//Constraint">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//InteractionConstraint/minint #//InteractionConstraint/maxint"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="minint" ordered="false"

+        eType="#//ValueSpecification" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="maxint" ordered="false"

+        eType="#//ValueSpecification" containment="true">

       <eAnnotations source="subsets">

         <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="FlowFinalNode" eSuperTypes="#//FinalNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="CentralBufferNode" eSuperTypes="#//ObjectNode"/>

-  <eClassifiers xsi:type="ecore:EClass" name="ActivityPartition" eSuperTypes="#//NamedElement #//ActivityGroup">

-    <eOperations name="getSuperGroup" ordered="false" eType="#//ActivityGroup">

+  <eClassifiers xsi:type="ecore:EEnum" name="InteractionOperator">

+    <eLiterals name="seq"/>

+    <eLiterals name="alt" value="1"/>

+    <eLiterals name="opt" value="2"/>

+    <eLiterals name="break" value="3"/>

+    <eLiterals name="par" value="4"/>

+    <eLiterals name="strict" value="5"/>

+    <eLiterals name="loop" value="6"/>

+    <eLiterals name="critical" value="7"/>

+    <eLiterals name="neg" value="8"/>

+    <eLiterals name="assert" value="9"/>

+    <eLiterals name="ignore" value="10"/>

+    <eLiterals name="consider" value="11"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CombinedFragment" eSuperTypes="#//InteractionFragment">

+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+      <details key="documentation" value="An interaction fragment that decomposes into a set of other interaction fragments under some operator.&#xD;&#xA;In principle the whole sequence diagram is an combined interaction. Syntactically, however, we will have special notation for combineations such that operands may be easily distinguished.&#xD;&#xA;Combined interactions consist of operands and an implicit or explicit operator"/>

+    </eAnnotations>

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

         <details key="derived" value="true"/>

-        <details key="containment" value="false"/>

-        <details key="name" value="superGroup"/>

-        <details key="eType" value="org.eclipse.uml2.ActivityGroup"/>

-        <details key="eOpposite" value="subgroup"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

         <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

         <details key="eOpposite.lowerBound" value="0"/>

-        <details key="eOpposite.upperBound" value="-1"/>

       </eAnnotations>

-      <eAnnotations source="union" references="#//ActivityPartition/superPartition"/>

+      <eAnnotations source="union" references="#//CombinedFragment/operand #//CombinedFragment/cfragmentGate"/>

     </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDimension" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="false"/>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isExternal" ordered="false"

-        eType="#//Boolean" defaultValueLiteral="false"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"

-        upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/inPartition">

-      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedEdges">

-        <details key="org.eclipse.uml2.ActivityGroup#getContainedEdges" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"

-        upperBound="-1" eType="#//ActivityNode" eOpposite="#//ActivityNode/inPartition">

-      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedNodes">

-        <details key="org.eclipse.uml2.ActivityGroup#getContainedNodes" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="subgroup" ordered="false"

-        upperBound="-1" eType="#//ActivityPartition" containment="true" eOpposite="#//ActivityPartition/superPartition">

-      <eAnnotations source="redefines" references="#//ActivityGroup/getSubgroups">

-        <details key="org.eclipse.uml2.ActivityGroup#getSubgroups" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="superPartition" ordered="false"

-        eType="#//ActivityPartition" transient="true" eOpposite="#//ActivityPartition/subgroup">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="interactionOperator" ordered="false"

+        eType="#//InteractionOperator"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operand" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//InteractionOperand" containment="true">

       <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.ActivityGroup#getSuperGroup" value=""/>

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

       </eAnnotations>

     </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="represents" ordered="false"

-        eType="#//Element"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="cfragmentGate" ordered="false"

+        upperBound="-1" eType="#//Gate" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Continuation" eSuperTypes="#//InteractionFragment">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="setting" ordered="false"

+        eType="#//Boolean" defaultValueLiteral="True"/>

   </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="ExpansionNode" eSuperTypes="#//ObjectNode">

     <eStructuralFeatures xsi:type="ecore:EReference" name="regionAsOutput" ordered="false"

@@ -5924,6 +5924,60 @@
       </eAnnotations>

     </eStructuralFeatures>

   </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//Class">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//Component/realization"/>

+    </eOperations>

+    <eOperations name="getClientDependencies" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="false"/>

+        <details key="eOpposite.upperBound" value="-1"/>

+        <details key="name" value="clientDependency"/>

+        <details key="eType" value="org.eclipse.uml2.Dependency"/>

+        <details key="eOpposite" value="client"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="1"/>

+      </eAnnotations>

+      <eAnnotations source="superset" references="#//Component/realization"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isIndirectlyInstantiated"

+        ordered="false" eType="#//Boolean"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="required" ordered="false"

+        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"

+        derived="true"/>

+    <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="realization" ordered="false"

+        upperBound="-1" eType="#//Realization" volatile="true" containment="true"

+        eOpposite="#//Realization/abstraction">

+      <eAnnotations source="subsets" references="#//NamedElement/clientDependency">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+        <details key="org.eclipse.uml2.NamedElement#getClientDependencies" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedMember" ordered="false"

+        upperBound="-1" eType="#//PackageableElement" containment="true">

+      <eAnnotations source="redefines" references="#//Namespace/getOwnedMembers">

+        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="ConnectorKind">

+    <eLiterals name="assembly"/>

+    <eLiterals name="delegation" value="1"/>

+  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="TimeExpression" eSuperTypes="#//ValueSpecification">

     <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstTime" ordered="false"

         eType="#//Boolean" defaultValueLiteral="True"/>

@@ -6133,52 +6187,6 @@
       <eParameters name="newSpecification" eType="#//ValueSpecification"/>

     </eOperations>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="DataStoreNode" eSuperTypes="#//CentralBufferNode"/>

-  <eClassifiers xsi:type="ecore:EEnum" name="ParameterEffectKind">

-    <eLiterals name="create"/>

-    <eLiterals name="read" value="1"/>

-    <eLiterals name="update" value="2"/>

-    <eLiterals name="delete" value="3"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="InterruptibleActivityRegion" eSuperTypes="#//ActivityGroup">

-    <eStructuralFeatures xsi:type="ecore:EReference" name="interruptingEdge" ordered="false"

-        upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/interrupts"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"

-        upperBound="-1" eType="#//ActivityNode" eOpposite="#//ActivityNode/inInterruptibleRegion">

-      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedNodes">

-        <details key="org.eclipse.uml2.ActivityGroup#getContainedNodes" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EEnum" name="ObjectNodeOrderingKind">

-    <eLiterals name="unordered"/>

-    <eLiterals name="ordered" value="1"/>

-    <eLiterals name="LIFO" value="2"/>

-    <eLiterals name="FIFO" value="3"/>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="ParameterSet" eSuperTypes="#//NamedElement">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//ParameterSet/condition"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"

-        lowerBound="1" upperBound="-1" eType="#//Parameter" eOpposite="#//Parameter/parameterSet"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" ordered="false"

-        upperBound="-1" eType="#//Constraint" containment="true">

-      <eAnnotations source="subsets">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="ReadExtentAction" eSuperTypes="#//Action">

     <eOperations name="getOutputs" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

       <eAnnotations source="feature">

@@ -6472,60 +6480,6 @@
       </eAnnotations>

     </eStructuralFeatures>

   </eClassifiers>

-  <eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//Class">

-    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="true"/>

-        <details key="eOpposite.upperBound" value="1"/>

-        <details key="name" value="ownedElement"/>

-        <details key="eType" value="org.eclipse.uml2.Element"/>

-        <details key="eOpposite" value="owner"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="0"/>

-      </eAnnotations>

-      <eAnnotations source="union" references="#//Component/realization"/>

-    </eOperations>

-    <eOperations name="getClientDependencies" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

-      <eAnnotations source="feature">

-        <details key="derived" value="false"/>

-        <details key="eOpposite.upperBound" value="-1"/>

-        <details key="name" value="clientDependency"/>

-        <details key="eType" value="org.eclipse.uml2.Dependency"/>

-        <details key="eOpposite" value="client"/>

-        <details key="eOpposite.containment" value="false"/>

-        <details key="containment" value="false"/>

-        <details key="eOpposite.lowerBound" value="1"/>

-      </eAnnotations>

-      <eAnnotations source="superset" references="#//Component/realization"/>

-    </eOperations>

-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isIndirectlyInstantiated"

-        ordered="false" eType="#//Boolean"/>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="required" ordered="false"

-        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"

-        derived="true"/>

-    <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="realization" ordered="false"

-        upperBound="-1" eType="#//Realization" volatile="true" containment="true"

-        eOpposite="#//Realization/abstraction">

-      <eAnnotations source="subsets" references="#//NamedElement/clientDependency">

-        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

-        <details key="org.eclipse.uml2.NamedElement#getClientDependencies" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedMember" ordered="false"

-        upperBound="-1" eType="#//PackageableElement" containment="true">

-      <eAnnotations source="redefines" references="#//Namespace/getOwnedMembers">

-        <details key="org.eclipse.uml2.Namespace#getOwnedMembers" value=""/>

-      </eAnnotations>

-    </eStructuralFeatures>

-  </eClassifiers>

-  <eClassifiers xsi:type="ecore:EEnum" name="ConnectorKind">

-    <eLiterals name="assembly"/>

-    <eLiterals name="delegation" value="1"/>

-  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="Deployment" eSuperTypes="#//Dependency">

     <eOperations name="getSuppliers" ordered="false" lowerBound="1" upperBound="-1"

         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

@@ -6665,6 +6619,52 @@
   <eClassifiers xsi:type="ecore:EClass" name="Device" eSuperTypes="#//Node"/>

   <eClassifiers xsi:type="ecore:EClass" name="ExecutionEnvironment" eSuperTypes="#//Node"/>

   <eClassifiers xsi:type="ecore:EClass" name="CommunicationPath" eSuperTypes="#//Association"/>

+  <eClassifiers xsi:type="ecore:EClass" name="DataStoreNode" eSuperTypes="#//CentralBufferNode"/>

+  <eClassifiers xsi:type="ecore:EEnum" name="ParameterEffectKind">

+    <eLiterals name="create"/>

+    <eLiterals name="read" value="1"/>

+    <eLiterals name="update" value="2"/>

+    <eLiterals name="delete" value="3"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InterruptibleActivityRegion" eSuperTypes="#//ActivityGroup">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="interruptingEdge" ordered="false"

+        upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/interrupts"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"

+        upperBound="-1" eType="#//ActivityNode" eOpposite="#//ActivityNode/inInterruptibleRegion">

+      <eAnnotations source="redefines" references="#//ActivityGroup/getContainedNodes">

+        <details key="org.eclipse.uml2.ActivityGroup#getContainedNodes" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="ObjectNodeOrderingKind">

+    <eLiterals name="unordered"/>

+    <eLiterals name="ordered" value="1"/>

+    <eLiterals name="LIFO" value="2"/>

+    <eLiterals name="FIFO" value="3"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ParameterSet" eSuperTypes="#//NamedElement">

+    <eOperations name="getOwnedElements" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">

+      <eAnnotations source="feature">

+        <details key="derived" value="true"/>

+        <details key="eOpposite.upperBound" value="1"/>

+        <details key="name" value="ownedElement"/>

+        <details key="eType" value="org.eclipse.uml2.Element"/>

+        <details key="eOpposite" value="owner"/>

+        <details key="eOpposite.containment" value="false"/>

+        <details key="containment" value="false"/>

+        <details key="eOpposite.lowerBound" value="0"/>

+      </eAnnotations>

+      <eAnnotations source="union" references="#//ParameterSet/condition"/>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//Parameter" eOpposite="#//Parameter/parameterSet"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" ordered="false"

+        upperBound="-1" eType="#//Constraint" containment="true">

+      <eAnnotations source="subsets">

+        <details key="org.eclipse.uml2.Element#getOwnedElements" value=""/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

   <eClassifiers xsi:type="ecore:EClass" name="DeploymentSpecification" eSuperTypes="#//Artifact">

     <eStructuralFeatures xsi:type="ecore:EAttribute" name="deploymentLocation" ordered="false"

         eType="#//String" defaultValueLiteral=""/>

diff --git a/deprecated/plugins/org.eclipse.uml2/model/UML2.genmodel b/deprecated/plugins/org.eclipse.uml2/model/UML2.genmodel
index 06a3b02..3d2251c 100644
--- a/deprecated/plugins/org.eclipse.uml2/model/UML2.genmodel
+++ b/deprecated/plugins/org.eclipse.uml2/model/UML2.genmodel
@@ -45,20 +45,6 @@
       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//CallConcurrencyKind/guarded"/>

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//CallConcurrencyKind/concurrent"/>

     </genEnums>

-    <genEnums ecoreEnum="UML2.ecore#//InteractionOperator">

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/seq"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/alt"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/opt"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/break"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/par"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/strict"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/loop"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/critical"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/neg"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/assert"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/ignore"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/consider"/>

-    </genEnums>

     <genEnums ecoreEnum="UML2.ecore#//TransitionKind">

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//TransitionKind/internal"/>

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//TransitionKind/local"/>

@@ -76,11 +62,29 @@
       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//PseudostateKind/exitPoint"/>

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//PseudostateKind/terminate"/>

     </genEnums>

+    <genEnums ecoreEnum="UML2.ecore#//InteractionOperator">

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/seq"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/alt"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/opt"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/break"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/par"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/strict"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/loop"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/critical"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/neg"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/assert"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/ignore"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//InteractionOperator/consider"/>

+    </genEnums>

     <genEnums ecoreEnum="UML2.ecore#//ExpansionKind">

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ExpansionKind/parallel"/>

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ExpansionKind/iterative"/>

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ExpansionKind/stream"/>

     </genEnums>

+    <genEnums ecoreEnum="UML2.ecore#//ConnectorKind">

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ConnectorKind/assembly"/>

+      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ConnectorKind/delegation"/>

+    </genEnums>

     <genEnums ecoreEnum="UML2.ecore#//ParameterEffectKind">

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ParameterEffectKind/create"/>

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ParameterEffectKind/read"/>

@@ -93,10 +97,6 @@
       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ObjectNodeOrderingKind/LIFO"/>

       <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ObjectNodeOrderingKind/FIFO"/>

     </genEnums>

-    <genEnums ecoreEnum="UML2.ecore#//ConnectorKind">

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ConnectorKind/assembly"/>

-      <genEnumLiterals ecoreEnumLiteral="UML2.ecore#//ConnectorKind/delegation"/>

-    </genEnums>

     <genDataTypes ecoreDataType="UML2.ecore#//Integer"/>

     <genDataTypes ecoreDataType="UML2.ecore#//Boolean"/>

     <genDataTypes ecoreDataType="UML2.ecore#//String"/>

@@ -137,6 +137,62 @@
       <genOperations ecoreOperation="UML2.ecore#//MultiplicityElement/upper"/>

       <genOperations ecoreOperation="UML2.ecore#//MultiplicityElement/getOwnedElements"/>

     </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//NamedElement">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//NamedElement/name"/>

+      <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//NamedElement/qualifiedName.1"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//NamedElement/visibility"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//NamedElement/clientDependency"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//NamedElement/nameExpression"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/validateNoName"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/validateQualifiedName"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/allNamespaces"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/isDistinguishableFrom">

+        <genParameters ecoreParameter="UML2.ecore#//NamedElement/isDistinguishableFrom/n"/>

+        <genParameters ecoreParameter="UML2.ecore#//NamedElement/isDistinguishableFrom/ns"/>

+      </genOperations>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/separator"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/qualifiedName"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/validateVisibilityNeedsOwnership"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/getNamespace"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/getOwner"/>

+      <genOperations ecoreOperation="UML2.ecore#//NamedElement/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Namespace">

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/member"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/ownedRule"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/importedMember.1"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/elementImport"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/packageImport"/>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/validateMembersAreDistinguishable"/>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/getNamesOfMember">

+        <genParameters ecoreParameter="UML2.ecore#//Namespace/getNamesOfMember/element"/>

+      </genOperations>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/membersAreDistinguishable"/>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/validateImportedMemberDerived"/>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/importedMember"/>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/importMembers">

+        <genParameters ecoreParameter="UML2.ecore#//Namespace/importMembers/imps"/>

+      </genOperations>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/excludeCollisions">

+        <genParameters ecoreParameter="UML2.ecore#//Namespace/excludeCollisions/imps"/>

+      </genOperations>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/getOwnedMembers"/>

+      <genOperations ecoreOperation="UML2.ecore#//Namespace/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Comment">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Comment/body"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Comment/annotatedElement"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Comment/bodyExpression"/>

+      <genOperations ecoreOperation="UML2.ecore#//Comment/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//DirectedRelationship">

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//DirectedRelationship/source"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//DirectedRelationship/target"/>

+      <genOperations ecoreOperation="UML2.ecore#//DirectedRelationship/getRelatedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Relationship">

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Relationship/relatedElement"/>

+    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//OpaqueExpression">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//OpaqueExpression/body"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//OpaqueExpression/language"/>

@@ -156,12 +212,6 @@
       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Expression/operand"/>

       <genOperations ecoreOperation="UML2.ecore#//Expression/getOwnedElements"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Comment">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Comment/body"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Comment/annotatedElement"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Comment/bodyExpression"/>

-      <genOperations ecoreOperation="UML2.ecore#//Comment/getOwnedElements"/>

-    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//Class">

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Class/ownedOperation"/>

       <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Class/superClass"/>

@@ -281,26 +331,6 @@
       <genOperations ecoreOperation="UML2.ecore#//Parameter/getNamespace"/>

       <genOperations ecoreOperation="UML2.ecore#//Parameter/getOwnedElements"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//NamedElement">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//NamedElement/name"/>

-      <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//NamedElement/qualifiedName.1"/>

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//NamedElement/visibility"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//NamedElement/clientDependency"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//NamedElement/nameExpression"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/validateNoName"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/validateQualifiedName"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/allNamespaces"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/isDistinguishableFrom">

-        <genParameters ecoreParameter="UML2.ecore#//NamedElement/isDistinguishableFrom/n"/>

-        <genParameters ecoreParameter="UML2.ecore#//NamedElement/isDistinguishableFrom/ns"/>

-      </genOperations>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/separator"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/qualifiedName"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/validateVisibilityNeedsOwnership"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/getNamespace"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/getOwner"/>

-      <genOperations ecoreOperation="UML2.ecore#//NamedElement/getOwnedElements"/>

-    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//Package">

       <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Package/nestedPackage"/>

       <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Package/nestingPackage"/>

@@ -338,36 +368,6 @@
       <genOperations ecoreOperation="UML2.ecore#//EnumerationLiteral/getNamespace"/>

     </genClasses>

     <genClasses ecoreClass="UML2.ecore#//PrimitiveType"/>

-    <genClasses ecoreClass="UML2.ecore#//Namespace">

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/member"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/ownedRule"/>

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/importedMember.1"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/elementImport"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Namespace/packageImport"/>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/validateMembersAreDistinguishable"/>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/getNamesOfMember">

-        <genParameters ecoreParameter="UML2.ecore#//Namespace/getNamesOfMember/element"/>

-      </genOperations>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/membersAreDistinguishable"/>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/validateImportedMemberDerived"/>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/importedMember"/>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/importMembers">

-        <genParameters ecoreParameter="UML2.ecore#//Namespace/importMembers/imps"/>

-      </genOperations>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/excludeCollisions">

-        <genParameters ecoreParameter="UML2.ecore#//Namespace/excludeCollisions/imps"/>

-      </genOperations>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/getOwnedMembers"/>

-      <genOperations ecoreOperation="UML2.ecore#//Namespace/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//DirectedRelationship">

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//DirectedRelationship/source"/>

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//DirectedRelationship/target"/>

-      <genOperations ecoreOperation="UML2.ecore#//DirectedRelationship/getRelatedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Relationship">

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Relationship/relatedElement"/>

-    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//Constraint">

       <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Constraint/context"/>

       <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Constraint/namespace"/>

@@ -409,8 +409,8 @@
       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/generalization"/>

       <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/attribute"/>

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/redefinedClassifier"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/powertypeExtent"/>

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/substitution"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/powertypeExtent"/>

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/ownedUseCase"/>

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/representation"/>

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Classifier/occurrence"/>

@@ -475,6 +475,19 @@
       <genOperations ecoreOperation="UML2.ecore#//Generalization/getOwner"/>

       <genOperations ecoreOperation="UML2.ecore#//Generalization/getTargets"/>

     </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//RedefinableElement">

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//RedefinableElement/redefinitionContext"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//RedefinableElement/isLeaf"/>

+      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/validateRedefinitionContextValid"/>

+      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/validateRedefinitionConsistent"/>

+      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/isConsistentWith">

+        <genParameters ecoreParameter="UML2.ecore#//RedefinableElement/isConsistentWith/redefinee"/>

+      </genOperations>

+      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/isRedefinitionContextValid">

+        <genParameters ecoreParameter="UML2.ecore#//RedefinableElement/isRedefinitionContextValid/redefinable"/>

+      </genOperations>

+      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/getRedefinedElements"/>

+    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//InstanceSpecification">

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InstanceSpecification/slot"/>

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InstanceSpecification/classifier"/>

@@ -493,19 +506,6 @@
     <genClasses ecoreClass="UML2.ecore#//InstanceValue">

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InstanceValue/instance"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//RedefinableElement">

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//RedefinableElement/redefinitionContext"/>

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//RedefinableElement/isLeaf"/>

-      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/validateRedefinitionContextValid"/>

-      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/validateRedefinitionConsistent"/>

-      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/isConsistentWith">

-        <genParameters ecoreParameter="UML2.ecore#//RedefinableElement/isConsistentWith/redefinee"/>

-      </genOperations>

-      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/isRedefinitionContextValid">

-        <genParameters ecoreParameter="UML2.ecore#//RedefinableElement/isRedefinitionContextValid/redefinable"/>

-      </genOperations>

-      <genOperations ecoreOperation="UML2.ecore#//RedefinableElement/getRedefinedElements"/>

-    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//PackageableElement">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//PackageableElement/packageableElement_visibility"/>

       <genOperations ecoreOperation="UML2.ecore#//PackageableElement/getVisibility"/>

@@ -576,23 +576,6 @@
         <genParameters ecoreParameter="UML2.ecore#//ExtensionEnd/setType/newType"/>

       </genOperations>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//AssociationClass"/>

-    <genClasses ecoreClass="UML2.ecore#//GeneralizationSet">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//GeneralizationSet/isCovering"/>

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//GeneralizationSet/isDisjoint"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//GeneralizationSet/powertype"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//GeneralizationSet/generalization"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//InformationItem">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InformationItem/represented"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//InformationFlow">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InformationFlow/realization"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InformationFlow/conveyed"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Model">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Model/viewpoint"/>

-    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//Permission"/>

     <genClasses ecoreClass="UML2.ecore#//Dependency">

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Dependency/client"/>

@@ -655,6 +638,113 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Activity/isReadOnly"/>

       <genOperations ecoreOperation="UML2.ecore#//Activity/getOwnedElements"/>

     </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//AssociationClass"/>

+    <genClasses ecoreClass="UML2.ecore#//Model">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Model/viewpoint"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//InformationItem">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InformationItem/represented"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//InformationFlow">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InformationFlow/realization"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InformationFlow/conveyed"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//GeneralizationSet">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//GeneralizationSet/isCovering"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//GeneralizationSet/isDisjoint"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//GeneralizationSet/powertype"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//GeneralizationSet/generalization"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//ConnectorEnd">

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ConnectorEnd/definingEnd"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ConnectorEnd/role"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ConnectorEnd/partWithPort"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//ConnectableElement">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ConnectableElement/end"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Connector">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Connector/type"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Connector/redefinedConnector"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Connector/end"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Connector/kind"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Connector/contract"/>

+      <genOperations ecoreOperation="UML2.ecore#//Connector/getRedefinedElements"/>

+      <genOperations ecoreOperation="UML2.ecore#//Connector/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//StructuredClassifier">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//StructuredClassifier/ownedAttribute"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//StructuredClassifier/part"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//StructuredClassifier/role"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//StructuredClassifier/ownedConnector"/>

+      <genOperations ecoreOperation="UML2.ecore#//StructuredClassifier/getAttributes"/>

+      <genOperations ecoreOperation="UML2.ecore#//StructuredClassifier/getOwnedMembers"/>

+      <genOperations ecoreOperation="UML2.ecore#//StructuredClassifier/getMembers"/>

+      <genOperations ecoreOperation="UML2.ecore#//StructuredClassifier/getFeatures"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Interface">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/ownedAttribute"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/ownedOperation"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Interface/redefinedInterface"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/nestedClassifier"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/ownedReception"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/protocol"/>

+      <genOperations ecoreOperation="UML2.ecore#//Interface/getAttributes"/>

+      <genOperations ecoreOperation="UML2.ecore#//Interface/getOwnedMembers"/>

+      <genOperations ecoreOperation="UML2.ecore#//Interface/getFeatures"/>

+      <genOperations ecoreOperation="UML2.ecore#//Interface/getRedefinedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Implementation">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Implementation/contract"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Implementation/implementingClassifier"/>

+      <genOperations ecoreOperation="UML2.ecore#//Implementation/getSuppliers"/>

+      <genOperations ecoreOperation="UML2.ecore#//Implementation/getTargets"/>

+      <genOperations ecoreOperation="UML2.ecore#//Implementation/getClients"/>

+      <genOperations ecoreOperation="UML2.ecore#//Implementation/getSources"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Actor"/>

+    <genClasses ecoreClass="UML2.ecore#//Extend">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Extend/extendedCase"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Extend/extension"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Extend/condition"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Extend/extensionLocation"/>

+      <genOperations ecoreOperation="UML2.ecore#//Extend/getTargets"/>

+      <genOperations ecoreOperation="UML2.ecore#//Extend/getSources"/>

+      <genOperations ecoreOperation="UML2.ecore#//Extend/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//UseCase">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//UseCase/include"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//UseCase/extend"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//UseCase/extensionPoint"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//UseCase/subject"/>

+      <genOperations ecoreOperation="UML2.ecore#//UseCase/getOwnedMembers"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//ExtensionPoint">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ExtensionPoint/useCase"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Include">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Include/includingCase"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Include/addition"/>

+      <genOperations ecoreOperation="UML2.ecore#//Include/getSources"/>

+      <genOperations ecoreOperation="UML2.ecore#//Include/getTargets"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Artifact">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Artifact/fileName"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Artifact/nestedArtifact"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Artifact/manifestation"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Artifact/ownedOperation"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Artifact/ownedAttribute"/>

+      <genOperations ecoreOperation="UML2.ecore#//Artifact/getOwnedElements"/>

+      <genOperations ecoreOperation="UML2.ecore#//Artifact/getClientDependencies"/>

+      <genOperations ecoreOperation="UML2.ecore#//Artifact/getFeatures"/>

+      <genOperations ecoreOperation="UML2.ecore#//Artifact/getOwnedMembers"/>

+      <genOperations ecoreOperation="UML2.ecore#//Artifact/getAttributes"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Manifestation">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Manifestation/utilizedElement"/>

+      <genOperations ecoreOperation="UML2.ecore#//Manifestation/getSuppliers"/>

+      <genOperations ecoreOperation="UML2.ecore#//Manifestation/getTargets"/>

+    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//ActivityEdge">

       <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityEdge/activity"/>

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityEdge/source"/>

@@ -737,96 +827,6 @@
     <genClasses ecoreClass="UML2.ecore#//ValuePin">

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//ValuePin/value"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Interface">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/ownedAttribute"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/ownedOperation"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Interface/redefinedInterface"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/nestedClassifier"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/ownedReception"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interface/protocol"/>

-      <genOperations ecoreOperation="UML2.ecore#//Interface/getAttributes"/>

-      <genOperations ecoreOperation="UML2.ecore#//Interface/getOwnedMembers"/>

-      <genOperations ecoreOperation="UML2.ecore#//Interface/getFeatures"/>

-      <genOperations ecoreOperation="UML2.ecore#//Interface/getRedefinedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Implementation">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Implementation/contract"/>

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Implementation/implementingClassifier"/>

-      <genOperations ecoreOperation="UML2.ecore#//Implementation/getSuppliers"/>

-      <genOperations ecoreOperation="UML2.ecore#//Implementation/getTargets"/>

-      <genOperations ecoreOperation="UML2.ecore#//Implementation/getClients"/>

-      <genOperations ecoreOperation="UML2.ecore#//Implementation/getSources"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Actor"/>

-    <genClasses ecoreClass="UML2.ecore#//Extend">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Extend/extendedCase"/>

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Extend/extension"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Extend/condition"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Extend/extensionLocation"/>

-      <genOperations ecoreOperation="UML2.ecore#//Extend/getTargets"/>

-      <genOperations ecoreOperation="UML2.ecore#//Extend/getSources"/>

-      <genOperations ecoreOperation="UML2.ecore#//Extend/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//UseCase">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//UseCase/include"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//UseCase/extend"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//UseCase/extensionPoint"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//UseCase/subject"/>

-      <genOperations ecoreOperation="UML2.ecore#//UseCase/getOwnedMembers"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//ExtensionPoint">

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ExtensionPoint/useCase"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Include">

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Include/includingCase"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Include/addition"/>

-      <genOperations ecoreOperation="UML2.ecore#//Include/getSources"/>

-      <genOperations ecoreOperation="UML2.ecore#//Include/getTargets"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Artifact">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Artifact/fileName"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Artifact/nestedArtifact"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Artifact/manifestation"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Artifact/ownedOperation"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Artifact/ownedAttribute"/>

-      <genOperations ecoreOperation="UML2.ecore#//Artifact/getOwnedElements"/>

-      <genOperations ecoreOperation="UML2.ecore#//Artifact/getClientDependencies"/>

-      <genOperations ecoreOperation="UML2.ecore#//Artifact/getFeatures"/>

-      <genOperations ecoreOperation="UML2.ecore#//Artifact/getOwnedMembers"/>

-      <genOperations ecoreOperation="UML2.ecore#//Artifact/getAttributes"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Manifestation">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Manifestation/utilizedElement"/>

-      <genOperations ecoreOperation="UML2.ecore#//Manifestation/getSuppliers"/>

-      <genOperations ecoreOperation="UML2.ecore#//Manifestation/getTargets"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//ConnectorEnd">

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ConnectorEnd/definingEnd"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ConnectorEnd/role"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ConnectorEnd/partWithPort"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//ConnectableElement">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ConnectableElement/end"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Connector">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Connector/type"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Connector/redefinedConnector"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Connector/end"/>

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Connector/kind"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Connector/contract"/>

-      <genOperations ecoreOperation="UML2.ecore#//Connector/getRedefinedElements"/>

-      <genOperations ecoreOperation="UML2.ecore#//Connector/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//StructuredClassifier">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//StructuredClassifier/ownedAttribute"/>

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//StructuredClassifier/part"/>

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//StructuredClassifier/role"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//StructuredClassifier/ownedConnector"/>

-      <genOperations ecoreOperation="UML2.ecore#//StructuredClassifier/getAttributes"/>

-      <genOperations ecoreOperation="UML2.ecore#//StructuredClassifier/getOwnedMembers"/>

-      <genOperations ecoreOperation="UML2.ecore#//StructuredClassifier/getMembers"/>

-      <genOperations ecoreOperation="UML2.ecore#//StructuredClassifier/getFeatures"/>

-    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//CollaborationOccurrence">

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//CollaborationOccurrence/type"/>

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//CollaborationOccurrence/roleBinding"/>

@@ -836,66 +836,6 @@
       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Collaboration/collaborationRole"/>

       <genOperations ecoreOperation="UML2.ecore#//Collaboration/getRoles"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//TemplateSignature">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/parameter"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/ownedParameter"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/nestedSignature"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/nestingSignature"/>

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/template"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateSignature/getOwnedElements"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateSignature/getOwner"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//TemplateParameter">

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/signature"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/parameteredElement"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/ownedParameteredElement"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/default"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/ownedDefault"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateParameter/getOwner"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateParameter/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//TemplateableElement">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateableElement/templateBinding"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateableElement/ownedTemplateSignature"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateableElement/parameterableElements"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateableElement/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//StringExpression">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//StringExpression/subExpression"/>

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//StringExpression/owningExpression"/>

-      <genOperations ecoreOperation="UML2.ecore#//StringExpression/getOwnedElements"/>

-      <genOperations ecoreOperation="UML2.ecore#//StringExpression/getOwner"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//ParameterableElement">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ParameterableElement/templateParameter"/>

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ParameterableElement/owningParameter"/>

-      <genOperations ecoreOperation="UML2.ecore#//ParameterableElement/getOwner"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//TemplateBinding">

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateBinding/boundElement"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateBinding/signature"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateBinding/parameterSubstitution"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateBinding/getOwner"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateBinding/getSources"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateBinding/getTargets"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateBinding/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//TemplateParameterSubstitution">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameterSubstitution/formal"/>

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameterSubstitution/templateBinding"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameterSubstitution/actual"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameterSubstitution/ownedActual"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateParameterSubstitution/getOwner"/>

-      <genOperations ecoreOperation="UML2.ecore#//TemplateParameterSubstitution/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//OperationTemplateParameter"/>

-    <genClasses ecoreClass="UML2.ecore#//ClassifierTemplateParameter">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//ClassifierTemplateParameter/allowSubstitutable"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//ParameterableClassifier"/>

-    <genClasses ecoreClass="UML2.ecore#//RedefinableTemplateSignature"/>

-    <genClasses ecoreClass="UML2.ecore#//TemplateableClassifier"/>

-    <genClasses ecoreClass="UML2.ecore#//ConnectableElementTemplateParameter"/>

     <genClasses ecoreClass="UML2.ecore#//Interaction">

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interaction/lifeline"/>

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Interaction/message"/>

@@ -958,6 +898,48 @@
       <genOperations ecoreOperation="UML2.ecore#//StateInvariant/getOwnedElements"/>

     </genClasses>

     <genClasses ecoreClass="UML2.ecore#//Stop"/>

+    <genClasses ecoreClass="UML2.ecore#//Port">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Port/isBehavior"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Port/isService"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Port/required"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Port/redefinedPort"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Port/provided"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Port/protocol"/>

+      <genOperations ecoreOperation="UML2.ecore#//Port/getRedefinedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//EncapsulatedClassifier">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//EncapsulatedClassifier/ownedPort"/>

+      <genOperations ecoreOperation="UML2.ecore#//EncapsulatedClassifier/getFeatures"/>

+      <genOperations ecoreOperation="UML2.ecore#//EncapsulatedClassifier/getOwnedMembers"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//CallTrigger">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//CallTrigger/operation"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//MessageTrigger"/>

+    <genClasses ecoreClass="UML2.ecore#//ChangeTrigger">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//ChangeTrigger/changeExpression"/>

+      <genOperations ecoreOperation="UML2.ecore#//ChangeTrigger/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Trigger">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Trigger/port"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Reception">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Reception/signal"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Signal">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Signal/ownedAttribute"/>

+      <genOperations ecoreOperation="UML2.ecore#//Signal/getAttributes"/>

+      <genOperations ecoreOperation="UML2.ecore#//Signal/getOwnedMembers"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//SignalTrigger">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//SignalTrigger/signal"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//TimeTrigger">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//TimeTrigger/isRelative"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TimeTrigger/when"/>

+      <genOperations ecoreOperation="UML2.ecore#//TimeTrigger/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//AnyTrigger"/>

     <genClasses ecoreClass="UML2.ecore#//Variable">

       <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Variable/scope"/>

       <genOperations ecoreOperation="UML2.ecore#//Variable/getOwner"/>

@@ -1007,75 +989,66 @@
       <genOperations ecoreOperation="UML2.ecore#//LoopNode/getOwnedElements"/>

       <genOperations ecoreOperation="UML2.ecore#//LoopNode/getInputs"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Port">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Port/isBehavior"/>

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Port/isService"/>

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Port/required"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Port/redefinedPort"/>

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Port/provided"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Port/protocol"/>

-      <genOperations ecoreOperation="UML2.ecore#//Port/getRedefinedElements"/>

+    <genClasses ecoreClass="UML2.ecore#//TemplateSignature">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/parameter"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/ownedParameter"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/nestedSignature"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/nestingSignature"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateSignature/template"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateSignature/getOwnedElements"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateSignature/getOwner"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//EncapsulatedClassifier">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//EncapsulatedClassifier/ownedPort"/>

-      <genOperations ecoreOperation="UML2.ecore#//EncapsulatedClassifier/getFeatures"/>

-      <genOperations ecoreOperation="UML2.ecore#//EncapsulatedClassifier/getOwnedMembers"/>

+    <genClasses ecoreClass="UML2.ecore#//TemplateParameter">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/signature"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/parameteredElement"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/ownedParameteredElement"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/default"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameter/ownedDefault"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateParameter/getOwner"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateParameter/getOwnedElements"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//CallTrigger">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//CallTrigger/operation"/>

+    <genClasses ecoreClass="UML2.ecore#//TemplateableElement">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateableElement/templateBinding"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateableElement/ownedTemplateSignature"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateableElement/parameterableElements"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateableElement/getOwnedElements"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//MessageTrigger"/>

-    <genClasses ecoreClass="UML2.ecore#//ChangeTrigger">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//ChangeTrigger/changeExpression"/>

-      <genOperations ecoreOperation="UML2.ecore#//ChangeTrigger/getOwnedElements"/>

+    <genClasses ecoreClass="UML2.ecore#//StringExpression">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//StringExpression/subExpression"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//StringExpression/owningExpression"/>

+      <genOperations ecoreOperation="UML2.ecore#//StringExpression/getOwnedElements"/>

+      <genOperations ecoreOperation="UML2.ecore#//StringExpression/getOwner"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Trigger">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Trigger/port"/>

+    <genClasses ecoreClass="UML2.ecore#//ParameterableElement">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ParameterableElement/templateParameter"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ParameterableElement/owningParameter"/>

+      <genOperations ecoreOperation="UML2.ecore#//ParameterableElement/getOwner"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Reception">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Reception/signal"/>

+    <genClasses ecoreClass="UML2.ecore#//TemplateBinding">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateBinding/boundElement"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateBinding/signature"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateBinding/parameterSubstitution"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateBinding/getOwner"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateBinding/getSources"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateBinding/getTargets"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateBinding/getOwnedElements"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Signal">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Signal/ownedAttribute"/>

-      <genOperations ecoreOperation="UML2.ecore#//Signal/getAttributes"/>

-      <genOperations ecoreOperation="UML2.ecore#//Signal/getOwnedMembers"/>

+    <genClasses ecoreClass="UML2.ecore#//TemplateParameterSubstitution">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameterSubstitution/formal"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameterSubstitution/templateBinding"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameterSubstitution/actual"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TemplateParameterSubstitution/ownedActual"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateParameterSubstitution/getOwner"/>

+      <genOperations ecoreOperation="UML2.ecore#//TemplateParameterSubstitution/getOwnedElements"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//SignalTrigger">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//SignalTrigger/signal"/>

+    <genClasses ecoreClass="UML2.ecore#//OperationTemplateParameter"/>

+    <genClasses ecoreClass="UML2.ecore#//ClassifierTemplateParameter">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//ClassifierTemplateParameter/allowSubstitutable"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//TimeTrigger">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//TimeTrigger/isRelative"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//TimeTrigger/when"/>

-      <genOperations ecoreOperation="UML2.ecore#//TimeTrigger/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//AnyTrigger"/>

-    <genClasses ecoreClass="UML2.ecore#//InteractionOccurrence">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOccurrence/refersTo"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOccurrence/actualGate"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOccurrence/argument"/>

-      <genOperations ecoreOperation="UML2.ecore#//InteractionOccurrence/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Gate"/>

-    <genClasses ecoreClass="UML2.ecore#//PartDecomposition"/>

-    <genClasses ecoreClass="UML2.ecore#//InteractionOperand">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOperand/guard"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOperand/fragment"/>

-      <genOperations ecoreOperation="UML2.ecore#//InteractionOperand/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//InteractionConstraint">

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionConstraint/minint"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionConstraint/maxint"/>

-      <genOperations ecoreOperation="UML2.ecore#//InteractionConstraint/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//CombinedFragment">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//CombinedFragment/interactionOperator"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//CombinedFragment/operand"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//CombinedFragment/cfragmentGate"/>

-      <genOperations ecoreOperation="UML2.ecore#//CombinedFragment/getOwnedElements"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Continuation">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Continuation/setting"/>

-    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//ParameterableClassifier"/>

+    <genClasses ecoreClass="UML2.ecore#//RedefinableTemplateSignature"/>

+    <genClasses ecoreClass="UML2.ecore#//TemplateableClassifier"/>

+    <genClasses ecoreClass="UML2.ecore#//ConnectableElementTemplateParameter"/>

     <genClasses ecoreClass="UML2.ecore#//StateMachine">

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//StateMachine/region"/>

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//StateMachine/connectionPoint"/>

@@ -1139,6 +1112,24 @@
       <genOperations ecoreOperation="UML2.ecore#//Transition/getOwnedElements"/>

     </genClasses>

     <genClasses ecoreClass="UML2.ecore#//FinalState"/>

+    <genClasses ecoreClass="UML2.ecore#//ForkNode"/>

+    <genClasses ecoreClass="UML2.ecore#//JoinNode">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//JoinNode/isCombineDuplicate"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//JoinNode/joinSpec"/>

+      <genOperations ecoreOperation="UML2.ecore#//JoinNode/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//FlowFinalNode"/>

+    <genClasses ecoreClass="UML2.ecore#//CentralBufferNode"/>

+    <genClasses ecoreClass="UML2.ecore#//ActivityPartition">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//ActivityPartition/isDimension"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//ActivityPartition/isExternal"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/containedEdge"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/containedNode"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/subgroup"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/superPartition"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/represents"/>

+      <genOperations ecoreOperation="UML2.ecore#//ActivityPartition/getSuperGroup"/>

+    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//CreateObjectAction">

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//CreateObjectAction/classifier"/>

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//CreateObjectAction/result"/>

@@ -1267,23 +1258,32 @@
     <genClasses ecoreClass="UML2.ecore#//CallBehaviorAction">

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//CallBehaviorAction/behavior"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//ForkNode"/>

-    <genClasses ecoreClass="UML2.ecore#//JoinNode">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//JoinNode/isCombineDuplicate"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//JoinNode/joinSpec"/>

-      <genOperations ecoreOperation="UML2.ecore#//JoinNode/getOwnedElements"/>

+    <genClasses ecoreClass="UML2.ecore#//InteractionOccurrence">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOccurrence/refersTo"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOccurrence/actualGate"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOccurrence/argument"/>

+      <genOperations ecoreOperation="UML2.ecore#//InteractionOccurrence/getOwnedElements"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//FlowFinalNode"/>

-    <genClasses ecoreClass="UML2.ecore#//CentralBufferNode"/>

-    <genClasses ecoreClass="UML2.ecore#//ActivityPartition">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//ActivityPartition/isDimension"/>

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//ActivityPartition/isExternal"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/containedEdge"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/containedNode"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/subgroup"/>

-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/superPartition"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ActivityPartition/represents"/>

-      <genOperations ecoreOperation="UML2.ecore#//ActivityPartition/getSuperGroup"/>

+    <genClasses ecoreClass="UML2.ecore#//Gate"/>

+    <genClasses ecoreClass="UML2.ecore#//PartDecomposition"/>

+    <genClasses ecoreClass="UML2.ecore#//InteractionOperand">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOperand/guard"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionOperand/fragment"/>

+      <genOperations ecoreOperation="UML2.ecore#//InteractionOperand/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//InteractionConstraint">

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionConstraint/minint"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//InteractionConstraint/maxint"/>

+      <genOperations ecoreOperation="UML2.ecore#//InteractionConstraint/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//CombinedFragment">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//CombinedFragment/interactionOperator"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//CombinedFragment/operand"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//CombinedFragment/cfragmentGate"/>

+      <genOperations ecoreOperation="UML2.ecore#//CombinedFragment/getOwnedElements"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Continuation">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Continuation/setting"/>

     </genClasses>

     <genClasses ecoreClass="UML2.ecore#//ExpansionNode">

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ExpansionNode/regionAsOutput"/>

@@ -1321,6 +1321,15 @@
         <genParameters ecoreParameter="UML2.ecore#//ProtocolTransition/setGuard/newGuard"/>

       </genOperations>

     </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//Component">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Component/isIndirectlyInstantiated"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Component/required"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Component/provided"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Component/realization"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Component/ownedMember"/>

+      <genOperations ecoreOperation="UML2.ecore#//Component/getOwnedElements"/>

+      <genOperations ecoreOperation="UML2.ecore#//Component/getClientDependencies"/>

+    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//TimeExpression">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//TimeExpression/firstTime"/>

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//TimeExpression/event"/>

@@ -1373,16 +1382,6 @@
         <genParameters ecoreParameter="UML2.ecore#//DurationConstraint/setSpecification/newSpecification"/>

       </genOperations>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//DataStoreNode"/>

-    <genClasses ecoreClass="UML2.ecore#//InterruptibleActivityRegion">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InterruptibleActivityRegion/interruptingEdge"/>

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InterruptibleActivityRegion/containedNode"/>

-    </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//ParameterSet">

-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ParameterSet/parameter"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//ParameterSet/condition"/>

-      <genOperations ecoreOperation="UML2.ecore#//ParameterSet/getOwnedElements"/>

-    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//ReadExtentAction">

       <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//ReadExtentAction/result"/>

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ReadExtentAction/classifier"/>

@@ -1450,15 +1449,6 @@
       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//RaiseExceptionAction/exception"/>

       <genOperations ecoreOperation="UML2.ecore#//RaiseExceptionAction/getInputs"/>

     </genClasses>

-    <genClasses ecoreClass="UML2.ecore#//Component">

-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//Component/isIndirectlyInstantiated"/>

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Component/required"/>

-      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Component/provided"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Component/realization"/>

-      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//Component/ownedMember"/>

-      <genOperations ecoreOperation="UML2.ecore#//Component/getOwnedElements"/>

-      <genOperations ecoreOperation="UML2.ecore#//Component/getClientDependencies"/>

-    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//Deployment">

       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Deployment/deployedArtifact"/>

       <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//Deployment/location"/>

@@ -1483,6 +1473,16 @@
     <genClasses ecoreClass="UML2.ecore#//Device"/>

     <genClasses ecoreClass="UML2.ecore#//ExecutionEnvironment"/>

     <genClasses ecoreClass="UML2.ecore#//CommunicationPath"/>

+    <genClasses ecoreClass="UML2.ecore#//DataStoreNode"/>

+    <genClasses ecoreClass="UML2.ecore#//InterruptibleActivityRegion">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InterruptibleActivityRegion/interruptingEdge"/>

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//InterruptibleActivityRegion/containedNode"/>

+    </genClasses>

+    <genClasses ecoreClass="UML2.ecore#//ParameterSet">

+      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference UML2.ecore#//ParameterSet/parameter"/>

+      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference UML2.ecore#//ParameterSet/condition"/>

+      <genOperations ecoreOperation="UML2.ecore#//ParameterSet/getOwnedElements"/>

+    </genClasses>

     <genClasses ecoreClass="UML2.ecore#//DeploymentSpecification">

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//DeploymentSpecification/deploymentLocation"/>

       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute UML2.ecore#//DeploymentSpecification/executionLocation"/>

diff --git a/deprecated/plugins/org.eclipse.uml2/model/UML2XMI.xsd b/deprecated/plugins/org.eclipse.uml2/model/UML2XMI.xsd
index 51cf9dd..d5bf79c 100644
--- a/deprecated/plugins/org.eclipse.uml2/model/UML2XMI.xsd
+++ b/deprecated/plugins/org.eclipse.uml2/model/UML2XMI.xsd
@@ -48,22 +48,6 @@
 <xsd:enumeration value="concurrent"/>

 </xsd:restriction>

 </xsd:simpleType>

-<xsd:simpleType name="InteractionOperator">

-<xsd:restriction base="xsd:NCName">

-<xsd:enumeration value="seq"/>

-<xsd:enumeration value="alt"/>

-<xsd:enumeration value="opt"/>

-<xsd:enumeration value="break"/>

-<xsd:enumeration value="par"/>

-<xsd:enumeration value="strict"/>

-<xsd:enumeration value="loop"/>

-<xsd:enumeration value="critical"/>

-<xsd:enumeration value="neg"/>

-<xsd:enumeration value="assert"/>

-<xsd:enumeration value="ignore"/>

-<xsd:enumeration value="consider"/>

-</xsd:restriction>

-</xsd:simpleType>

 <xsd:simpleType name="TransitionKind">

 <xsd:restriction base="xsd:NCName">

 <xsd:enumeration value="internal"/>

@@ -85,6 +69,22 @@
 <xsd:enumeration value="terminate"/>

 </xsd:restriction>

 </xsd:simpleType>

+<xsd:simpleType name="InteractionOperator">

+<xsd:restriction base="xsd:NCName">

+<xsd:enumeration value="seq"/>

+<xsd:enumeration value="alt"/>

+<xsd:enumeration value="opt"/>

+<xsd:enumeration value="break"/>

+<xsd:enumeration value="par"/>

+<xsd:enumeration value="strict"/>

+<xsd:enumeration value="loop"/>

+<xsd:enumeration value="critical"/>

+<xsd:enumeration value="neg"/>

+<xsd:enumeration value="assert"/>

+<xsd:enumeration value="ignore"/>

+<xsd:enumeration value="consider"/>

+</xsd:restriction>

+</xsd:simpleType>

 <xsd:simpleType name="ExpansionKind">

 <xsd:restriction base="xsd:NCName">

 <xsd:enumeration value="parallel"/>

@@ -137,6 +137,45 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="MultiplicityElement" type="uml:MultiplicityElement"/>

+<xsd:complexType name="NamedElement">

+<xsd:complexContent>

+<xsd:extension base="uml:TemplateableElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="clientDependency" type="uml:Dependency"/>

+<xsd:element name="nameExpression" type="uml:StringExpression"/>

+</xsd:choice>

+<xsd:attribute name="name" type="xsd:string"/>

+<xsd:attribute name="visibility" type="uml:VisibilityKind"/>

+<xsd:attribute name="clientDependency" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="NamedElement" type="uml:NamedElement"/>

+<xsd:complexType name="Namespace">

+<xsd:complexContent>

+<xsd:extension base="uml:NamedElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="ownedRule" type="uml:Constraint"/>

+<xsd:element name="elementImport" type="uml:ElementImport"/>

+<xsd:element name="packageImport" type="uml:PackageImport"/>

+</xsd:choice>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Namespace" type="uml:Namespace"/>

+<xsd:complexType name="Comment">

+<xsd:complexContent>

+<xsd:extension base="uml:TemplateableElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="annotatedElement" type="uml:Element"/>

+<xsd:element name="bodyExpression" type="uml:StringExpression"/>

+</xsd:choice>

+<xsd:attribute name="body" type="xsd:string"/>

+<xsd:attribute name="annotatedElement" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Comment" type="uml:Comment"/>

 <xsd:complexType name="DirectedRelationship">

 <xsd:complexContent>

 <xsd:extension base="uml:Relationship"/>

@@ -149,6 +188,41 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="Relationship" type="uml:Relationship"/>

+<xsd:complexType name="OpaqueExpression">

+<xsd:complexContent>

+<xsd:extension base="uml:ValueSpecification">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="behavior" type="uml:Behavior"/>

+</xsd:choice>

+<xsd:attribute name="body" type="xsd:string"/>

+<xsd:attribute name="language" type="xsd:string"/>

+<xsd:attribute name="behavior" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="OpaqueExpression" type="uml:OpaqueExpression"/>

+<xsd:complexType name="ValueSpecification">

+<xsd:complexContent>

+<xsd:extension base="uml:TypedElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="templateParameter" type="uml:TemplateParameter"/>

+</xsd:choice>

+<xsd:attribute name="templateParameter" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="ValueSpecification" type="uml:ValueSpecification"/>

+<xsd:complexType name="Expression">

+<xsd:complexContent>

+<xsd:extension base="uml:OpaqueExpression">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="operand" type="uml:ValueSpecification"/>

+</xsd:choice>

+<xsd:attribute name="symbol" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Expression" type="uml:Expression"/>

 <xsd:complexType name="Class">

 <xsd:complexContent>

 <xsd:extension base="uml:EncapsulatedClassifier">

@@ -255,20 +329,6 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="Parameter" type="uml:Parameter"/>

-<xsd:complexType name="NamedElement">

-<xsd:complexContent>

-<xsd:extension base="uml:TemplateableElement">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="clientDependency" type="uml:Dependency"/>

-<xsd:element name="nameExpression" type="uml:StringExpression"/>

-</xsd:choice>

-<xsd:attribute name="name" type="xsd:string"/>

-<xsd:attribute name="visibility" type="uml:VisibilityKind"/>

-<xsd:attribute name="clientDependency" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="NamedElement" type="uml:NamedElement"/>

 <xsd:complexType name="Package">

 <xsd:complexContent>

 <xsd:extension base="uml:Namespace">

@@ -319,98 +379,18 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="PrimitiveType" type="uml:PrimitiveType"/>

-<xsd:complexType name="Namespace">

+<xsd:complexType name="Constraint">

 <xsd:complexContent>

-<xsd:extension base="uml:NamedElement">

+<xsd:extension base="uml:PackageableElement">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="ownedRule" type="uml:Constraint"/>

-<xsd:element name="elementImport" type="uml:ElementImport"/>

-<xsd:element name="packageImport" type="uml:PackageImport"/>

+<xsd:element name="specification" type="uml:ValueSpecification"/>

+<xsd:element name="constrainedElement" type="uml:Element"/>

 </xsd:choice>

+<xsd:attribute name="constrainedElement" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Namespace" type="uml:Namespace"/>

-<xsd:complexType name="Comment">

-<xsd:complexContent>

-<xsd:extension base="uml:TemplateableElement">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="annotatedElement" type="uml:Element"/>

-<xsd:element name="bodyExpression" type="uml:StringExpression"/>

-</xsd:choice>

-<xsd:attribute name="body" type="xsd:string"/>

-<xsd:attribute name="annotatedElement" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Comment" type="uml:Comment"/>

-<xsd:complexType name="OpaqueExpression">

-<xsd:complexContent>

-<xsd:extension base="uml:ValueSpecification">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="behavior" type="uml:Behavior"/>

-</xsd:choice>

-<xsd:attribute name="body" type="xsd:string"/>

-<xsd:attribute name="language" type="xsd:string"/>

-<xsd:attribute name="behavior" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="OpaqueExpression" type="uml:OpaqueExpression"/>

-<xsd:complexType name="ValueSpecification">

-<xsd:complexContent>

-<xsd:extension base="uml:TypedElement">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="templateParameter" type="uml:TemplateParameter"/>

-</xsd:choice>

-<xsd:attribute name="templateParameter" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="ValueSpecification" type="uml:ValueSpecification"/>

-<xsd:complexType name="Expression">

-<xsd:complexContent>

-<xsd:extension base="uml:OpaqueExpression">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="operand" type="uml:ValueSpecification"/>

-</xsd:choice>

-<xsd:attribute name="symbol" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Expression" type="uml:Expression"/>

-<xsd:complexType name="Classifier">

-<xsd:complexContent>

-<xsd:extension base="uml:Namespace">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="templateParameter" type="uml:TemplateParameter"/>

-<xsd:element name="generalization" type="uml:Generalization"/>

-<xsd:element name="redefinedClassifier" type="uml:Classifier"/>

-<xsd:element name="substitution" type="uml:Substitution"/>

-<xsd:element name="powertypeExtent" type="uml:GeneralizationSet"/>

-<xsd:element name="ownedUseCase" type="uml:UseCase"/>

-<xsd:element name="representation" type="uml:CollaborationOccurrence"/>

-<xsd:element name="occurrence" type="uml:CollaborationOccurrence"/>

-</xsd:choice>

-<xsd:attribute name="templateParameter" type="xsd:string"/>

-<xsd:attribute name="packageableElement_visibility" type="uml:VisibilityKind"/>

-<xsd:attribute name="isLeaf" type="xsd:string"/>

-<xsd:attribute name="isAbstract" type="xsd:string"/>

-<xsd:attribute name="redefinedClassifier" type="xsd:string"/>

-<xsd:attribute name="powertypeExtent" type="xsd:string"/>

-<xsd:attribute name="representation" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Classifier" type="uml:Classifier"/>

-<xsd:complexType name="Feature">

-<xsd:complexContent>

-<xsd:extension base="uml:RedefinableElement">

-<xsd:attribute name="isStatic" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Feature" type="uml:Feature"/>

+<xsd:element name="Constraint" type="uml:Constraint"/>

 <xsd:complexType name="LiteralBoolean">

 <xsd:complexContent>

 <xsd:extension base="uml:LiteralSpecification">

@@ -455,18 +435,38 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="LiteralUnlimitedNatural" type="uml:LiteralUnlimitedNatural"/>

-<xsd:complexType name="Constraint">

+<xsd:complexType name="Classifier">

 <xsd:complexContent>

-<xsd:extension base="uml:PackageableElement">

+<xsd:extension base="uml:Namespace">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="specification" type="uml:ValueSpecification"/>

-<xsd:element name="constrainedElement" type="uml:Element"/>

+<xsd:element name="templateParameter" type="uml:TemplateParameter"/>

+<xsd:element name="generalization" type="uml:Generalization"/>

+<xsd:element name="redefinedClassifier" type="uml:Classifier"/>

+<xsd:element name="substitution" type="uml:Substitution"/>

+<xsd:element name="powertypeExtent" type="uml:GeneralizationSet"/>

+<xsd:element name="ownedUseCase" type="uml:UseCase"/>

+<xsd:element name="representation" type="uml:CollaborationOccurrence"/>

+<xsd:element name="occurrence" type="uml:CollaborationOccurrence"/>

 </xsd:choice>

-<xsd:attribute name="constrainedElement" type="xsd:string"/>

+<xsd:attribute name="templateParameter" type="xsd:string"/>

+<xsd:attribute name="packageableElement_visibility" type="uml:VisibilityKind"/>

+<xsd:attribute name="isLeaf" type="xsd:string"/>

+<xsd:attribute name="isAbstract" type="xsd:string"/>

+<xsd:attribute name="redefinedClassifier" type="xsd:string"/>

+<xsd:attribute name="powertypeExtent" type="xsd:string"/>

+<xsd:attribute name="representation" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Constraint" type="uml:Constraint"/>

+<xsd:element name="Classifier" type="uml:Classifier"/>

+<xsd:complexType name="Feature">

+<xsd:complexContent>

+<xsd:extension base="uml:RedefinableElement">

+<xsd:attribute name="isStatic" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Feature" type="uml:Feature"/>

 <xsd:complexType name="BehavioralFeature">

 <xsd:complexContent>

 <xsd:extension base="uml:Namespace">

@@ -502,6 +502,28 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="StructuralFeature" type="uml:StructuralFeature"/>

+<xsd:complexType name="Generalization">

+<xsd:complexContent>

+<xsd:extension base="uml:DirectedRelationship">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="general" type="uml:Classifier"/>

+<xsd:element name="generalizationSet" type="uml:GeneralizationSet"/>

+</xsd:choice>

+<xsd:attribute name="isSubstitutable" type="xsd:string"/>

+<xsd:attribute name="general" type="xsd:string"/>

+<xsd:attribute name="generalizationSet" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Generalization" type="uml:Generalization"/>

+<xsd:complexType name="RedefinableElement">

+<xsd:complexContent>

+<xsd:extension base="uml:NamedElement">

+<xsd:attribute name="isLeaf" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="RedefinableElement" type="uml:RedefinableElement"/>

 <xsd:complexType name="InstanceSpecification">

 <xsd:complexContent>

 <xsd:extension base="uml:PackageableElement">

@@ -539,28 +561,6 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="InstanceValue" type="uml:InstanceValue"/>

-<xsd:complexType name="RedefinableElement">

-<xsd:complexContent>

-<xsd:extension base="uml:NamedElement">

-<xsd:attribute name="isLeaf" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="RedefinableElement" type="uml:RedefinableElement"/>

-<xsd:complexType name="Generalization">

-<xsd:complexContent>

-<xsd:extension base="uml:DirectedRelationship">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="general" type="uml:Classifier"/>

-<xsd:element name="generalizationSet" type="uml:GeneralizationSet"/>

-</xsd:choice>

-<xsd:attribute name="isSubstitutable" type="xsd:string"/>

-<xsd:attribute name="general" type="xsd:string"/>

-<xsd:attribute name="generalizationSet" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Generalization" type="uml:Generalization"/>

 <xsd:complexType name="PackageableElement">

 <xsd:complexContent>

 <xsd:extension base="uml:NamedElement">

@@ -664,14 +664,6 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="ExtensionEnd" type="uml:ExtensionEnd"/>

-<xsd:complexType name="Model">

-<xsd:complexContent>

-<xsd:extension base="uml:Package">

-<xsd:attribute name="viewpoint" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Model" type="uml:Model"/>

 <xsd:complexType name="Permission">

 <xsd:complexContent>

 <xsd:extension base="uml:Dependency"/>

@@ -729,58 +721,6 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="Substitution" type="uml:Substitution"/>

-<xsd:complexType name="GeneralizationSet">

-<xsd:complexContent>

-<xsd:extension base="uml:PackageableElement">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="powertype" type="uml:Classifier"/>

-<xsd:element name="generalization" type="uml:Generalization"/>

-</xsd:choice>

-<xsd:attribute name="isCovering" type="xsd:string"/>

-<xsd:attribute name="isDisjoint" type="xsd:string"/>

-<xsd:attribute name="powertype" type="xsd:string"/>

-<xsd:attribute name="generalization" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="GeneralizationSet" type="uml:GeneralizationSet"/>

-<xsd:complexType name="InformationItem">

-<xsd:complexContent>

-<xsd:extension base="uml:Classifier">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="represented" type="uml:Classifier"/>

-</xsd:choice>

-<xsd:attribute name="represented" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="InformationItem" type="uml:InformationItem"/>

-<xsd:complexType name="InformationFlow">

-<xsd:complexContent>

-<xsd:extension base="uml:DirectedRelationship">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="realization" type="uml:Relationship"/>

-<xsd:element name="conveyed" type="uml:Classifier"/>

-</xsd:choice>

-<xsd:attribute name="realization" type="xsd:string"/>

-<xsd:attribute name="conveyed" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="InformationFlow" type="uml:InformationFlow"/>

-<xsd:complexType name="AssociationClass">

-<xsd:complexContent>

-<xsd:extension base="uml:Class">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="ownedEnd" type="uml:Property"/>

-<xsd:element name="memberEnd" type="uml:Property"/>

-</xsd:choice>

-<xsd:attribute name="isDerived" type="xsd:string"/>

-<xsd:attribute name="memberEnd" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="AssociationClass" type="uml:AssociationClass"/>

 <xsd:complexType name="Behavior">

 <xsd:complexContent>

 <xsd:extension base="uml:Class">

@@ -832,31 +772,147 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="Activity" type="uml:Activity"/>

-<xsd:complexType name="Artifact">

+<xsd:complexType name="AssociationClass">

+<xsd:complexContent>

+<xsd:extension base="uml:Class">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="ownedEnd" type="uml:Property"/>

+<xsd:element name="memberEnd" type="uml:Property"/>

+</xsd:choice>

+<xsd:attribute name="isDerived" type="xsd:string"/>

+<xsd:attribute name="memberEnd" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="AssociationClass" type="uml:AssociationClass"/>

+<xsd:complexType name="Model">

+<xsd:complexContent>

+<xsd:extension base="uml:Package">

+<xsd:attribute name="viewpoint" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Model" type="uml:Model"/>

+<xsd:complexType name="InformationItem">

 <xsd:complexContent>

 <xsd:extension base="uml:Classifier">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="nestedArtifact" type="uml:Artifact"/>

-<xsd:element name="manifestation" type="uml:Manifestation"/>

-<xsd:element name="ownedOperation" type="uml:Operation"/>

-<xsd:element name="ownedAttribute" type="uml:Property"/>

+<xsd:element name="represented" type="uml:Classifier"/>

 </xsd:choice>

-<xsd:attribute name="fileName" type="xsd:string"/>

+<xsd:attribute name="represented" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Artifact" type="uml:Artifact"/>

-<xsd:complexType name="Manifestation">

+<xsd:element name="InformationItem" type="uml:InformationItem"/>

+<xsd:complexType name="InformationFlow">

 <xsd:complexContent>

-<xsd:extension base="uml:Abstraction">

+<xsd:extension base="uml:DirectedRelationship">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="utilizedElement" type="uml:PackageableElement"/>

+<xsd:element name="realization" type="uml:Relationship"/>

+<xsd:element name="conveyed" type="uml:Classifier"/>

 </xsd:choice>

-<xsd:attribute name="utilizedElement" type="xsd:string"/>

+<xsd:attribute name="realization" type="xsd:string"/>

+<xsd:attribute name="conveyed" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Manifestation" type="uml:Manifestation"/>

+<xsd:element name="InformationFlow" type="uml:InformationFlow"/>

+<xsd:complexType name="GeneralizationSet">

+<xsd:complexContent>

+<xsd:extension base="uml:PackageableElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="powertype" type="uml:Classifier"/>

+<xsd:element name="generalization" type="uml:Generalization"/>

+</xsd:choice>

+<xsd:attribute name="isCovering" type="xsd:string"/>

+<xsd:attribute name="isDisjoint" type="xsd:string"/>

+<xsd:attribute name="powertype" type="xsd:string"/>

+<xsd:attribute name="generalization" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="GeneralizationSet" type="uml:GeneralizationSet"/>

+<xsd:complexType name="ConnectorEnd">

+<xsd:complexContent>

+<xsd:extension base="uml:MultiplicityElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="role" type="uml:ConnectableElement"/>

+<xsd:element name="partWithPort" type="uml:Property"/>

+</xsd:choice>

+<xsd:attribute name="role" type="xsd:string"/>

+<xsd:attribute name="partWithPort" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="ConnectorEnd" type="uml:ConnectorEnd"/>

+<xsd:complexType name="ConnectableElement">

+<xsd:complexContent>

+<xsd:extension base="uml:NamedElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="templateParameter" type="uml:TemplateParameter"/>

+<xsd:element name="end" type="uml:ConnectorEnd"/>

+</xsd:choice>

+<xsd:attribute name="templateParameter" type="xsd:string"/>

+<xsd:attribute name="end" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="ConnectableElement" type="uml:ConnectableElement"/>

+<xsd:complexType name="Connector">

+<xsd:complexContent>

+<xsd:extension base="uml:Feature">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="type" type="uml:Association"/>

+<xsd:element name="redefinedConnector" type="uml:Connector"/>

+<xsd:element name="end" type="uml:ConnectorEnd"/>

+<xsd:element name="contract" type="uml:Behavior"/>

+</xsd:choice>

+<xsd:attribute name="kind" type="uml:ConnectorKind"/>

+<xsd:attribute name="type" type="xsd:string"/>

+<xsd:attribute name="redefinedConnector" type="xsd:string"/>

+<xsd:attribute name="contract" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Connector" type="uml:Connector"/>

+<xsd:complexType name="StructuredClassifier">

+<xsd:complexContent>

+<xsd:extension base="uml:Classifier">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="ownedAttribute" type="uml:Property"/>

+<xsd:element name="ownedConnector" type="uml:Connector"/>

+</xsd:choice>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="StructuredClassifier" type="uml:StructuredClassifier"/>

+<xsd:complexType name="Interface">

+<xsd:complexContent>

+<xsd:extension base="uml:Classifier">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="ownedAttribute" type="uml:Property"/>

+<xsd:element name="ownedOperation" type="uml:Operation"/>

+<xsd:element name="redefinedInterface" type="uml:Interface"/>

+<xsd:element name="nestedClassifier" type="uml:Classifier"/>

+<xsd:element name="ownedReception" type="uml:Reception"/>

+<xsd:element name="protocol" type="uml:ProtocolStateMachine"/>

+</xsd:choice>

+<xsd:attribute name="redefinedInterface" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Interface" type="uml:Interface"/>

+<xsd:complexType name="Implementation">

+<xsd:complexContent>

+<xsd:extension base="uml:Realization">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="contract" type="uml:Interface"/>

+</xsd:choice>

+<xsd:attribute name="contract" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Implementation" type="uml:Implementation"/>

 <xsd:complexType name="Actor">

 <xsd:complexContent>

 <xsd:extension base="uml:Classifier"/>

@@ -908,33 +964,31 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="Include" type="uml:Include"/>

-<xsd:complexType name="Interface">

+<xsd:complexType name="Artifact">

 <xsd:complexContent>

 <xsd:extension base="uml:Classifier">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="ownedAttribute" type="uml:Property"/>

+<xsd:element name="nestedArtifact" type="uml:Artifact"/>

+<xsd:element name="manifestation" type="uml:Manifestation"/>

 <xsd:element name="ownedOperation" type="uml:Operation"/>

-<xsd:element name="redefinedInterface" type="uml:Interface"/>

-<xsd:element name="nestedClassifier" type="uml:Classifier"/>

-<xsd:element name="ownedReception" type="uml:Reception"/>

-<xsd:element name="protocol" type="uml:ProtocolStateMachine"/>

+<xsd:element name="ownedAttribute" type="uml:Property"/>

 </xsd:choice>

-<xsd:attribute name="redefinedInterface" type="xsd:string"/>

+<xsd:attribute name="fileName" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Interface" type="uml:Interface"/>

-<xsd:complexType name="Implementation">

+<xsd:element name="Artifact" type="uml:Artifact"/>

+<xsd:complexType name="Manifestation">

 <xsd:complexContent>

-<xsd:extension base="uml:Realization">

+<xsd:extension base="uml:Abstraction">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="contract" type="uml:Interface"/>

+<xsd:element name="utilizedElement" type="uml:PackageableElement"/>

 </xsd:choice>

-<xsd:attribute name="contract" type="xsd:string"/>

+<xsd:attribute name="utilizedElement" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Implementation" type="uml:Implementation"/>

+<xsd:element name="Manifestation" type="uml:Manifestation"/>

 <xsd:complexType name="ActivityEdge">

 <xsd:complexContent>

 <xsd:extension base="uml:RedefinableElement">

@@ -1121,60 +1175,6 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="ValuePin" type="uml:ValuePin"/>

-<xsd:complexType name="ConnectorEnd">

-<xsd:complexContent>

-<xsd:extension base="uml:MultiplicityElement">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="role" type="uml:ConnectableElement"/>

-<xsd:element name="partWithPort" type="uml:Property"/>

-</xsd:choice>

-<xsd:attribute name="role" type="xsd:string"/>

-<xsd:attribute name="partWithPort" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="ConnectorEnd" type="uml:ConnectorEnd"/>

-<xsd:complexType name="ConnectableElement">

-<xsd:complexContent>

-<xsd:extension base="uml:NamedElement">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="templateParameter" type="uml:TemplateParameter"/>

-<xsd:element name="end" type="uml:ConnectorEnd"/>

-</xsd:choice>

-<xsd:attribute name="templateParameter" type="xsd:string"/>

-<xsd:attribute name="end" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="ConnectableElement" type="uml:ConnectableElement"/>

-<xsd:complexType name="Connector">

-<xsd:complexContent>

-<xsd:extension base="uml:Feature">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="type" type="uml:Association"/>

-<xsd:element name="redefinedConnector" type="uml:Connector"/>

-<xsd:element name="end" type="uml:ConnectorEnd"/>

-<xsd:element name="contract" type="uml:Behavior"/>

-</xsd:choice>

-<xsd:attribute name="kind" type="uml:ConnectorKind"/>

-<xsd:attribute name="type" type="xsd:string"/>

-<xsd:attribute name="redefinedConnector" type="xsd:string"/>

-<xsd:attribute name="contract" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Connector" type="uml:Connector"/>

-<xsd:complexType name="StructuredClassifier">

-<xsd:complexContent>

-<xsd:extension base="uml:Classifier">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="ownedAttribute" type="uml:Property"/>

-<xsd:element name="ownedConnector" type="uml:Connector"/>

-</xsd:choice>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="StructuredClassifier" type="uml:StructuredClassifier"/>

 <xsd:complexType name="CollaborationOccurrence">

 <xsd:complexContent>

 <xsd:extension base="uml:NamedElement">

@@ -1200,115 +1200,6 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="Collaboration" type="uml:Collaboration"/>

-<xsd:complexType name="Variable">

-<xsd:complexContent>

-<xsd:extension base="uml:ConnectableElement">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="type" type="uml:Type"/>

-</xsd:choice>

-<xsd:attribute name="type" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Variable" type="uml:Variable"/>

-<xsd:complexType name="StructuredActivityNode">

-<xsd:complexContent>

-<xsd:extension base="uml:Action">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="ownedRule" type="uml:Constraint"/>

-<xsd:element name="elementImport" type="uml:ElementImport"/>

-<xsd:element name="packageImport" type="uml:PackageImport"/>

-<xsd:element name="variable" type="uml:Variable"/>

-<xsd:element name="containedNode" type="uml:ActivityNode"/>

-<xsd:element name="containedEdge" type="uml:ActivityEdge"/>

-</xsd:choice>

-<xsd:attribute name="mustIsolate" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="StructuredActivityNode" type="uml:StructuredActivityNode"/>

-<xsd:complexType name="ConditionalNode">

-<xsd:complexContent>

-<xsd:extension base="uml:StructuredActivityNode">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="clause" type="uml:Clause"/>

-<xsd:element name="result" type="uml:OutputPin"/>

-</xsd:choice>

-<xsd:attribute name="isDeterminate" type="xsd:string"/>

-<xsd:attribute name="isAssured" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="ConditionalNode" type="uml:ConditionalNode"/>

-<xsd:complexType name="Clause">

-<xsd:complexContent>

-<xsd:extension base="uml:Element">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="test" type="uml:ActivityNode"/>

-<xsd:element name="body" type="uml:ActivityNode"/>

-<xsd:element name="predecessorClause" type="uml:Clause"/>

-<xsd:element name="successorClause" type="uml:Clause"/>

-<xsd:element name="decider" type="uml:OutputPin"/>

-<xsd:element name="bodyOutput" type="uml:OutputPin"/>

-</xsd:choice>

-<xsd:attribute name="test" type="xsd:string"/>

-<xsd:attribute name="body" type="xsd:string"/>

-<xsd:attribute name="predecessorClause" type="xsd:string"/>

-<xsd:attribute name="successorClause" type="xsd:string"/>

-<xsd:attribute name="decider" type="xsd:string"/>

-<xsd:attribute name="bodyOutput" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Clause" type="uml:Clause"/>

-<xsd:complexType name="LoopNode">

-<xsd:complexContent>

-<xsd:extension base="uml:StructuredActivityNode">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="bodyPart" type="uml:ActivityNode"/>

-<xsd:element name="setupPart" type="uml:ActivityNode"/>

-<xsd:element name="decider" type="uml:OutputPin"/>

-<xsd:element name="test" type="uml:ActivityNode"/>

-<xsd:element name="result" type="uml:OutputPin"/>

-<xsd:element name="loopVariable" type="uml:OutputPin"/>

-<xsd:element name="bodyOutput" type="uml:OutputPin"/>

-<xsd:element name="loopVariableInput" type="uml:InputPin"/>

-</xsd:choice>

-<xsd:attribute name="isTestedFirst" type="xsd:string"/>

-<xsd:attribute name="bodyPart" type="xsd:string"/>

-<xsd:attribute name="setupPart" type="xsd:string"/>

-<xsd:attribute name="decider" type="xsd:string"/>

-<xsd:attribute name="test" type="xsd:string"/>

-<xsd:attribute name="bodyOutput" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="LoopNode" type="uml:LoopNode"/>

-<xsd:complexType name="Port">

-<xsd:complexContent>

-<xsd:extension base="uml:Property">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="redefinedPort" type="uml:Port"/>

-<xsd:element name="protocol" type="uml:ProtocolStateMachine"/>

-</xsd:choice>

-<xsd:attribute name="isBehavior" type="xsd:string"/>

-<xsd:attribute name="isService" type="xsd:string"/>

-<xsd:attribute name="redefinedPort" type="xsd:string"/>

-<xsd:attribute name="protocol" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Port" type="uml:Port"/>

-<xsd:complexType name="EncapsulatedClassifier">

-<xsd:complexContent>

-<xsd:extension base="uml:StructuredClassifier">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="ownedPort" type="uml:Port"/>

-</xsd:choice>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="EncapsulatedClassifier" type="uml:EncapsulatedClassifier"/>

 <xsd:complexType name="Interaction">

 <xsd:annotation>

 <xsd:documentation>The point is that the InteractionConstraint "received" from StructuralArchitecture will consist of a set of such units described by sequence diagrams (or collaboration diagrams).</xsd:documentation>

@@ -1475,6 +1366,31 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="Stop" type="uml:Stop"/>

+<xsd:complexType name="Port">

+<xsd:complexContent>

+<xsd:extension base="uml:Property">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="redefinedPort" type="uml:Port"/>

+<xsd:element name="protocol" type="uml:ProtocolStateMachine"/>

+</xsd:choice>

+<xsd:attribute name="isBehavior" type="xsd:string"/>

+<xsd:attribute name="isService" type="xsd:string"/>

+<xsd:attribute name="redefinedPort" type="xsd:string"/>

+<xsd:attribute name="protocol" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Port" type="uml:Port"/>

+<xsd:complexType name="EncapsulatedClassifier">

+<xsd:complexContent>

+<xsd:extension base="uml:StructuredClassifier">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="ownedPort" type="uml:Port"/>

+</xsd:choice>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="EncapsulatedClassifier" type="uml:EncapsulatedClassifier"/>

 <xsd:complexType name="CallTrigger">

 <xsd:complexContent>

 <xsd:extension base="uml:MessageTrigger">

@@ -1562,6 +1478,90 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="AnyTrigger" type="uml:AnyTrigger"/>

+<xsd:complexType name="Variable">

+<xsd:complexContent>

+<xsd:extension base="uml:ConnectableElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="type" type="uml:Type"/>

+</xsd:choice>

+<xsd:attribute name="type" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Variable" type="uml:Variable"/>

+<xsd:complexType name="StructuredActivityNode">

+<xsd:complexContent>

+<xsd:extension base="uml:Action">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="ownedRule" type="uml:Constraint"/>

+<xsd:element name="elementImport" type="uml:ElementImport"/>

+<xsd:element name="packageImport" type="uml:PackageImport"/>

+<xsd:element name="variable" type="uml:Variable"/>

+<xsd:element name="containedNode" type="uml:ActivityNode"/>

+<xsd:element name="containedEdge" type="uml:ActivityEdge"/>

+</xsd:choice>

+<xsd:attribute name="mustIsolate" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="StructuredActivityNode" type="uml:StructuredActivityNode"/>

+<xsd:complexType name="ConditionalNode">

+<xsd:complexContent>

+<xsd:extension base="uml:StructuredActivityNode">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="clause" type="uml:Clause"/>

+<xsd:element name="result" type="uml:OutputPin"/>

+</xsd:choice>

+<xsd:attribute name="isDeterminate" type="xsd:string"/>

+<xsd:attribute name="isAssured" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="ConditionalNode" type="uml:ConditionalNode"/>

+<xsd:complexType name="Clause">

+<xsd:complexContent>

+<xsd:extension base="uml:Element">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="test" type="uml:ActivityNode"/>

+<xsd:element name="body" type="uml:ActivityNode"/>

+<xsd:element name="predecessorClause" type="uml:Clause"/>

+<xsd:element name="successorClause" type="uml:Clause"/>

+<xsd:element name="decider" type="uml:OutputPin"/>

+<xsd:element name="bodyOutput" type="uml:OutputPin"/>

+</xsd:choice>

+<xsd:attribute name="test" type="xsd:string"/>

+<xsd:attribute name="body" type="xsd:string"/>

+<xsd:attribute name="predecessorClause" type="xsd:string"/>

+<xsd:attribute name="successorClause" type="xsd:string"/>

+<xsd:attribute name="decider" type="xsd:string"/>

+<xsd:attribute name="bodyOutput" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Clause" type="uml:Clause"/>

+<xsd:complexType name="LoopNode">

+<xsd:complexContent>

+<xsd:extension base="uml:StructuredActivityNode">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="bodyPart" type="uml:ActivityNode"/>

+<xsd:element name="setupPart" type="uml:ActivityNode"/>

+<xsd:element name="decider" type="uml:OutputPin"/>

+<xsd:element name="test" type="uml:ActivityNode"/>

+<xsd:element name="result" type="uml:OutputPin"/>

+<xsd:element name="loopVariable" type="uml:OutputPin"/>

+<xsd:element name="bodyOutput" type="uml:OutputPin"/>

+<xsd:element name="loopVariableInput" type="uml:InputPin"/>

+</xsd:choice>

+<xsd:attribute name="isTestedFirst" type="xsd:string"/>

+<xsd:attribute name="bodyPart" type="xsd:string"/>

+<xsd:attribute name="setupPart" type="xsd:string"/>

+<xsd:attribute name="decider" type="xsd:string"/>

+<xsd:attribute name="test" type="xsd:string"/>

+<xsd:attribute name="bodyOutput" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="LoopNode" type="uml:LoopNode"/>

 <xsd:complexType name="TemplateSignature">

 <xsd:complexContent>

 <xsd:extension base="uml:Element">

@@ -1699,121 +1699,6 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="ConnectableElementTemplateParameter" type="uml:ConnectableElementTemplateParameter"/>

-<xsd:complexType name="InteractionOccurrence">

-<xsd:annotation>

-<xsd:documentation>A reference to an interaction with actual values. The interpretation is that the sequence diagram replaces the reference (with actual parameters substituted)</xsd:documentation>

-</xsd:annotation>

-<xsd:complexContent>

-<xsd:extension base="uml:InteractionFragment">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="refersTo" type="uml:Interaction"/>

-<xsd:element name="actualGate" type="uml:Gate"/>

-<xsd:element name="argument" type="uml:InputPin"/>

-</xsd:choice>

-<xsd:attribute name="refersTo" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="InteractionOccurrence" type="uml:InteractionOccurrence">

-<xsd:annotation>

-<xsd:documentation>A reference to an interaction with actual values. The interpretation is that the sequence diagram replaces the reference (with actual parameters substituted)</xsd:documentation>

-</xsd:annotation>

-</xsd:element>

-<xsd:complexType name="Gate">

-<xsd:annotation>

-<xsd:documentation>A gate is a connection point. When the conceptual replacement of InteractionReferences with its referred Sequence Diagram is done, the actual gates of the reference must match the formal gates of the sequence diagram.

-More implicitly the unnamed gate of the atomic fragment match adjacent fragment gates.

-Expression gates are found on the border of the expression and they serve both as formal and actual gates. (Details to be explained other place)</xsd:documentation>

-</xsd:annotation>

-<xsd:complexContent>

-<xsd:extension base="uml:MessageEnd"/>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Gate" type="uml:Gate">

-<xsd:annotation>

-<xsd:documentation>A gate is a connection point. When the conceptual replacement of InteractionReferences with its referred Sequence Diagram is done, the actual gates of the reference must match the formal gates of the sequence diagram.

-More implicitly the unnamed gate of the atomic fragment match adjacent fragment gates.

-Expression gates are found on the border of the expression and they serve both as formal and actual gates. (Details to be explained other place)</xsd:documentation>

-</xsd:annotation>

-</xsd:element>

-<xsd:complexType name="PartDecomposition">

-<xsd:annotation>

-<xsd:documentation>A part decomposition is a special InteractionReference that defines the behavior within one interacting entity (Part) in one sequence diagram.</xsd:documentation>

-</xsd:annotation>

-<xsd:complexContent>

-<xsd:extension base="uml:InteractionOccurrence"/>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="PartDecomposition" type="uml:PartDecomposition">

-<xsd:annotation>

-<xsd:documentation>A part decomposition is a special InteractionReference that defines the behavior within one interacting entity (Part) in one sequence diagram.</xsd:documentation>

-</xsd:annotation>

-</xsd:element>

-<xsd:complexType name="InteractionOperand">

-<xsd:annotation>

-<xsd:documentation>An InteractionExpressionOperand is of course an InteractionFragment such that expressions can be nested freely.

-An operand may be guarded. If the guard evaluates to true, the operand is eligible in the expression, otherwise it is ignored. (very intuitively speaking, formalization has been done in Z.120 Annex B)</xsd:documentation>

-</xsd:annotation>

-<xsd:complexContent>

-<xsd:extension base="uml:Namespace">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="covered" type="uml:Lifeline"/>

-<xsd:element name="generalOrdering" type="uml:GeneralOrdering"/>

-<xsd:element name="guard" type="uml:InteractionConstraint"/>

-<xsd:element name="fragment" type="uml:InteractionFragment"/>

-</xsd:choice>

-<xsd:attribute name="covered" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="InteractionOperand" type="uml:InteractionOperand">

-<xsd:annotation>

-<xsd:documentation>An InteractionExpressionOperand is of course an InteractionFragment such that expressions can be nested freely.

-An operand may be guarded. If the guard evaluates to true, the operand is eligible in the expression, otherwise it is ignored. (very intuitively speaking, formalization has been done in Z.120 Annex B)</xsd:documentation>

-</xsd:annotation>

-</xsd:element>

-<xsd:complexType name="InteractionConstraint">

-<xsd:complexContent>

-<xsd:extension base="uml:Constraint">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="minint" type="uml:ValueSpecification"/>

-<xsd:element name="maxint" type="uml:ValueSpecification"/>

-</xsd:choice>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="InteractionConstraint" type="uml:InteractionConstraint"/>

-<xsd:complexType name="CombinedFragment">

-<xsd:annotation>

-<xsd:documentation>An interaction fragment that decomposes into a set of other interaction fragments under some operator.

-In principle the whole sequence diagram is an combined interaction. Syntactically, however, we will have special notation for combineations such that operands may be easily distinguished.

-Combined interactions consist of operands and an implicit or explicit operator</xsd:documentation>

-</xsd:annotation>

-<xsd:complexContent>

-<xsd:extension base="uml:InteractionFragment">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="operand" type="uml:InteractionOperand"/>

-<xsd:element name="cfragmentGate" type="uml:Gate"/>

-</xsd:choice>

-<xsd:attribute name="interactionOperator" type="uml:InteractionOperator"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="CombinedFragment" type="uml:CombinedFragment">

-<xsd:annotation>

-<xsd:documentation>An interaction fragment that decomposes into a set of other interaction fragments under some operator.

-In principle the whole sequence diagram is an combined interaction. Syntactically, however, we will have special notation for combineations such that operands may be easily distinguished.

-Combined interactions consist of operands and an implicit or explicit operator</xsd:documentation>

-</xsd:annotation>

-</xsd:element>

-<xsd:complexType name="Continuation">

-<xsd:complexContent>

-<xsd:extension base="uml:InteractionFragment">

-<xsd:attribute name="setting" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Continuation" type="uml:Continuation"/>

 <xsd:complexType name="StateMachine">

 <xsd:complexContent>

 <xsd:extension base="uml:Behavior">

@@ -1972,48 +1857,6 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="ActivityPartition" type="uml:ActivityPartition"/>

-<xsd:complexType name="ExpansionNode">

-<xsd:complexContent>

-<xsd:extension base="uml:ObjectNode">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="regionAsOutput" type="uml:ExpansionRegion"/>

-<xsd:element name="regionAsInput" type="uml:ExpansionRegion"/>

-</xsd:choice>

-<xsd:attribute name="regionAsOutput" type="xsd:string"/>

-<xsd:attribute name="regionAsInput" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="ExpansionNode" type="uml:ExpansionNode"/>

-<xsd:complexType name="ExpansionRegion">

-<xsd:complexContent>

-<xsd:extension base="uml:StructuredActivityNode">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="outputElement" type="uml:ExpansionNode"/>

-<xsd:element name="inputElement" type="uml:ExpansionNode"/>

-</xsd:choice>

-<xsd:attribute name="mode" type="uml:ExpansionKind"/>

-<xsd:attribute name="outputElement" type="xsd:string"/>

-<xsd:attribute name="inputElement" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="ExpansionRegion" type="uml:ExpansionRegion"/>

-<xsd:complexType name="ExceptionHandler">

-<xsd:complexContent>

-<xsd:extension base="uml:Element">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="handlerBody" type="uml:ExecutableNode"/>

-<xsd:element name="exceptionInput" type="uml:ObjectNode"/>

-<xsd:element name="exceptionType" type="uml:Classifier"/>

-</xsd:choice>

-<xsd:attribute name="handlerBody" type="xsd:string"/>

-<xsd:attribute name="exceptionInput" type="xsd:string"/>

-<xsd:attribute name="exceptionType" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="ExceptionHandler" type="uml:ExceptionHandler"/>

 <xsd:complexType name="CreateObjectAction">

 <xsd:complexContent>

 <xsd:extension base="uml:Action">

@@ -2345,75 +2188,163 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="CallBehaviorAction" type="uml:CallBehaviorAction"/>

-<xsd:complexType name="Component">

+<xsd:complexType name="InteractionOccurrence">

+<xsd:annotation>

+<xsd:documentation>A reference to an interaction with actual values. The interpretation is that the sequence diagram replaces the reference (with actual parameters substituted)</xsd:documentation>

+</xsd:annotation>

 <xsd:complexContent>

-<xsd:extension base="uml:Class">

+<xsd:extension base="uml:InteractionFragment">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="realization" type="uml:Realization"/>

-<xsd:element name="ownedMember" type="uml:PackageableElement"/>

+<xsd:element name="refersTo" type="uml:Interaction"/>

+<xsd:element name="actualGate" type="uml:Gate"/>

+<xsd:element name="argument" type="uml:InputPin"/>

 </xsd:choice>

-<xsd:attribute name="isIndirectlyInstantiated" type="xsd:string"/>

+<xsd:attribute name="refersTo" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Component" type="uml:Component"/>

-<xsd:complexType name="Deployment">

+<xsd:element name="InteractionOccurrence" type="uml:InteractionOccurrence">

+<xsd:annotation>

+<xsd:documentation>A reference to an interaction with actual values. The interpretation is that the sequence diagram replaces the reference (with actual parameters substituted)</xsd:documentation>

+</xsd:annotation>

+</xsd:element>

+<xsd:complexType name="Gate">

+<xsd:annotation>

+<xsd:documentation>A gate is a connection point. When the conceptual replacement of InteractionReferences with its referred Sequence Diagram is done, the actual gates of the reference must match the formal gates of the sequence diagram.

+More implicitly the unnamed gate of the atomic fragment match adjacent fragment gates.

+Expression gates are found on the border of the expression and they serve both as formal and actual gates. (Details to be explained other place)</xsd:documentation>

+</xsd:annotation>

 <xsd:complexContent>

-<xsd:extension base="uml:Dependency">

+<xsd:extension base="uml:MessageEnd"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Gate" type="uml:Gate">

+<xsd:annotation>

+<xsd:documentation>A gate is a connection point. When the conceptual replacement of InteractionReferences with its referred Sequence Diagram is done, the actual gates of the reference must match the formal gates of the sequence diagram.

+More implicitly the unnamed gate of the atomic fragment match adjacent fragment gates.

+Expression gates are found on the border of the expression and they serve both as formal and actual gates. (Details to be explained other place)</xsd:documentation>

+</xsd:annotation>

+</xsd:element>

+<xsd:complexType name="PartDecomposition">

+<xsd:annotation>

+<xsd:documentation>A part decomposition is a special InteractionReference that defines the behavior within one interacting entity (Part) in one sequence diagram.</xsd:documentation>

+</xsd:annotation>

+<xsd:complexContent>

+<xsd:extension base="uml:InteractionOccurrence"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="PartDecomposition" type="uml:PartDecomposition">

+<xsd:annotation>

+<xsd:documentation>A part decomposition is a special InteractionReference that defines the behavior within one interacting entity (Part) in one sequence diagram.</xsd:documentation>

+</xsd:annotation>

+</xsd:element>

+<xsd:complexType name="InteractionOperand">

+<xsd:annotation>

+<xsd:documentation>An InteractionExpressionOperand is of course an InteractionFragment such that expressions can be nested freely.

+An operand may be guarded. If the guard evaluates to true, the operand is eligible in the expression, otherwise it is ignored. (very intuitively speaking, formalization has been done in Z.120 Annex B)</xsd:documentation>

+</xsd:annotation>

+<xsd:complexContent>

+<xsd:extension base="uml:Namespace">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="deployedArtifact" type="uml:DeployedArtifact"/>

-<xsd:element name="configuration" type="uml:DeploymentSpecification"/>

+<xsd:element name="covered" type="uml:Lifeline"/>

+<xsd:element name="generalOrdering" type="uml:GeneralOrdering"/>

+<xsd:element name="guard" type="uml:InteractionConstraint"/>

+<xsd:element name="fragment" type="uml:InteractionFragment"/>

 </xsd:choice>

-<xsd:attribute name="deployedArtifact" type="xsd:string"/>

+<xsd:attribute name="covered" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Deployment" type="uml:Deployment"/>

-<xsd:complexType name="DeployedArtifact">

+<xsd:element name="InteractionOperand" type="uml:InteractionOperand">

+<xsd:annotation>

+<xsd:documentation>An InteractionExpressionOperand is of course an InteractionFragment such that expressions can be nested freely.

+An operand may be guarded. If the guard evaluates to true, the operand is eligible in the expression, otherwise it is ignored. (very intuitively speaking, formalization has been done in Z.120 Annex B)</xsd:documentation>

+</xsd:annotation>

+</xsd:element>

+<xsd:complexType name="InteractionConstraint">

 <xsd:complexContent>

-<xsd:extension base="uml:NamedElement"/>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="DeployedArtifact" type="uml:DeployedArtifact"/>

-<xsd:complexType name="DeploymentTarget">

-<xsd:complexContent>

-<xsd:extension base="uml:NamedElement">

+<xsd:extension base="uml:Constraint">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="deployment" type="uml:Deployment"/>

+<xsd:element name="minint" type="uml:ValueSpecification"/>

+<xsd:element name="maxint" type="uml:ValueSpecification"/>

 </xsd:choice>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="DeploymentTarget" type="uml:DeploymentTarget"/>

-<xsd:complexType name="Node">

+<xsd:element name="InteractionConstraint" type="uml:InteractionConstraint"/>

+<xsd:complexType name="CombinedFragment">

+<xsd:annotation>

+<xsd:documentation>An interaction fragment that decomposes into a set of other interaction fragments under some operator.

+In principle the whole sequence diagram is an combined interaction. Syntactically, however, we will have special notation for combineations such that operands may be easily distinguished.

+Combined interactions consist of operands and an implicit or explicit operator</xsd:documentation>

+</xsd:annotation>

 <xsd:complexContent>

-<xsd:extension base="uml:Class">

+<xsd:extension base="uml:InteractionFragment">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="deployment" type="uml:Deployment"/>

-<xsd:element name="nestedNode" type="uml:Node"/>

+<xsd:element name="operand" type="uml:InteractionOperand"/>

+<xsd:element name="cfragmentGate" type="uml:Gate"/>

 </xsd:choice>

+<xsd:attribute name="interactionOperator" type="uml:InteractionOperator"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Node" type="uml:Node"/>

-<xsd:complexType name="Device">

+<xsd:element name="CombinedFragment" type="uml:CombinedFragment">

+<xsd:annotation>

+<xsd:documentation>An interaction fragment that decomposes into a set of other interaction fragments under some operator.

+In principle the whole sequence diagram is an combined interaction. Syntactically, however, we will have special notation for combineations such that operands may be easily distinguished.

+Combined interactions consist of operands and an implicit or explicit operator</xsd:documentation>

+</xsd:annotation>

+</xsd:element>

+<xsd:complexType name="Continuation">

 <xsd:complexContent>

-<xsd:extension base="uml:Node"/>

+<xsd:extension base="uml:InteractionFragment">

+<xsd:attribute name="setting" type="xsd:string"/>

+</xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Device" type="uml:Device"/>

-<xsd:complexType name="ExecutionEnvironment">

+<xsd:element name="Continuation" type="uml:Continuation"/>

+<xsd:complexType name="ExpansionNode">

 <xsd:complexContent>

-<xsd:extension base="uml:Node"/>

+<xsd:extension base="uml:ObjectNode">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="regionAsOutput" type="uml:ExpansionRegion"/>

+<xsd:element name="regionAsInput" type="uml:ExpansionRegion"/>

+</xsd:choice>

+<xsd:attribute name="regionAsOutput" type="xsd:string"/>

+<xsd:attribute name="regionAsInput" type="xsd:string"/>

+</xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="ExecutionEnvironment" type="uml:ExecutionEnvironment"/>

-<xsd:complexType name="CommunicationPath">

+<xsd:element name="ExpansionNode" type="uml:ExpansionNode"/>

+<xsd:complexType name="ExpansionRegion">

 <xsd:complexContent>

-<xsd:extension base="uml:Association"/>

+<xsd:extension base="uml:StructuredActivityNode">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="outputElement" type="uml:ExpansionNode"/>

+<xsd:element name="inputElement" type="uml:ExpansionNode"/>

+</xsd:choice>

+<xsd:attribute name="mode" type="uml:ExpansionKind"/>

+<xsd:attribute name="outputElement" type="xsd:string"/>

+<xsd:attribute name="inputElement" type="xsd:string"/>

+</xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="CommunicationPath" type="uml:CommunicationPath"/>

+<xsd:element name="ExpansionRegion" type="uml:ExpansionRegion"/>

+<xsd:complexType name="ExceptionHandler">

+<xsd:complexContent>

+<xsd:extension base="uml:Element">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="handlerBody" type="uml:ExecutableNode"/>

+<xsd:element name="exceptionInput" type="uml:ObjectNode"/>

+<xsd:element name="exceptionType" type="uml:Classifier"/>

+</xsd:choice>

+<xsd:attribute name="handlerBody" type="xsd:string"/>

+<xsd:attribute name="exceptionInput" type="xsd:string"/>

+<xsd:attribute name="exceptionType" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="ExceptionHandler" type="uml:ExceptionHandler"/>

 <xsd:complexType name="ProtocolConformance">

 <xsd:complexContent>

 <xsd:extension base="uml:DirectedRelationship">

@@ -2447,37 +2378,105 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="ProtocolTransition" type="uml:ProtocolTransition"/>

-<xsd:complexType name="DataStoreNode">

+<xsd:complexType name="Component">

 <xsd:complexContent>

-<xsd:extension base="uml:CentralBufferNode"/>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="DataStoreNode" type="uml:DataStoreNode"/>

-<xsd:complexType name="InterruptibleActivityRegion">

-<xsd:complexContent>

-<xsd:extension base="uml:ActivityGroup">

+<xsd:extension base="uml:Class">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="interruptingEdge" type="uml:ActivityEdge"/>

-<xsd:element name="containedNode" type="uml:ActivityNode"/>

+<xsd:element name="realization" type="uml:Realization"/>

+<xsd:element name="ownedMember" type="uml:PackageableElement"/>

 </xsd:choice>

-<xsd:attribute name="interruptingEdge" type="xsd:string"/>

-<xsd:attribute name="containedNode" type="xsd:string"/>

+<xsd:attribute name="isIndirectlyInstantiated" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="InterruptibleActivityRegion" type="uml:InterruptibleActivityRegion"/>

-<xsd:complexType name="ParameterSet">

+<xsd:element name="Component" type="uml:Component"/>

+<xsd:complexType name="TimeExpression">

 <xsd:complexContent>

-<xsd:extension base="uml:NamedElement">

+<xsd:extension base="uml:ValueSpecification">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="parameter" type="uml:Parameter"/>

-<xsd:element name="condition" type="uml:Constraint"/>

+<xsd:element name="event" type="uml:NamedElement"/>

 </xsd:choice>

-<xsd:attribute name="parameter" type="xsd:string"/>

+<xsd:attribute name="firstTime" type="xsd:string"/>

+<xsd:attribute name="event" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="ParameterSet" type="uml:ParameterSet"/>

+<xsd:element name="TimeExpression" type="uml:TimeExpression"/>

+<xsd:complexType name="Duration">

+<xsd:complexContent>

+<xsd:extension base="uml:ValueSpecification">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="event" type="uml:NamedElement"/>

+</xsd:choice>

+<xsd:attribute name="firstTime" type="xsd:string"/>

+<xsd:attribute name="event" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Duration" type="uml:Duration"/>

+<xsd:complexType name="TimeObservationAction">

+<xsd:complexContent>

+<xsd:extension base="uml:WriteStructuralFeatureAction">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="now" type="uml:TimeExpression"/>

+</xsd:choice>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="TimeObservationAction" type="uml:TimeObservationAction"/>

+<xsd:complexType name="DurationInterval">

+<xsd:complexContent>

+<xsd:extension base="uml:Interval"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="DurationInterval" type="uml:DurationInterval"/>

+<xsd:complexType name="Interval">

+<xsd:complexContent>

+<xsd:extension base="uml:ValueSpecification">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="min" type="uml:ValueSpecification"/>

+<xsd:element name="max" type="uml:ValueSpecification"/>

+</xsd:choice>

+<xsd:attribute name="min" type="xsd:string"/>

+<xsd:attribute name="max" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="Interval" type="uml:Interval"/>

+<xsd:complexType name="TimeConstraint">

+<xsd:complexContent>

+<xsd:extension base="uml:IntervalConstraint"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="TimeConstraint" type="uml:TimeConstraint"/>

+<xsd:complexType name="IntervalConstraint">

+<xsd:complexContent>

+<xsd:extension base="uml:Constraint"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="IntervalConstraint" type="uml:IntervalConstraint"/>

+<xsd:complexType name="TimeInterval">

+<xsd:complexContent>

+<xsd:extension base="uml:Interval"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="TimeInterval" type="uml:TimeInterval"/>

+<xsd:complexType name="DurationObservationAction">

+<xsd:complexContent>

+<xsd:extension base="uml:WriteStructuralFeatureAction">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="duration" type="uml:Duration"/>

+</xsd:choice>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="DurationObservationAction" type="uml:DurationObservationAction"/>

+<xsd:complexType name="DurationConstraint">

+<xsd:complexContent>

+<xsd:extension base="uml:IntervalConstraint"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="DurationConstraint" type="uml:DurationConstraint"/>

 <xsd:complexType name="ReadExtentAction">

 <xsd:complexContent>

 <xsd:extension base="uml:Action">

@@ -2628,93 +2627,94 @@
 </xsd:complexContent>

 </xsd:complexType>

 <xsd:element name="RaiseExceptionAction" type="uml:RaiseExceptionAction"/>

-<xsd:complexType name="TimeExpression">

+<xsd:complexType name="Deployment">

 <xsd:complexContent>

-<xsd:extension base="uml:ValueSpecification">

+<xsd:extension base="uml:Dependency">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="event" type="uml:NamedElement"/>

+<xsd:element name="deployedArtifact" type="uml:DeployedArtifact"/>

+<xsd:element name="configuration" type="uml:DeploymentSpecification"/>

 </xsd:choice>

-<xsd:attribute name="firstTime" type="xsd:string"/>

-<xsd:attribute name="event" type="xsd:string"/>

+<xsd:attribute name="deployedArtifact" type="xsd:string"/>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="TimeExpression" type="uml:TimeExpression"/>

-<xsd:complexType name="Duration">

+<xsd:element name="Deployment" type="uml:Deployment"/>

+<xsd:complexType name="DeployedArtifact">

 <xsd:complexContent>

-<xsd:extension base="uml:ValueSpecification">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="event" type="uml:NamedElement"/>

-</xsd:choice>

-<xsd:attribute name="firstTime" type="xsd:string"/>

-<xsd:attribute name="event" type="xsd:string"/>

-</xsd:extension>

+<xsd:extension base="uml:NamedElement"/>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="Duration" type="uml:Duration"/>

-<xsd:complexType name="TimeObservationAction">

+<xsd:element name="DeployedArtifact" type="uml:DeployedArtifact"/>

+<xsd:complexType name="DeploymentTarget">

 <xsd:complexContent>

-<xsd:extension base="uml:WriteStructuralFeatureAction">

+<xsd:extension base="uml:NamedElement">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="now" type="uml:TimeExpression"/>

+<xsd:element name="deployment" type="uml:Deployment"/>

 </xsd:choice>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="TimeObservationAction" type="uml:TimeObservationAction"/>

-<xsd:complexType name="DurationInterval">

+<xsd:element name="DeploymentTarget" type="uml:DeploymentTarget"/>

+<xsd:complexType name="Node">

 <xsd:complexContent>

-<xsd:extension base="uml:Interval"/>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="DurationInterval" type="uml:DurationInterval"/>

-<xsd:complexType name="Interval">

-<xsd:complexContent>

-<xsd:extension base="uml:ValueSpecification">

+<xsd:extension base="uml:Class">

 <xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="min" type="uml:ValueSpecification"/>

-<xsd:element name="max" type="uml:ValueSpecification"/>

-</xsd:choice>

-<xsd:attribute name="min" type="xsd:string"/>

-<xsd:attribute name="max" type="xsd:string"/>

-</xsd:extension>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="Interval" type="uml:Interval"/>

-<xsd:complexType name="TimeConstraint">

-<xsd:complexContent>

-<xsd:extension base="uml:IntervalConstraint"/>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="TimeConstraint" type="uml:TimeConstraint"/>

-<xsd:complexType name="IntervalConstraint">

-<xsd:complexContent>

-<xsd:extension base="uml:Constraint"/>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="IntervalConstraint" type="uml:IntervalConstraint"/>

-<xsd:complexType name="TimeInterval">

-<xsd:complexContent>

-<xsd:extension base="uml:Interval"/>

-</xsd:complexContent>

-</xsd:complexType>

-<xsd:element name="TimeInterval" type="uml:TimeInterval"/>

-<xsd:complexType name="DurationObservationAction">

-<xsd:complexContent>

-<xsd:extension base="uml:WriteStructuralFeatureAction">

-<xsd:choice minOccurs="0" maxOccurs="unbounded">

-<xsd:element name="duration" type="uml:Duration"/>

+<xsd:element name="deployment" type="uml:Deployment"/>

+<xsd:element name="nestedNode" type="uml:Node"/>

 </xsd:choice>

 </xsd:extension>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="DurationObservationAction" type="uml:DurationObservationAction"/>

-<xsd:complexType name="DurationConstraint">

+<xsd:element name="Node" type="uml:Node"/>

+<xsd:complexType name="Device">

 <xsd:complexContent>

-<xsd:extension base="uml:IntervalConstraint"/>

+<xsd:extension base="uml:Node"/>

 </xsd:complexContent>

 </xsd:complexType>

-<xsd:element name="DurationConstraint" type="uml:DurationConstraint"/>

+<xsd:element name="Device" type="uml:Device"/>

+<xsd:complexType name="ExecutionEnvironment">

+<xsd:complexContent>

+<xsd:extension base="uml:Node"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="ExecutionEnvironment" type="uml:ExecutionEnvironment"/>

+<xsd:complexType name="CommunicationPath">

+<xsd:complexContent>

+<xsd:extension base="uml:Association"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="CommunicationPath" type="uml:CommunicationPath"/>

+<xsd:complexType name="DataStoreNode">

+<xsd:complexContent>

+<xsd:extension base="uml:CentralBufferNode"/>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="DataStoreNode" type="uml:DataStoreNode"/>

+<xsd:complexType name="InterruptibleActivityRegion">

+<xsd:complexContent>

+<xsd:extension base="uml:ActivityGroup">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="interruptingEdge" type="uml:ActivityEdge"/>

+<xsd:element name="containedNode" type="uml:ActivityNode"/>

+</xsd:choice>

+<xsd:attribute name="interruptingEdge" type="xsd:string"/>

+<xsd:attribute name="containedNode" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="InterruptibleActivityRegion" type="uml:InterruptibleActivityRegion"/>

+<xsd:complexType name="ParameterSet">

+<xsd:complexContent>

+<xsd:extension base="uml:NamedElement">

+<xsd:choice minOccurs="0" maxOccurs="unbounded">

+<xsd:element name="parameter" type="uml:Parameter"/>

+<xsd:element name="condition" type="uml:Constraint"/>

+</xsd:choice>

+<xsd:attribute name="parameter" type="xsd:string"/>

+</xsd:extension>

+</xsd:complexContent>

+</xsd:complexType>

+<xsd:element name="ParameterSet" type="uml:ParameterSet"/>

 <xsd:complexType name="DeploymentSpecification">

 <xsd:complexContent>

 <xsd:extension base="uml:Artifact">

diff --git a/deprecated/plugins/org.eclipse.uml2/model/UML2XMI.xsd2ecore b/deprecated/plugins/org.eclipse.uml2/model/UML2XMI.xsd2ecore
index 78badf6..32c7da4 100644
--- a/deprecated/plugins/org.eclipse.uml2/model/UML2XMI.xsd2ecore
+++ b/deprecated/plugins/org.eclipse.uml2/model/UML2XMI.xsd2ecore
@@ -37,36 +37,36 @@
       <nested inputs="UML2.ecore#//CallConcurrencyKind/guarded" outputs="UML2XMI.xsd#//CallConcurrencyKind;XSDSimpleTypeDefinition=5/XSDEnumerationFacet=1"/>

       <nested inputs="UML2.ecore#//CallConcurrencyKind/concurrent" outputs="UML2XMI.xsd#//CallConcurrencyKind;XSDSimpleTypeDefinition=5/XSDEnumerationFacet=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//InteractionOperator" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6">

-      <nested inputs="UML2.ecore#//InteractionOperator/seq" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/alt" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=1"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/opt" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=2"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/break" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=3"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/par" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=4"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/strict" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=5"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/loop" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=6"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/critical" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=7"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/neg" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=8"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/assert" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=9"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/ignore" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=10"/>

-      <nested inputs="UML2.ecore#//InteractionOperator/consider" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=11"/>

+    <nested inputs="UML2.ecore#//TransitionKind" outputs="UML2XMI.xsd#//TransitionKind;XSDSimpleTypeDefinition=6">

+      <nested inputs="UML2.ecore#//TransitionKind/internal" outputs="UML2XMI.xsd#//TransitionKind;XSDSimpleTypeDefinition=6/XSDEnumerationFacet"/>

+      <nested inputs="UML2.ecore#//TransitionKind/local" outputs="UML2XMI.xsd#//TransitionKind;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=1"/>

+      <nested inputs="UML2.ecore#//TransitionKind/external" outputs="UML2XMI.xsd#//TransitionKind;XSDSimpleTypeDefinition=6/XSDEnumerationFacet=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//TransitionKind" outputs="UML2XMI.xsd#//TransitionKind;XSDSimpleTypeDefinition=7">

-      <nested inputs="UML2.ecore#//TransitionKind/internal" outputs="UML2XMI.xsd#//TransitionKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet"/>

-      <nested inputs="UML2.ecore#//TransitionKind/local" outputs="UML2XMI.xsd#//TransitionKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=1"/>

-      <nested inputs="UML2.ecore#//TransitionKind/external" outputs="UML2XMI.xsd#//TransitionKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=2"/>

+    <nested inputs="UML2.ecore#//PseudostateKind" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7">

+      <nested inputs="UML2.ecore#//PseudostateKind/initial" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/deepHistory" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=1"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/shallowHistory" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=2"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/join" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=3"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/fork" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=4"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/junction" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=5"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/choice" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=6"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/entryPoint" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=7"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/exitPoint" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=8"/>

+      <nested inputs="UML2.ecore#//PseudostateKind/terminate" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=7/XSDEnumerationFacet=9"/>

     </nested>

-    <nested inputs="UML2.ecore#//PseudostateKind" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8">

-      <nested inputs="UML2.ecore#//PseudostateKind/initial" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/deepHistory" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=1"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/shallowHistory" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=2"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/join" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=3"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/fork" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=4"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/junction" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=5"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/choice" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=6"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/entryPoint" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=7"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/exitPoint" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=8"/>

-      <nested inputs="UML2.ecore#//PseudostateKind/terminate" outputs="UML2XMI.xsd#//PseudostateKind;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=9"/>

+    <nested inputs="UML2.ecore#//InteractionOperator" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8">

+      <nested inputs="UML2.ecore#//InteractionOperator/seq" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/alt" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=1"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/opt" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=2"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/break" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=3"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/par" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=4"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/strict" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=5"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/loop" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=6"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/critical" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=7"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/neg" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=8"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/assert" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=9"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/ignore" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=10"/>

+      <nested inputs="UML2.ecore#//InteractionOperator/consider" outputs="UML2XMI.xsd#//InteractionOperator;XSDSimpleTypeDefinition=8/XSDEnumerationFacet=11"/>

     </nested>

     <nested inputs="UML2.ecore#//ExpansionKind" outputs="UML2XMI.xsd#//ExpansionKind;XSDSimpleTypeDefinition=9">

       <nested inputs="UML2.ecore#//ExpansionKind/parallel" outputs="UML2XMI.xsd#//ExpansionKind;XSDSimpleTypeDefinition=9/XSDEnumerationFacet"/>

@@ -100,193 +100,193 @@
       <nested inputs="UML2.ecore#//MultiplicityElement/lowerValue" outputs="UML2XMI.xsd#//MultiplicityElement;XSDComplexTypeDefinition=1/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

     <nested inputs="UML2.ecore#//MultiplicityElement" outputs="UML2XMI.xsd#//MultiplicityElement;XSDElementDeclaration=1"/>

-    <nested inputs="UML2.ecore#//DirectedRelationship" outputs="UML2XMI.xsd#//DirectedRelationship;XSDComplexTypeDefinition=2"/>

-    <nested inputs="UML2.ecore#//DirectedRelationship" outputs="UML2XMI.xsd#//DirectedRelationship;XSDElementDeclaration=2"/>

-    <nested inputs="UML2.ecore#//Relationship" outputs="UML2XMI.xsd#//Relationship;XSDComplexTypeDefinition=3"/>

-    <nested inputs="UML2.ecore#//Relationship" outputs="UML2XMI.xsd#//Relationship;XSDElementDeclaration=3"/>

-    <nested inputs="UML2.ecore#//Class" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4">

-      <nested inputs="UML2.ecore#//Class/isActive" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Class/ownedOperation" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//Class/nestedClassifier" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=5"/>

-      <nested inputs="UML2.ecore#//Class/ownedReception" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=6"/>

+    <nested inputs="UML2.ecore#//NamedElement" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=2">

+      <nested inputs="UML2.ecore#//NamedElement/name" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=2/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//NamedElement/visibility" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=2/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//NamedElement/clientDependency" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=2/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//NamedElement/clientDependency" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=2/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//NamedElement/nameExpression" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=2/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//BehavioredClassifier/ownedBehavior" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//BehavioredClassifier/classifierBehavior" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//BehavioredClassifier/classifierBehavior" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//BehavioredClassifier/implementation" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-    <nested inputs="UML2.ecore#//BehavioredClassifier/ownedStateMachine" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-    <nested inputs="UML2.ecore#//Class" outputs="UML2XMI.xsd#//Class;XSDElementDeclaration=4"/>

-    <nested inputs="UML2.ecore#//Type" outputs="UML2XMI.xsd#//Type;XSDComplexTypeDefinition=5"/>

-    <nested inputs="UML2.ecore#//Type" outputs="UML2XMI.xsd#//Type;XSDElementDeclaration=5"/>

-    <nested inputs="UML2.ecore#//Property" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6">

-      <nested inputs="UML2.ecore#//Property/isDerived" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Property/isDerivedUnion" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Property/aggregation" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Property/redefinedProperty" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDAttributeUse=5"/>

-      <nested inputs="UML2.ecore#//Property/redefinedProperty" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Property/subsettedProperty" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDAttributeUse=6"/>

-      <nested inputs="UML2.ecore#//Property/subsettedProperty" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//Property/association" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDAttributeUse=7"/>

-      <nested inputs="UML2.ecore#//Property/association" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=5"/>

-      <nested inputs="UML2.ecore#//Property/defaultValue" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=6"/>

-      <nested inputs="UML2.ecore#//Property/qualifier" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=7"/>

+    <nested inputs="UML2.ecore#//NamedElement" outputs="UML2XMI.xsd#//NamedElement;XSDElementDeclaration=2"/>

+    <nested inputs="UML2.ecore#//Namespace" outputs="UML2XMI.xsd#//Namespace;XSDComplexTypeDefinition=3">

+      <nested inputs="UML2.ecore#//Namespace/ownedRule" outputs="UML2XMI.xsd#//Namespace;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Namespace/elementImport" outputs="UML2XMI.xsd#//Namespace;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Namespace/packageImport" outputs="UML2XMI.xsd#//Namespace;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//ConnectableElement/end" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDAttributeUse=1"/>

-    <nested inputs="UML2.ecore#//ConnectableElement/end" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//DeploymentTarget/deployment" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-    <nested inputs="UML2.ecore#//Property" outputs="UML2XMI.xsd#//Property;XSDElementDeclaration=6"/>

-    <nested inputs="UML2.ecore#//Operation" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7">

-      <nested inputs="UML2.ecore#//Operation/isQuery" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Operation/ownedParameter" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//Operation/precondition" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle=5"/>

-      <nested inputs="UML2.ecore#//Operation/postcondition" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle=6"/>

-      <nested inputs="UML2.ecore#//Operation/redefinedOperation" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDAttributeUse=5"/>

-      <nested inputs="UML2.ecore#//Operation/redefinedOperation" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle=7"/>

-      <nested inputs="UML2.ecore#//Operation/bodyCondition" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle=8"/>

+    <nested inputs="UML2.ecore#//Namespace" outputs="UML2XMI.xsd#//Namespace;XSDElementDeclaration=3"/>

+    <nested inputs="UML2.ecore#//Comment" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=4">

+      <nested inputs="UML2.ecore#//Comment/body" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=4/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Comment/annotatedElement" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=4/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Comment/annotatedElement" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Comment/bodyExpression" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//MultiplicityElement/isOrdered" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDAttributeUse=1"/>

-    <nested inputs="UML2.ecore#//MultiplicityElement/isUnique" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDAttributeUse=2"/>

-    <nested inputs="UML2.ecore#//MultiplicityElement/upperValue" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//MultiplicityElement/lowerValue" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDAttributeUse=3"/>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-    <nested inputs="UML2.ecore#//Operation" outputs="UML2XMI.xsd#//Operation;XSDElementDeclaration=7"/>

-    <nested inputs="UML2.ecore#//TypedElement" outputs="UML2XMI.xsd#//TypedElement;XSDComplexTypeDefinition=8">

-      <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//TypedElement;XSDComplexTypeDefinition=8/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//TypedElement;XSDComplexTypeDefinition=8/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Comment" outputs="UML2XMI.xsd#//Comment;XSDElementDeclaration=4"/>

+    <nested inputs="UML2.ecore#//DirectedRelationship" outputs="UML2XMI.xsd#//DirectedRelationship;XSDComplexTypeDefinition=5"/>

+    <nested inputs="UML2.ecore#//DirectedRelationship" outputs="UML2XMI.xsd#//DirectedRelationship;XSDElementDeclaration=5"/>

+    <nested inputs="UML2.ecore#//Relationship" outputs="UML2XMI.xsd#//Relationship;XSDComplexTypeDefinition=6"/>

+    <nested inputs="UML2.ecore#//Relationship" outputs="UML2XMI.xsd#//Relationship;XSDElementDeclaration=6"/>

+    <nested inputs="UML2.ecore#//OpaqueExpression" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=7">

+      <nested inputs="UML2.ecore#//OpaqueExpression/body" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=7/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//OpaqueExpression/language" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=7/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//OpaqueExpression/behavior" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=7/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//OpaqueExpression/behavior" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//TypedElement" outputs="UML2XMI.xsd#//TypedElement;XSDElementDeclaration=8"/>

-    <nested inputs="UML2.ecore#//Parameter" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9">

-      <nested inputs="UML2.ecore#//Parameter/direction" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Parameter/isException" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Parameter/isStream" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDAttributeUse=5"/>

-      <nested inputs="UML2.ecore#//Parameter/effect" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDAttributeUse=6"/>

-      <nested inputs="UML2.ecore#//Parameter/defaultValue" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Parameter/parameterSet" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDAttributeUse=7"/>

-      <nested inputs="UML2.ecore#//Parameter/parameterSet" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+    <nested inputs="UML2.ecore#//OpaqueExpression" outputs="UML2XMI.xsd#//OpaqueExpression;XSDElementDeclaration=7"/>

+    <nested inputs="UML2.ecore#//ValueSpecification" outputs="UML2XMI.xsd#//ValueSpecification;XSDComplexTypeDefinition=8"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//ValueSpecification;XSDComplexTypeDefinition=8/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//ValueSpecification;XSDComplexTypeDefinition=8/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ValueSpecification" outputs="UML2XMI.xsd#//ValueSpecification;XSDElementDeclaration=8"/>

+    <nested inputs="UML2.ecore#//Expression" outputs="UML2XMI.xsd#//Expression;XSDComplexTypeDefinition=9">

+      <nested inputs="UML2.ecore#//Expression/symbol" outputs="UML2XMI.xsd#//Expression;XSDComplexTypeDefinition=9/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Expression/operand" outputs="UML2XMI.xsd#//Expression;XSDComplexTypeDefinition=9/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//MultiplicityElement/isOrdered" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDAttributeUse=1"/>

-    <nested inputs="UML2.ecore#//MultiplicityElement/isUnique" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDAttributeUse=2"/>

-    <nested inputs="UML2.ecore#//MultiplicityElement/upperValue" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//MultiplicityElement/lowerValue" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=9/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-    <nested inputs="UML2.ecore#//Parameter" outputs="UML2XMI.xsd#//Parameter;XSDElementDeclaration=9"/>

-    <nested inputs="UML2.ecore#//NamedElement" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=10">

-      <nested inputs="UML2.ecore#//NamedElement/name" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=10/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//NamedElement/visibility" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=10/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//NamedElement/clientDependency" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=10/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//NamedElement/clientDependency" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//NamedElement/nameExpression" outputs="UML2XMI.xsd#//NamedElement;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Expression" outputs="UML2XMI.xsd#//Expression;XSDElementDeclaration=9"/>

+    <nested inputs="UML2.ecore#//Class" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10">

+      <nested inputs="UML2.ecore#//Class/isActive" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Class/ownedOperation" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//Class/nestedClassifier" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+      <nested inputs="UML2.ecore#//Class/ownedReception" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle=6"/>

     </nested>

-    <nested inputs="UML2.ecore#//NamedElement" outputs="UML2XMI.xsd#//NamedElement;XSDElementDeclaration=10"/>

-    <nested inputs="UML2.ecore#//Package" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11">

-      <nested inputs="UML2.ecore#//Package/ownedMember" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Package/packageMerge" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Package/appliedProfile" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Package/appliedProfile" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Package/packageExtension" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+    <nested inputs="UML2.ecore#//BehavioredClassifier/ownedBehavior" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//BehavioredClassifier/classifierBehavior" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//BehavioredClassifier/classifierBehavior" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//BehavioredClassifier/implementation" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//BehavioredClassifier/ownedStateMachine" outputs="UML2XMI.xsd#//Class;XSDComplexTypeDefinition=10/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//Class" outputs="UML2XMI.xsd#//Class;XSDElementDeclaration=10"/>

+    <nested inputs="UML2.ecore#//Type" outputs="UML2XMI.xsd#//Type;XSDComplexTypeDefinition=11"/>

+    <nested inputs="UML2.ecore#//Type" outputs="UML2XMI.xsd#//Type;XSDElementDeclaration=11"/>

+    <nested inputs="UML2.ecore#//Property" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12">

+      <nested inputs="UML2.ecore#//Property/isDerived" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Property/isDerivedUnion" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Property/aggregation" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Property/redefinedProperty" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDAttributeUse=5"/>

+      <nested inputs="UML2.ecore#//Property/redefinedProperty" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Property/subsettedProperty" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDAttributeUse=6"/>

+      <nested inputs="UML2.ecore#//Property/subsettedProperty" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//Property/association" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDAttributeUse=7"/>

+      <nested inputs="UML2.ecore#//Property/association" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+      <nested inputs="UML2.ecore#//Property/defaultValue" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle=6"/>

+      <nested inputs="UML2.ecore#//Property/qualifier" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle=7"/>

     </nested>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ConnectableElement/end" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//ConnectableElement/end" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//DeploymentTarget/deployment" outputs="UML2XMI.xsd#//Property;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//Property" outputs="UML2XMI.xsd#//Property;XSDElementDeclaration=12"/>

+    <nested inputs="UML2.ecore#//Operation" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13">

+      <nested inputs="UML2.ecore#//Operation/isQuery" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Operation/ownedParameter" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//Operation/precondition" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+      <nested inputs="UML2.ecore#//Operation/postcondition" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=6"/>

+      <nested inputs="UML2.ecore#//Operation/redefinedOperation" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDAttributeUse=5"/>

+      <nested inputs="UML2.ecore#//Operation/redefinedOperation" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=7"/>

+      <nested inputs="UML2.ecore#//Operation/bodyCondition" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=8"/>

+    </nested>

+    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//MultiplicityElement/isOrdered" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//MultiplicityElement/isUnique" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDAttributeUse=2"/>

+    <nested inputs="UML2.ecore#//MultiplicityElement/upperValue" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//MultiplicityElement/lowerValue" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDAttributeUse=3"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Operation;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//Operation" outputs="UML2XMI.xsd#//Operation;XSDElementDeclaration=13"/>

+    <nested inputs="UML2.ecore#//TypedElement" outputs="UML2XMI.xsd#//TypedElement;XSDComplexTypeDefinition=14">

+      <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//TypedElement;XSDComplexTypeDefinition=14/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//TypedElement;XSDComplexTypeDefinition=14/XSDParticle/XSDModelGroup/XSDParticle"/>

+    </nested>

+    <nested inputs="UML2.ecore#//TypedElement" outputs="UML2XMI.xsd#//TypedElement;XSDElementDeclaration=14"/>

+    <nested inputs="UML2.ecore#//Parameter" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15">

+      <nested inputs="UML2.ecore#//Parameter/direction" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Parameter/isException" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Parameter/isStream" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDAttributeUse=5"/>

+      <nested inputs="UML2.ecore#//Parameter/effect" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDAttributeUse=6"/>

+      <nested inputs="UML2.ecore#//Parameter/defaultValue" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Parameter/parameterSet" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDAttributeUse=7"/>

+      <nested inputs="UML2.ecore#//Parameter/parameterSet" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+    </nested>

+    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//MultiplicityElement/isOrdered" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//MultiplicityElement/isUnique" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDAttributeUse=2"/>

+    <nested inputs="UML2.ecore#//MultiplicityElement/upperValue" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//MultiplicityElement/lowerValue" outputs="UML2XMI.xsd#//Parameter;XSDComplexTypeDefinition=15/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//Parameter" outputs="UML2XMI.xsd#//Parameter;XSDElementDeclaration=15"/>

+    <nested inputs="UML2.ecore#//Package" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16">

+      <nested inputs="UML2.ecore#//Package/ownedMember" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Package/packageMerge" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Package/appliedProfile" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Package/appliedProfile" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Package/packageExtension" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+    </nested>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16/XSDParticle/XSDModelGroup/XSDParticle"/>

     <nested inputs="UML2.ecore#//PackageableElement/packageableElement_visibility"

-        outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=11/XSDAttributeUse=1"/>

-    <nested inputs="UML2.ecore#//Package" outputs="UML2XMI.xsd#//Package;XSDElementDeclaration=11"/>

-    <nested inputs="UML2.ecore#//Enumeration" outputs="UML2XMI.xsd#//Enumeration;XSDComplexTypeDefinition=12">

-      <nested inputs="UML2.ecore#//Enumeration/ownedLiteral" outputs="UML2XMI.xsd#//Enumeration;XSDComplexTypeDefinition=12/XSDParticle/XSDModelGroup/XSDParticle"/>

+        outputs="UML2XMI.xsd#//Package;XSDComplexTypeDefinition=16/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//Package" outputs="UML2XMI.xsd#//Package;XSDElementDeclaration=16"/>

+    <nested inputs="UML2.ecore#//Enumeration" outputs="UML2XMI.xsd#//Enumeration;XSDComplexTypeDefinition=17">

+      <nested inputs="UML2.ecore#//Enumeration/ownedLiteral" outputs="UML2XMI.xsd#//Enumeration;XSDComplexTypeDefinition=17/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Enumeration" outputs="UML2XMI.xsd#//Enumeration;XSDElementDeclaration=12"/>

-    <nested inputs="UML2.ecore#//DataType" outputs="UML2XMI.xsd#//DataType;XSDComplexTypeDefinition=13">

-      <nested inputs="UML2.ecore#//DataType/ownedAttribute" outputs="UML2XMI.xsd#//DataType;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//DataType/ownedOperation" outputs="UML2XMI.xsd#//DataType;XSDComplexTypeDefinition=13/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Enumeration" outputs="UML2XMI.xsd#//Enumeration;XSDElementDeclaration=17"/>

+    <nested inputs="UML2.ecore#//DataType" outputs="UML2XMI.xsd#//DataType;XSDComplexTypeDefinition=18">

+      <nested inputs="UML2.ecore#//DataType/ownedAttribute" outputs="UML2XMI.xsd#//DataType;XSDComplexTypeDefinition=18/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//DataType/ownedOperation" outputs="UML2XMI.xsd#//DataType;XSDComplexTypeDefinition=18/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//DataType" outputs="UML2XMI.xsd#//DataType;XSDElementDeclaration=13"/>

-    <nested inputs="UML2.ecore#//EnumerationLiteral" outputs="UML2XMI.xsd#//EnumerationLiteral;XSDComplexTypeDefinition=14"/>

-    <nested inputs="UML2.ecore#//EnumerationLiteral" outputs="UML2XMI.xsd#//EnumerationLiteral;XSDElementDeclaration=14"/>

-    <nested inputs="UML2.ecore#//PrimitiveType" outputs="UML2XMI.xsd#//PrimitiveType;XSDComplexTypeDefinition=15"/>

-    <nested inputs="UML2.ecore#//PrimitiveType" outputs="UML2XMI.xsd#//PrimitiveType;XSDElementDeclaration=15"/>

-    <nested inputs="UML2.ecore#//Namespace" outputs="UML2XMI.xsd#//Namespace;XSDComplexTypeDefinition=16">

-      <nested inputs="UML2.ecore#//Namespace/ownedRule" outputs="UML2XMI.xsd#//Namespace;XSDComplexTypeDefinition=16/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Namespace/elementImport" outputs="UML2XMI.xsd#//Namespace;XSDComplexTypeDefinition=16/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Namespace/packageImport" outputs="UML2XMI.xsd#//Namespace;XSDComplexTypeDefinition=16/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//DataType" outputs="UML2XMI.xsd#//DataType;XSDElementDeclaration=18"/>

+    <nested inputs="UML2.ecore#//EnumerationLiteral" outputs="UML2XMI.xsd#//EnumerationLiteral;XSDComplexTypeDefinition=19"/>

+    <nested inputs="UML2.ecore#//EnumerationLiteral" outputs="UML2XMI.xsd#//EnumerationLiteral;XSDElementDeclaration=19"/>

+    <nested inputs="UML2.ecore#//PrimitiveType" outputs="UML2XMI.xsd#//PrimitiveType;XSDComplexTypeDefinition=20"/>

+    <nested inputs="UML2.ecore#//PrimitiveType" outputs="UML2XMI.xsd#//PrimitiveType;XSDElementDeclaration=20"/>

+    <nested inputs="UML2.ecore#//Constraint" outputs="UML2XMI.xsd#//Constraint;XSDComplexTypeDefinition=21">

+      <nested inputs="UML2.ecore#//Constraint/specification" outputs="UML2XMI.xsd#//Constraint;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Constraint/constrainedElement" outputs="UML2XMI.xsd#//Constraint;XSDComplexTypeDefinition=21/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Constraint/constrainedElement" outputs="UML2XMI.xsd#//Constraint;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Namespace" outputs="UML2XMI.xsd#//Namespace;XSDElementDeclaration=16"/>

-    <nested inputs="UML2.ecore#//Comment" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=17">

-      <nested inputs="UML2.ecore#//Comment/body" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=17/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Comment/annotatedElement" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=17/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Comment/annotatedElement" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=17/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Comment/bodyExpression" outputs="UML2XMI.xsd#//Comment;XSDComplexTypeDefinition=17/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Constraint" outputs="UML2XMI.xsd#//Constraint;XSDElementDeclaration=21"/>

+    <nested inputs="UML2.ecore#//LiteralBoolean" outputs="UML2XMI.xsd#//LiteralBoolean;XSDComplexTypeDefinition=22">

+      <nested inputs="UML2.ecore#//LiteralBoolean/value" outputs="UML2XMI.xsd#//LiteralBoolean;XSDComplexTypeDefinition=22/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//Comment" outputs="UML2XMI.xsd#//Comment;XSDElementDeclaration=17"/>

-    <nested inputs="UML2.ecore#//OpaqueExpression" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=18">

-      <nested inputs="UML2.ecore#//OpaqueExpression/body" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=18/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//OpaqueExpression/language" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=18/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//OpaqueExpression/behavior" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=18/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//OpaqueExpression/behavior" outputs="UML2XMI.xsd#//OpaqueExpression;XSDComplexTypeDefinition=18/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//LiteralBoolean" outputs="UML2XMI.xsd#//LiteralBoolean;XSDElementDeclaration=22"/>

+    <nested inputs="UML2.ecore#//LiteralSpecification" outputs="UML2XMI.xsd#//LiteralSpecification;XSDComplexTypeDefinition=23"/>

+    <nested inputs="UML2.ecore#//LiteralSpecification" outputs="UML2XMI.xsd#//LiteralSpecification;XSDElementDeclaration=23"/>

+    <nested inputs="UML2.ecore#//LiteralString" outputs="UML2XMI.xsd#//LiteralString;XSDComplexTypeDefinition=24">

+      <nested inputs="UML2.ecore#//LiteralString/value" outputs="UML2XMI.xsd#//LiteralString;XSDComplexTypeDefinition=24/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//OpaqueExpression" outputs="UML2XMI.xsd#//OpaqueExpression;XSDElementDeclaration=18"/>

-    <nested inputs="UML2.ecore#//ValueSpecification" outputs="UML2XMI.xsd#//ValueSpecification;XSDComplexTypeDefinition=19"/>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//ValueSpecification;XSDComplexTypeDefinition=19/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//ValueSpecification;XSDComplexTypeDefinition=19/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//ValueSpecification" outputs="UML2XMI.xsd#//ValueSpecification;XSDElementDeclaration=19"/>

-    <nested inputs="UML2.ecore#//Expression" outputs="UML2XMI.xsd#//Expression;XSDComplexTypeDefinition=20">

-      <nested inputs="UML2.ecore#//Expression/symbol" outputs="UML2XMI.xsd#//Expression;XSDComplexTypeDefinition=20/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Expression/operand" outputs="UML2XMI.xsd#//Expression;XSDComplexTypeDefinition=20/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//LiteralString" outputs="UML2XMI.xsd#//LiteralString;XSDElementDeclaration=24"/>

+    <nested inputs="UML2.ecore#//LiteralNull" outputs="UML2XMI.xsd#//LiteralNull;XSDComplexTypeDefinition=25"/>

+    <nested inputs="UML2.ecore#//LiteralNull" outputs="UML2XMI.xsd#//LiteralNull;XSDElementDeclaration=25"/>

+    <nested inputs="UML2.ecore#//LiteralInteger" outputs="UML2XMI.xsd#//LiteralInteger;XSDComplexTypeDefinition=26">

+      <nested inputs="UML2.ecore#//LiteralInteger/value" outputs="UML2XMI.xsd#//LiteralInteger;XSDComplexTypeDefinition=26/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//Expression" outputs="UML2XMI.xsd#//Expression;XSDElementDeclaration=20"/>

-    <nested inputs="UML2.ecore#//Classifier" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21">

-      <nested inputs="UML2.ecore#//Classifier/isAbstract" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Classifier/generalization" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Classifier/redefinedClassifier" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Classifier/redefinedClassifier" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Classifier/substitution" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Classifier/powertypeExtent" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDAttributeUse=5"/>

-      <nested inputs="UML2.ecore#//Classifier/powertypeExtent" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//Classifier/ownedUseCase" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle=5"/>

-      <nested inputs="UML2.ecore#//Classifier/representation" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDAttributeUse=6"/>

-      <nested inputs="UML2.ecore#//Classifier/representation" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle=6"/>

-      <nested inputs="UML2.ecore#//Classifier/occurrence" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle=7"/>

+    <nested inputs="UML2.ecore#//LiteralInteger" outputs="UML2XMI.xsd#//LiteralInteger;XSDElementDeclaration=26"/>

+    <nested inputs="UML2.ecore#//LiteralUnlimitedNatural" outputs="UML2XMI.xsd#//LiteralUnlimitedNatural;XSDComplexTypeDefinition=27">

+      <nested inputs="UML2.ecore#//LiteralUnlimitedNatural/value" outputs="UML2XMI.xsd#//LiteralUnlimitedNatural;XSDComplexTypeDefinition=27/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//LiteralUnlimitedNatural" outputs="UML2XMI.xsd#//LiteralUnlimitedNatural;XSDElementDeclaration=27"/>

+    <nested inputs="UML2.ecore#//Classifier" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28">

+      <nested inputs="UML2.ecore#//Classifier/isAbstract" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Classifier/generalization" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Classifier/redefinedClassifier" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Classifier/redefinedClassifier" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Classifier/substitution" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Classifier/powertypeExtent" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDAttributeUse=5"/>

+      <nested inputs="UML2.ecore#//Classifier/powertypeExtent" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//Classifier/ownedUseCase" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+      <nested inputs="UML2.ecore#//Classifier/representation" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDAttributeUse=6"/>

+      <nested inputs="UML2.ecore#//Classifier/representation" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDParticle/XSDModelGroup/XSDParticle=6"/>

+      <nested inputs="UML2.ecore#//Classifier/occurrence" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDParticle/XSDModelGroup/XSDParticle=7"/>

+    </nested>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDParticle/XSDModelGroup/XSDParticle"/>

     <nested inputs="UML2.ecore#//PackageableElement/packageableElement_visibility"

-        outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDAttributeUse=1"/>

-    <nested inputs="UML2.ecore#//RedefinableElement/isLeaf" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=21/XSDAttributeUse=2"/>

-    <nested inputs="UML2.ecore#//Classifier" outputs="UML2XMI.xsd#//Classifier;XSDElementDeclaration=21"/>

-    <nested inputs="UML2.ecore#//Feature" outputs="UML2XMI.xsd#//Feature;XSDComplexTypeDefinition=22">

-      <nested inputs="UML2.ecore#//Feature/isStatic" outputs="UML2XMI.xsd#//Feature;XSDComplexTypeDefinition=22/XSDAttributeUse"/>

+        outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//RedefinableElement/isLeaf" outputs="UML2XMI.xsd#//Classifier;XSDComplexTypeDefinition=28/XSDAttributeUse=2"/>

+    <nested inputs="UML2.ecore#//Classifier" outputs="UML2XMI.xsd#//Classifier;XSDElementDeclaration=28"/>

+    <nested inputs="UML2.ecore#//Feature" outputs="UML2XMI.xsd#//Feature;XSDComplexTypeDefinition=29">

+      <nested inputs="UML2.ecore#//Feature/isStatic" outputs="UML2XMI.xsd#//Feature;XSDComplexTypeDefinition=29/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//Feature" outputs="UML2XMI.xsd#//Feature;XSDElementDeclaration=22"/>

-    <nested inputs="UML2.ecore#//LiteralBoolean" outputs="UML2XMI.xsd#//LiteralBoolean;XSDComplexTypeDefinition=23">

-      <nested inputs="UML2.ecore#//LiteralBoolean/value" outputs="UML2XMI.xsd#//LiteralBoolean;XSDComplexTypeDefinition=23/XSDAttributeUse"/>

-    </nested>

-    <nested inputs="UML2.ecore#//LiteralBoolean" outputs="UML2XMI.xsd#//LiteralBoolean;XSDElementDeclaration=23"/>

-    <nested inputs="UML2.ecore#//LiteralSpecification" outputs="UML2XMI.xsd#//LiteralSpecification;XSDComplexTypeDefinition=24"/>

-    <nested inputs="UML2.ecore#//LiteralSpecification" outputs="UML2XMI.xsd#//LiteralSpecification;XSDElementDeclaration=24"/>

-    <nested inputs="UML2.ecore#//LiteralString" outputs="UML2XMI.xsd#//LiteralString;XSDComplexTypeDefinition=25">

-      <nested inputs="UML2.ecore#//LiteralString/value" outputs="UML2XMI.xsd#//LiteralString;XSDComplexTypeDefinition=25/XSDAttributeUse"/>

-    </nested>

-    <nested inputs="UML2.ecore#//LiteralString" outputs="UML2XMI.xsd#//LiteralString;XSDElementDeclaration=25"/>

-    <nested inputs="UML2.ecore#//LiteralNull" outputs="UML2XMI.xsd#//LiteralNull;XSDComplexTypeDefinition=26"/>

-    <nested inputs="UML2.ecore#//LiteralNull" outputs="UML2XMI.xsd#//LiteralNull;XSDElementDeclaration=26"/>

-    <nested inputs="UML2.ecore#//LiteralInteger" outputs="UML2XMI.xsd#//LiteralInteger;XSDComplexTypeDefinition=27">

-      <nested inputs="UML2.ecore#//LiteralInteger/value" outputs="UML2XMI.xsd#//LiteralInteger;XSDComplexTypeDefinition=27/XSDAttributeUse"/>

-    </nested>

-    <nested inputs="UML2.ecore#//LiteralInteger" outputs="UML2XMI.xsd#//LiteralInteger;XSDElementDeclaration=27"/>

-    <nested inputs="UML2.ecore#//LiteralUnlimitedNatural" outputs="UML2XMI.xsd#//LiteralUnlimitedNatural;XSDComplexTypeDefinition=28">

-      <nested inputs="UML2.ecore#//LiteralUnlimitedNatural/value" outputs="UML2XMI.xsd#//LiteralUnlimitedNatural;XSDComplexTypeDefinition=28/XSDAttributeUse"/>

-    </nested>

-    <nested inputs="UML2.ecore#//LiteralUnlimitedNatural" outputs="UML2XMI.xsd#//LiteralUnlimitedNatural;XSDElementDeclaration=28"/>

-    <nested inputs="UML2.ecore#//Constraint" outputs="UML2XMI.xsd#//Constraint;XSDComplexTypeDefinition=29">

-      <nested inputs="UML2.ecore#//Constraint/specification" outputs="UML2XMI.xsd#//Constraint;XSDComplexTypeDefinition=29/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Constraint/constrainedElement" outputs="UML2XMI.xsd#//Constraint;XSDComplexTypeDefinition=29/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Constraint/constrainedElement" outputs="UML2XMI.xsd#//Constraint;XSDComplexTypeDefinition=29/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    </nested>

-    <nested inputs="UML2.ecore#//Constraint" outputs="UML2XMI.xsd#//Constraint;XSDElementDeclaration=29"/>

+    <nested inputs="UML2.ecore#//Feature" outputs="UML2XMI.xsd#//Feature;XSDElementDeclaration=29"/>

     <nested inputs="UML2.ecore#//BehavioralFeature" outputs="UML2XMI.xsd#//BehavioralFeature;XSDComplexTypeDefinition=30">

       <nested inputs="UML2.ecore#//BehavioralFeature/isAbstract" outputs="UML2XMI.xsd#//BehavioralFeature;XSDComplexTypeDefinition=30/XSDAttributeUse=2"/>

       <nested inputs="UML2.ecore#//BehavioralFeature/concurrency" outputs="UML2XMI.xsd#//BehavioralFeature;XSDComplexTypeDefinition=30/XSDAttributeUse=3"/>

@@ -310,37 +310,37 @@
     <nested inputs="UML2.ecore#//MultiplicityElement/upperValue" outputs="UML2XMI.xsd#//StructuralFeature;XSDComplexTypeDefinition=31/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     <nested inputs="UML2.ecore#//MultiplicityElement/lowerValue" outputs="UML2XMI.xsd#//StructuralFeature;XSDComplexTypeDefinition=31/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     <nested inputs="UML2.ecore#//StructuralFeature" outputs="UML2XMI.xsd#//StructuralFeature;XSDElementDeclaration=31"/>

-    <nested inputs="UML2.ecore#//InstanceSpecification" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=32">

-      <nested inputs="UML2.ecore#//InstanceSpecification/slot" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=32/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//InstanceSpecification/classifier" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=32/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//InstanceSpecification/classifier" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=32/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//InstanceSpecification/specification" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=32/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//Generalization" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=32">

+      <nested inputs="UML2.ecore#//Generalization/isSubstitutable" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=32/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Generalization/general" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=32/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Generalization/general" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=32/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Generalization/generalizationSet" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=32/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Generalization/generalizationSet" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=32/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//DeploymentTarget/deployment" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=32/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//InstanceSpecification" outputs="UML2XMI.xsd#//InstanceSpecification;XSDElementDeclaration=32"/>

-    <nested inputs="UML2.ecore#//Slot" outputs="UML2XMI.xsd#//Slot;XSDComplexTypeDefinition=33">

-      <nested inputs="UML2.ecore#//Slot/value" outputs="UML2XMI.xsd#//Slot;XSDComplexTypeDefinition=33/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Slot/definingFeature" outputs="UML2XMI.xsd#//Slot;XSDComplexTypeDefinition=33/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Slot/definingFeature" outputs="UML2XMI.xsd#//Slot;XSDComplexTypeDefinition=33/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Generalization" outputs="UML2XMI.xsd#//Generalization;XSDElementDeclaration=32"/>

+    <nested inputs="UML2.ecore#//RedefinableElement" outputs="UML2XMI.xsd#//RedefinableElement;XSDComplexTypeDefinition=33">

+      <nested inputs="UML2.ecore#//RedefinableElement/isLeaf" outputs="UML2XMI.xsd#//RedefinableElement;XSDComplexTypeDefinition=33/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//Slot" outputs="UML2XMI.xsd#//Slot;XSDElementDeclaration=33"/>

-    <nested inputs="UML2.ecore#//InstanceValue" outputs="UML2XMI.xsd#//InstanceValue;XSDComplexTypeDefinition=34">

-      <nested inputs="UML2.ecore#//InstanceValue/instance" outputs="UML2XMI.xsd#//InstanceValue;XSDComplexTypeDefinition=34/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//InstanceValue/instance" outputs="UML2XMI.xsd#//InstanceValue;XSDComplexTypeDefinition=34/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//RedefinableElement" outputs="UML2XMI.xsd#//RedefinableElement;XSDElementDeclaration=33"/>

+    <nested inputs="UML2.ecore#//InstanceSpecification" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=34">

+      <nested inputs="UML2.ecore#//InstanceSpecification/slot" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=34/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//InstanceSpecification/classifier" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=34/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//InstanceSpecification/classifier" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=34/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//InstanceSpecification/specification" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=34/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//InstanceValue" outputs="UML2XMI.xsd#//InstanceValue;XSDElementDeclaration=34"/>

-    <nested inputs="UML2.ecore#//RedefinableElement" outputs="UML2XMI.xsd#//RedefinableElement;XSDComplexTypeDefinition=35">

-      <nested inputs="UML2.ecore#//RedefinableElement/isLeaf" outputs="UML2XMI.xsd#//RedefinableElement;XSDComplexTypeDefinition=35/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//DeploymentTarget/deployment" outputs="UML2XMI.xsd#//InstanceSpecification;XSDComplexTypeDefinition=34/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//InstanceSpecification" outputs="UML2XMI.xsd#//InstanceSpecification;XSDElementDeclaration=34"/>

+    <nested inputs="UML2.ecore#//Slot" outputs="UML2XMI.xsd#//Slot;XSDComplexTypeDefinition=35">

+      <nested inputs="UML2.ecore#//Slot/value" outputs="UML2XMI.xsd#//Slot;XSDComplexTypeDefinition=35/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Slot/definingFeature" outputs="UML2XMI.xsd#//Slot;XSDComplexTypeDefinition=35/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Slot/definingFeature" outputs="UML2XMI.xsd#//Slot;XSDComplexTypeDefinition=35/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//RedefinableElement" outputs="UML2XMI.xsd#//RedefinableElement;XSDElementDeclaration=35"/>

-    <nested inputs="UML2.ecore#//Generalization" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=36">

-      <nested inputs="UML2.ecore#//Generalization/isSubstitutable" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=36/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Generalization/general" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=36/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Generalization/general" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=36/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Generalization/generalizationSet" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=36/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Generalization/generalizationSet" outputs="UML2XMI.xsd#//Generalization;XSDComplexTypeDefinition=36/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Slot" outputs="UML2XMI.xsd#//Slot;XSDElementDeclaration=35"/>

+    <nested inputs="UML2.ecore#//InstanceValue" outputs="UML2XMI.xsd#//InstanceValue;XSDComplexTypeDefinition=36">

+      <nested inputs="UML2.ecore#//InstanceValue/instance" outputs="UML2XMI.xsd#//InstanceValue;XSDComplexTypeDefinition=36/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//InstanceValue/instance" outputs="UML2XMI.xsd#//InstanceValue;XSDComplexTypeDefinition=36/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Generalization" outputs="UML2XMI.xsd#//Generalization;XSDElementDeclaration=36"/>

+    <nested inputs="UML2.ecore#//InstanceValue" outputs="UML2XMI.xsd#//InstanceValue;XSDElementDeclaration=36"/>

     <nested inputs="UML2.ecore#//PackageableElement" outputs="UML2XMI.xsd#//PackageableElement;XSDComplexTypeDefinition=37">

       <nested inputs="UML2.ecore#//PackageableElement/packageableElement_visibility"

           outputs="UML2XMI.xsd#//PackageableElement;XSDComplexTypeDefinition=37/XSDAttributeUse=1"/>

@@ -391,270 +391,270 @@
     <nested inputs="UML2.ecore#//Extension" outputs="UML2XMI.xsd#//Extension;XSDElementDeclaration=45"/>

     <nested inputs="UML2.ecore#//ExtensionEnd" outputs="UML2XMI.xsd#//ExtensionEnd;XSDComplexTypeDefinition=46"/>

     <nested inputs="UML2.ecore#//ExtensionEnd" outputs="UML2XMI.xsd#//ExtensionEnd;XSDElementDeclaration=46"/>

-    <nested inputs="UML2.ecore#//Model" outputs="UML2XMI.xsd#//Model;XSDComplexTypeDefinition=47">

-      <nested inputs="UML2.ecore#//Model/viewpoint" outputs="UML2XMI.xsd#//Model;XSDComplexTypeDefinition=47/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//Permission" outputs="UML2XMI.xsd#//Permission;XSDComplexTypeDefinition=47"/>

+    <nested inputs="UML2.ecore#//Permission" outputs="UML2XMI.xsd#//Permission;XSDElementDeclaration=47"/>

+    <nested inputs="UML2.ecore#//Dependency" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=48">

+      <nested inputs="UML2.ecore#//Dependency/client" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=48/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Dependency/client" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=48/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Dependency/supplier" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=48/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Dependency/supplier" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=48/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Model" outputs="UML2XMI.xsd#//Model;XSDElementDeclaration=47"/>

-    <nested inputs="UML2.ecore#//Permission" outputs="UML2XMI.xsd#//Permission;XSDComplexTypeDefinition=48"/>

-    <nested inputs="UML2.ecore#//Permission" outputs="UML2XMI.xsd#//Permission;XSDElementDeclaration=48"/>

-    <nested inputs="UML2.ecore#//Dependency" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=49">

-      <nested inputs="UML2.ecore#//Dependency/client" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=49/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Dependency/client" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=49/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Dependency/supplier" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=49/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Dependency/supplier" outputs="UML2XMI.xsd#//Dependency;XSDComplexTypeDefinition=49/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Dependency" outputs="UML2XMI.xsd#//Dependency;XSDElementDeclaration=48"/>

+    <nested inputs="UML2.ecore#//Usage" outputs="UML2XMI.xsd#//Usage;XSDComplexTypeDefinition=49"/>

+    <nested inputs="UML2.ecore#//Usage" outputs="UML2XMI.xsd#//Usage;XSDElementDeclaration=49"/>

+    <nested inputs="UML2.ecore#//Abstraction" outputs="UML2XMI.xsd#//Abstraction;XSDComplexTypeDefinition=50">

+      <nested inputs="UML2.ecore#//Abstraction/mapping" outputs="UML2XMI.xsd#//Abstraction;XSDComplexTypeDefinition=50/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Dependency" outputs="UML2XMI.xsd#//Dependency;XSDElementDeclaration=49"/>

-    <nested inputs="UML2.ecore#//Usage" outputs="UML2XMI.xsd#//Usage;XSDComplexTypeDefinition=50"/>

-    <nested inputs="UML2.ecore#//Usage" outputs="UML2XMI.xsd#//Usage;XSDElementDeclaration=50"/>

-    <nested inputs="UML2.ecore#//Abstraction" outputs="UML2XMI.xsd#//Abstraction;XSDComplexTypeDefinition=51">

-      <nested inputs="UML2.ecore#//Abstraction/mapping" outputs="UML2XMI.xsd#//Abstraction;XSDComplexTypeDefinition=51/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Abstraction" outputs="UML2XMI.xsd#//Abstraction;XSDElementDeclaration=50"/>

+    <nested inputs="UML2.ecore#//Realization" outputs="UML2XMI.xsd#//Realization;XSDComplexTypeDefinition=51">

+      <nested inputs="UML2.ecore#//Realization/realizingClassifier" outputs="UML2XMI.xsd#//Realization;XSDComplexTypeDefinition=51/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Realization/realizingClassifier" outputs="UML2XMI.xsd#//Realization;XSDComplexTypeDefinition=51/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Abstraction" outputs="UML2XMI.xsd#//Abstraction;XSDElementDeclaration=51"/>

-    <nested inputs="UML2.ecore#//Realization" outputs="UML2XMI.xsd#//Realization;XSDComplexTypeDefinition=52">

-      <nested inputs="UML2.ecore#//Realization/realizingClassifier" outputs="UML2XMI.xsd#//Realization;XSDComplexTypeDefinition=52/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Realization/realizingClassifier" outputs="UML2XMI.xsd#//Realization;XSDComplexTypeDefinition=52/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Realization" outputs="UML2XMI.xsd#//Realization;XSDElementDeclaration=51"/>

+    <nested inputs="UML2.ecore#//Substitution" outputs="UML2XMI.xsd#//Substitution;XSDComplexTypeDefinition=52">

+      <nested inputs="UML2.ecore#//Substitution/contract" outputs="UML2XMI.xsd#//Substitution;XSDComplexTypeDefinition=52/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Substitution/contract" outputs="UML2XMI.xsd#//Substitution;XSDComplexTypeDefinition=52/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Realization" outputs="UML2XMI.xsd#//Realization;XSDElementDeclaration=52"/>

-    <nested inputs="UML2.ecore#//Substitution" outputs="UML2XMI.xsd#//Substitution;XSDComplexTypeDefinition=53">

-      <nested inputs="UML2.ecore#//Substitution/contract" outputs="UML2XMI.xsd#//Substitution;XSDComplexTypeDefinition=53/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Substitution/contract" outputs="UML2XMI.xsd#//Substitution;XSDComplexTypeDefinition=53/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Substitution" outputs="UML2XMI.xsd#//Substitution;XSDElementDeclaration=52"/>

+    <nested inputs="UML2.ecore#//Behavior" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53">

+      <nested inputs="UML2.ecore#//Behavior/isReentrant" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Behavior/redefinedBehavior" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Behavior/redefinedBehavior" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Behavior/specification" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Behavior/specification" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Behavior/parameter" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Behavior/precondition" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Behavior/precondition" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Behavior/postcondition" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Behavior/postcondition" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=53/XSDParticle/XSDModelGroup/XSDParticle=4"/>

     </nested>

-    <nested inputs="UML2.ecore#//Substitution" outputs="UML2XMI.xsd#//Substitution;XSDElementDeclaration=53"/>

-    <nested inputs="UML2.ecore#//GeneralizationSet" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=54">

-      <nested inputs="UML2.ecore#//GeneralizationSet/isCovering" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=54/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//GeneralizationSet/isDisjoint" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=54/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//GeneralizationSet/powertype" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=54/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//GeneralizationSet/powertype" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=54/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//GeneralizationSet/generalization" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=54/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//GeneralizationSet/generalization" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=54/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Behavior" outputs="UML2XMI.xsd#//Behavior;XSDElementDeclaration=53"/>

+    <nested inputs="UML2.ecore#//BehavioredClassifier" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=54">

+      <nested inputs="UML2.ecore#//BehavioredClassifier/ownedBehavior" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=54/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//BehavioredClassifier/classifierBehavior" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=54/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//BehavioredClassifier/classifierBehavior" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=54/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//BehavioredClassifier/implementation" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=54/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//BehavioredClassifier/ownedStateMachine" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=54/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//GeneralizationSet" outputs="UML2XMI.xsd#//GeneralizationSet;XSDElementDeclaration=54"/>

-    <nested inputs="UML2.ecore#//InformationItem" outputs="UML2XMI.xsd#//InformationItem;XSDComplexTypeDefinition=55">

-      <nested inputs="UML2.ecore#//InformationItem/represented" outputs="UML2XMI.xsd#//InformationItem;XSDComplexTypeDefinition=55/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//InformationItem/represented" outputs="UML2XMI.xsd#//InformationItem;XSDComplexTypeDefinition=55/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//BehavioredClassifier" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDElementDeclaration=54"/>

+    <nested inputs="UML2.ecore#//Activity" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55">

+      <nested inputs="UML2.ecore#//Activity/body" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Activity/language" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Activity/isSingleExecution" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Activity/isReadOnly" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Activity/edge" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Activity/group" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Activity/node" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Activity/action" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Activity/action" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=55/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//InformationItem" outputs="UML2XMI.xsd#//InformationItem;XSDElementDeclaration=55"/>

-    <nested inputs="UML2.ecore#//InformationFlow" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=56">

-      <nested inputs="UML2.ecore#//InformationFlow/realization" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=56/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//InformationFlow/realization" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=56/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//InformationFlow/conveyed" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=56/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//InformationFlow/conveyed" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=56/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Activity" outputs="UML2XMI.xsd#//Activity;XSDElementDeclaration=55"/>

+    <nested inputs="UML2.ecore#//AssociationClass" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=56"/>

+    <nested inputs="UML2.ecore#//Association/isDerived" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=56/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//Association/ownedEnd" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=56/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Association/memberEnd" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=56/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//Association/memberEnd" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=56/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//AssociationClass" outputs="UML2XMI.xsd#//AssociationClass;XSDElementDeclaration=56"/>

+    <nested inputs="UML2.ecore#//Model" outputs="UML2XMI.xsd#//Model;XSDComplexTypeDefinition=57">

+      <nested inputs="UML2.ecore#//Model/viewpoint" outputs="UML2XMI.xsd#//Model;XSDComplexTypeDefinition=57/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//InformationFlow" outputs="UML2XMI.xsd#//InformationFlow;XSDElementDeclaration=56"/>

-    <nested inputs="UML2.ecore#//AssociationClass" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=57"/>

-    <nested inputs="UML2.ecore#//Association/isDerived" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=57/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//Association/ownedEnd" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=57/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//Association/memberEnd" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=57/XSDAttributeUse=1"/>

-    <nested inputs="UML2.ecore#//Association/memberEnd" outputs="UML2XMI.xsd#//AssociationClass;XSDComplexTypeDefinition=57/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//AssociationClass" outputs="UML2XMI.xsd#//AssociationClass;XSDElementDeclaration=57"/>

-    <nested inputs="UML2.ecore#//Behavior" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58">

-      <nested inputs="UML2.ecore#//Behavior/isReentrant" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Behavior/redefinedBehavior" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Behavior/redefinedBehavior" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Behavior/specification" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Behavior/specification" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Behavior/parameter" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Behavior/precondition" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Behavior/precondition" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Behavior/postcondition" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Behavior/postcondition" outputs="UML2XMI.xsd#//Behavior;XSDComplexTypeDefinition=58/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+    <nested inputs="UML2.ecore#//Model" outputs="UML2XMI.xsd#//Model;XSDElementDeclaration=57"/>

+    <nested inputs="UML2.ecore#//InformationItem" outputs="UML2XMI.xsd#//InformationItem;XSDComplexTypeDefinition=58">

+      <nested inputs="UML2.ecore#//InformationItem/represented" outputs="UML2XMI.xsd#//InformationItem;XSDComplexTypeDefinition=58/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//InformationItem/represented" outputs="UML2XMI.xsd#//InformationItem;XSDComplexTypeDefinition=58/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Behavior" outputs="UML2XMI.xsd#//Behavior;XSDElementDeclaration=58"/>

-    <nested inputs="UML2.ecore#//BehavioredClassifier" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=59">

-      <nested inputs="UML2.ecore#//BehavioredClassifier/ownedBehavior" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=59/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//BehavioredClassifier/classifierBehavior" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=59/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//BehavioredClassifier/classifierBehavior" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=59/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//BehavioredClassifier/implementation" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=59/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//BehavioredClassifier/ownedStateMachine" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDComplexTypeDefinition=59/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//InformationItem" outputs="UML2XMI.xsd#//InformationItem;XSDElementDeclaration=58"/>

+    <nested inputs="UML2.ecore#//InformationFlow" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=59">

+      <nested inputs="UML2.ecore#//InformationFlow/realization" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=59/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//InformationFlow/realization" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=59/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//InformationFlow/conveyed" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=59/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//InformationFlow/conveyed" outputs="UML2XMI.xsd#//InformationFlow;XSDComplexTypeDefinition=59/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//BehavioredClassifier" outputs="UML2XMI.xsd#//BehavioredClassifier;XSDElementDeclaration=59"/>

-    <nested inputs="UML2.ecore#//Activity" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60">

-      <nested inputs="UML2.ecore#//Activity/body" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Activity/language" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Activity/isSingleExecution" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Activity/isReadOnly" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Activity/edge" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Activity/group" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Activity/node" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Activity/action" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Activity/action" outputs="UML2XMI.xsd#//Activity;XSDComplexTypeDefinition=60/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//InformationFlow" outputs="UML2XMI.xsd#//InformationFlow;XSDElementDeclaration=59"/>

+    <nested inputs="UML2.ecore#//GeneralizationSet" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=60">

+      <nested inputs="UML2.ecore#//GeneralizationSet/isCovering" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=60/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//GeneralizationSet/isDisjoint" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=60/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//GeneralizationSet/powertype" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=60/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//GeneralizationSet/powertype" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=60/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//GeneralizationSet/generalization" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=60/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//GeneralizationSet/generalization" outputs="UML2XMI.xsd#//GeneralizationSet;XSDComplexTypeDefinition=60/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Activity" outputs="UML2XMI.xsd#//Activity;XSDElementDeclaration=60"/>

-    <nested inputs="UML2.ecore#//Artifact" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=61">

-      <nested inputs="UML2.ecore#//Artifact/fileName" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=61/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Artifact/nestedArtifact" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=61/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Artifact/manifestation" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=61/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Artifact/ownedOperation" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=61/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Artifact/ownedAttribute" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=61/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//GeneralizationSet" outputs="UML2XMI.xsd#//GeneralizationSet;XSDElementDeclaration=60"/>

+    <nested inputs="UML2.ecore#//ConnectorEnd" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=61">

+      <nested inputs="UML2.ecore#//ConnectorEnd/role" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=61/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ConnectorEnd/role" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=61/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ConnectorEnd/partWithPort" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=61/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ConnectorEnd/partWithPort" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=61/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Artifact" outputs="UML2XMI.xsd#//Artifact;XSDElementDeclaration=61"/>

-    <nested inputs="UML2.ecore#//Manifestation" outputs="UML2XMI.xsd#//Manifestation;XSDComplexTypeDefinition=62">

-      <nested inputs="UML2.ecore#//Manifestation/utilizedElement" outputs="UML2XMI.xsd#//Manifestation;XSDComplexTypeDefinition=62/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Manifestation/utilizedElement" outputs="UML2XMI.xsd#//Manifestation;XSDComplexTypeDefinition=62/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ConnectorEnd" outputs="UML2XMI.xsd#//ConnectorEnd;XSDElementDeclaration=61"/>

+    <nested inputs="UML2.ecore#//ConnectableElement" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=62">

+      <nested inputs="UML2.ecore#//ConnectableElement/end" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=62/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ConnectableElement/end" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=62/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Manifestation" outputs="UML2XMI.xsd#//Manifestation;XSDElementDeclaration=62"/>

-    <nested inputs="UML2.ecore#//Actor" outputs="UML2XMI.xsd#//Actor;XSDComplexTypeDefinition=63"/>

-    <nested inputs="UML2.ecore#//Actor" outputs="UML2XMI.xsd#//Actor;XSDElementDeclaration=63"/>

-    <nested inputs="UML2.ecore#//Extend" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=64">

-      <nested inputs="UML2.ecore#//Extend/extendedCase" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=64/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Extend/extendedCase" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=64/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Extend/condition" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=64/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Extend/extensionLocation" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=64/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Extend/extensionLocation" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=64/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=62/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=62/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ConnectableElement" outputs="UML2XMI.xsd#//ConnectableElement;XSDElementDeclaration=62"/>

+    <nested inputs="UML2.ecore#//Connector" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63">

+      <nested inputs="UML2.ecore#//Connector/kind" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Connector/type" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Connector/type" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Connector/redefinedConnector" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Connector/redefinedConnector" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Connector/end" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Connector/contract" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Connector/contract" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=63/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//Extend" outputs="UML2XMI.xsd#//Extend;XSDElementDeclaration=64"/>

-    <nested inputs="UML2.ecore#//UseCase" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=65">

-      <nested inputs="UML2.ecore#//UseCase/include" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//UseCase/extend" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//UseCase/extensionPoint" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//UseCase/subject" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=65/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//UseCase/subject" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//Connector" outputs="UML2XMI.xsd#//Connector;XSDElementDeclaration=63"/>

+    <nested inputs="UML2.ecore#//StructuredClassifier" outputs="UML2XMI.xsd#//StructuredClassifier;XSDComplexTypeDefinition=64">

+      <nested inputs="UML2.ecore#//StructuredClassifier/ownedAttribute" outputs="UML2XMI.xsd#//StructuredClassifier;XSDComplexTypeDefinition=64/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//StructuredClassifier/ownedConnector" outputs="UML2XMI.xsd#//StructuredClassifier;XSDComplexTypeDefinition=64/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//UseCase" outputs="UML2XMI.xsd#//UseCase;XSDElementDeclaration=65"/>

-    <nested inputs="UML2.ecore#//ExtensionPoint" outputs="UML2XMI.xsd#//ExtensionPoint;XSDComplexTypeDefinition=66"/>

-    <nested inputs="UML2.ecore#//ExtensionPoint" outputs="UML2XMI.xsd#//ExtensionPoint;XSDElementDeclaration=66"/>

-    <nested inputs="UML2.ecore#//Include" outputs="UML2XMI.xsd#//Include;XSDComplexTypeDefinition=67">

-      <nested inputs="UML2.ecore#//Include/addition" outputs="UML2XMI.xsd#//Include;XSDComplexTypeDefinition=67/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Include/addition" outputs="UML2XMI.xsd#//Include;XSDComplexTypeDefinition=67/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//StructuredClassifier" outputs="UML2XMI.xsd#//StructuredClassifier;XSDElementDeclaration=64"/>

+    <nested inputs="UML2.ecore#//Interface" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=65">

+      <nested inputs="UML2.ecore#//Interface/ownedAttribute" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Interface/ownedOperation" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Interface/redefinedInterface" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=65/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Interface/redefinedInterface" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Interface/nestedClassifier" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Interface/ownedReception" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//Interface/protocol" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=65/XSDParticle/XSDModelGroup/XSDParticle=5"/>

     </nested>

-    <nested inputs="UML2.ecore#//Include" outputs="UML2XMI.xsd#//Include;XSDElementDeclaration=67"/>

-    <nested inputs="UML2.ecore#//Interface" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=68">

-      <nested inputs="UML2.ecore#//Interface/ownedAttribute" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Interface/ownedOperation" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Interface/redefinedInterface" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=68/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Interface/redefinedInterface" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Interface/nestedClassifier" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Interface/ownedReception" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//Interface/protocol" outputs="UML2XMI.xsd#//Interface;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+    <nested inputs="UML2.ecore#//Interface" outputs="UML2XMI.xsd#//Interface;XSDElementDeclaration=65"/>

+    <nested inputs="UML2.ecore#//Implementation" outputs="UML2XMI.xsd#//Implementation;XSDComplexTypeDefinition=66">

+      <nested inputs="UML2.ecore#//Implementation/contract" outputs="UML2XMI.xsd#//Implementation;XSDComplexTypeDefinition=66/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Implementation/contract" outputs="UML2XMI.xsd#//Implementation;XSDComplexTypeDefinition=66/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Interface" outputs="UML2XMI.xsd#//Interface;XSDElementDeclaration=68"/>

-    <nested inputs="UML2.ecore#//Implementation" outputs="UML2XMI.xsd#//Implementation;XSDComplexTypeDefinition=69">

-      <nested inputs="UML2.ecore#//Implementation/contract" outputs="UML2XMI.xsd#//Implementation;XSDComplexTypeDefinition=69/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Implementation/contract" outputs="UML2XMI.xsd#//Implementation;XSDComplexTypeDefinition=69/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Implementation" outputs="UML2XMI.xsd#//Implementation;XSDElementDeclaration=66"/>

+    <nested inputs="UML2.ecore#//Actor" outputs="UML2XMI.xsd#//Actor;XSDComplexTypeDefinition=67"/>

+    <nested inputs="UML2.ecore#//Actor" outputs="UML2XMI.xsd#//Actor;XSDElementDeclaration=67"/>

+    <nested inputs="UML2.ecore#//Extend" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=68">

+      <nested inputs="UML2.ecore#//Extend/extendedCase" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=68/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Extend/extendedCase" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Extend/condition" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Extend/extensionLocation" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=68/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Extend/extensionLocation" outputs="UML2XMI.xsd#//Extend;XSDComplexTypeDefinition=68/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//Implementation" outputs="UML2XMI.xsd#//Implementation;XSDElementDeclaration=69"/>

-    <nested inputs="UML2.ecore#//ActivityEdge" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70">

-      <nested inputs="UML2.ecore#//ActivityEdge/source" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/source" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/target" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/target" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/guard" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/redefinedElement" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/redefinedElement" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/inPartition" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/inPartition" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/weight" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDParticle/XSDModelGroup/XSDParticle=5"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/interrupts" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//ActivityEdge/interrupts" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=70/XSDParticle/XSDModelGroup/XSDParticle=6"/>

+    <nested inputs="UML2.ecore#//Extend" outputs="UML2XMI.xsd#//Extend;XSDElementDeclaration=68"/>

+    <nested inputs="UML2.ecore#//UseCase" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=69">

+      <nested inputs="UML2.ecore#//UseCase/include" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=69/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//UseCase/extend" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=69/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//UseCase/extensionPoint" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=69/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//UseCase/subject" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=69/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//UseCase/subject" outputs="UML2XMI.xsd#//UseCase;XSDComplexTypeDefinition=69/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//ActivityEdge" outputs="UML2XMI.xsd#//ActivityEdge;XSDElementDeclaration=70"/>

-    <nested inputs="UML2.ecore#//ActivityGroup" outputs="UML2XMI.xsd#//ActivityGroup;XSDComplexTypeDefinition=71"/>

-    <nested inputs="UML2.ecore#//ActivityGroup" outputs="UML2XMI.xsd#//ActivityGroup;XSDElementDeclaration=71"/>

-    <nested inputs="UML2.ecore#//ActivityNode" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72">

-      <nested inputs="UML2.ecore#//ActivityNode/outgoing" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ActivityNode/outgoing" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ActivityNode/incoming" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ActivityNode/incoming" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//ActivityNode/redefinedElement" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//ActivityNode/redefinedElement" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//ActivityNode/inPartition" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//ActivityNode/inPartition" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//ActivityNode/inInterruptibleRegion" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//ActivityNode/inInterruptibleRegion" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+    <nested inputs="UML2.ecore#//UseCase" outputs="UML2XMI.xsd#//UseCase;XSDElementDeclaration=69"/>

+    <nested inputs="UML2.ecore#//ExtensionPoint" outputs="UML2XMI.xsd#//ExtensionPoint;XSDComplexTypeDefinition=70"/>

+    <nested inputs="UML2.ecore#//ExtensionPoint" outputs="UML2XMI.xsd#//ExtensionPoint;XSDElementDeclaration=70"/>

+    <nested inputs="UML2.ecore#//Include" outputs="UML2XMI.xsd#//Include;XSDComplexTypeDefinition=71">

+      <nested inputs="UML2.ecore#//Include/addition" outputs="UML2XMI.xsd#//Include;XSDComplexTypeDefinition=71/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Include/addition" outputs="UML2XMI.xsd#//Include;XSDComplexTypeDefinition=71/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ActivityNode" outputs="UML2XMI.xsd#//ActivityNode;XSDElementDeclaration=72"/>

-    <nested inputs="UML2.ecore#//Action" outputs="UML2XMI.xsd#//Action;XSDComplexTypeDefinition=73">

-      <nested inputs="UML2.ecore#//Action/effect" outputs="UML2XMI.xsd#//Action;XSDComplexTypeDefinition=73/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Action/localPrecondition" outputs="UML2XMI.xsd#//Action;XSDComplexTypeDefinition=73/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Action/localPostcondition" outputs="UML2XMI.xsd#//Action;XSDComplexTypeDefinition=73/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Include" outputs="UML2XMI.xsd#//Include;XSDElementDeclaration=71"/>

+    <nested inputs="UML2.ecore#//Artifact" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=72">

+      <nested inputs="UML2.ecore#//Artifact/fileName" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=72/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Artifact/nestedArtifact" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Artifact/manifestation" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Artifact/ownedOperation" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Artifact/ownedAttribute" outputs="UML2XMI.xsd#//Artifact;XSDComplexTypeDefinition=72/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//Action" outputs="UML2XMI.xsd#//Action;XSDElementDeclaration=73"/>

-    <nested inputs="UML2.ecore#//ObjectNode" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74">

-      <nested inputs="UML2.ecore#//ObjectNode/ordering" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ObjectNode/upperBound" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//ObjectNode/inState" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//ObjectNode/inState" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//ObjectNode/selection" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//ObjectNode/selection" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//Artifact" outputs="UML2XMI.xsd#//Artifact;XSDElementDeclaration=72"/>

+    <nested inputs="UML2.ecore#//Manifestation" outputs="UML2XMI.xsd#//Manifestation;XSDComplexTypeDefinition=73">

+      <nested inputs="UML2.ecore#//Manifestation/utilizedElement" outputs="UML2XMI.xsd#//Manifestation;XSDComplexTypeDefinition=73/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Manifestation/utilizedElement" outputs="UML2XMI.xsd#//Manifestation;XSDComplexTypeDefinition=73/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//ObjectNode" outputs="UML2XMI.xsd#//ObjectNode;XSDElementDeclaration=74"/>

-    <nested inputs="UML2.ecore#//ControlNode" outputs="UML2XMI.xsd#//ControlNode;XSDComplexTypeDefinition=75"/>

-    <nested inputs="UML2.ecore#//ControlNode" outputs="UML2XMI.xsd#//ControlNode;XSDElementDeclaration=75"/>

-    <nested inputs="UML2.ecore#//ControlFlow" outputs="UML2XMI.xsd#//ControlFlow;XSDComplexTypeDefinition=76"/>

-    <nested inputs="UML2.ecore#//ControlFlow" outputs="UML2XMI.xsd#//ControlFlow;XSDElementDeclaration=76"/>

-    <nested inputs="UML2.ecore#//ObjectFlow" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=77">

-      <nested inputs="UML2.ecore#//ObjectFlow/isMulticast" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=77/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ObjectFlow/isMultireceive" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=77/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ObjectFlow/transformation" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=77/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//ObjectFlow/transformation" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=77/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ObjectFlow/selection" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=77/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//ObjectFlow/selection" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=77/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Manifestation" outputs="UML2XMI.xsd#//Manifestation;XSDElementDeclaration=73"/>

+    <nested inputs="UML2.ecore#//ActivityEdge" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74">

+      <nested inputs="UML2.ecore#//ActivityEdge/source" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/source" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/target" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/target" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/guard" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/redefinedElement" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/redefinedElement" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/inPartition" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/inPartition" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/weight" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/interrupts" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//ActivityEdge/interrupts" outputs="UML2XMI.xsd#//ActivityEdge;XSDComplexTypeDefinition=74/XSDParticle/XSDModelGroup/XSDParticle=6"/>

     </nested>

-    <nested inputs="UML2.ecore#//ObjectFlow" outputs="UML2XMI.xsd#//ObjectFlow;XSDElementDeclaration=77"/>

-    <nested inputs="UML2.ecore#//InitialNode" outputs="UML2XMI.xsd#//InitialNode;XSDComplexTypeDefinition=78"/>

-    <nested inputs="UML2.ecore#//InitialNode" outputs="UML2XMI.xsd#//InitialNode;XSDElementDeclaration=78"/>

-    <nested inputs="UML2.ecore#//FinalNode" outputs="UML2XMI.xsd#//FinalNode;XSDComplexTypeDefinition=79"/>

-    <nested inputs="UML2.ecore#//FinalNode" outputs="UML2XMI.xsd#//FinalNode;XSDElementDeclaration=79"/>

-    <nested inputs="UML2.ecore#//ActivityFinalNode" outputs="UML2XMI.xsd#//ActivityFinalNode;XSDComplexTypeDefinition=80"/>

-    <nested inputs="UML2.ecore#//ActivityFinalNode" outputs="UML2XMI.xsd#//ActivityFinalNode;XSDElementDeclaration=80"/>

-    <nested inputs="UML2.ecore#//DecisionNode" outputs="UML2XMI.xsd#//DecisionNode;XSDComplexTypeDefinition=81">

-      <nested inputs="UML2.ecore#//DecisionNode/decisionInput" outputs="UML2XMI.xsd#//DecisionNode;XSDComplexTypeDefinition=81/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//DecisionNode/decisionInput" outputs="UML2XMI.xsd#//DecisionNode;XSDComplexTypeDefinition=81/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ActivityEdge" outputs="UML2XMI.xsd#//ActivityEdge;XSDElementDeclaration=74"/>

+    <nested inputs="UML2.ecore#//ActivityGroup" outputs="UML2XMI.xsd#//ActivityGroup;XSDComplexTypeDefinition=75"/>

+    <nested inputs="UML2.ecore#//ActivityGroup" outputs="UML2XMI.xsd#//ActivityGroup;XSDElementDeclaration=75"/>

+    <nested inputs="UML2.ecore#//ActivityNode" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76">

+      <nested inputs="UML2.ecore#//ActivityNode/outgoing" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ActivityNode/outgoing" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ActivityNode/incoming" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ActivityNode/incoming" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//ActivityNode/redefinedElement" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//ActivityNode/redefinedElement" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//ActivityNode/inPartition" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//ActivityNode/inPartition" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//ActivityNode/inInterruptibleRegion" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//ActivityNode/inInterruptibleRegion" outputs="UML2XMI.xsd#//ActivityNode;XSDComplexTypeDefinition=76/XSDParticle/XSDModelGroup/XSDParticle=4"/>

     </nested>

-    <nested inputs="UML2.ecore#//DecisionNode" outputs="UML2XMI.xsd#//DecisionNode;XSDElementDeclaration=81"/>

-    <nested inputs="UML2.ecore#//MergeNode" outputs="UML2XMI.xsd#//MergeNode;XSDComplexTypeDefinition=82"/>

-    <nested inputs="UML2.ecore#//MergeNode" outputs="UML2XMI.xsd#//MergeNode;XSDElementDeclaration=82"/>

-    <nested inputs="UML2.ecore#//ExecutableNode" outputs="UML2XMI.xsd#//ExecutableNode;XSDComplexTypeDefinition=83">

-      <nested inputs="UML2.ecore#//ExecutableNode/handler" outputs="UML2XMI.xsd#//ExecutableNode;XSDComplexTypeDefinition=83/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ActivityNode" outputs="UML2XMI.xsd#//ActivityNode;XSDElementDeclaration=76"/>

+    <nested inputs="UML2.ecore#//Action" outputs="UML2XMI.xsd#//Action;XSDComplexTypeDefinition=77">

+      <nested inputs="UML2.ecore#//Action/effect" outputs="UML2XMI.xsd#//Action;XSDComplexTypeDefinition=77/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Action/localPrecondition" outputs="UML2XMI.xsd#//Action;XSDComplexTypeDefinition=77/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Action/localPostcondition" outputs="UML2XMI.xsd#//Action;XSDComplexTypeDefinition=77/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//ExecutableNode" outputs="UML2XMI.xsd#//ExecutableNode;XSDElementDeclaration=83"/>

-    <nested inputs="UML2.ecore#//OutputPin" outputs="UML2XMI.xsd#//OutputPin;XSDComplexTypeDefinition=84"/>

-    <nested inputs="UML2.ecore#//OutputPin" outputs="UML2XMI.xsd#//OutputPin;XSDElementDeclaration=84"/>

-    <nested inputs="UML2.ecore#//InputPin" outputs="UML2XMI.xsd#//InputPin;XSDComplexTypeDefinition=85"/>

-    <nested inputs="UML2.ecore#//InputPin" outputs="UML2XMI.xsd#//InputPin;XSDElementDeclaration=85"/>

-    <nested inputs="UML2.ecore#//Pin" outputs="UML2XMI.xsd#//Pin;XSDComplexTypeDefinition=86"/>

-    <nested inputs="UML2.ecore#//Pin" outputs="UML2XMI.xsd#//Pin;XSDElementDeclaration=86"/>

-    <nested inputs="UML2.ecore#//ActivityParameterNode" outputs="UML2XMI.xsd#//ActivityParameterNode;XSDComplexTypeDefinition=87">

-      <nested inputs="UML2.ecore#//ActivityParameterNode/parameter" outputs="UML2XMI.xsd#//ActivityParameterNode;XSDComplexTypeDefinition=87/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ActivityParameterNode/parameter" outputs="UML2XMI.xsd#//ActivityParameterNode;XSDComplexTypeDefinition=87/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Action" outputs="UML2XMI.xsd#//Action;XSDElementDeclaration=77"/>

+    <nested inputs="UML2.ecore#//ObjectNode" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78">

+      <nested inputs="UML2.ecore#//ObjectNode/ordering" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ObjectNode/upperBound" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//ObjectNode/inState" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//ObjectNode/inState" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//ObjectNode/selection" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//ObjectNode/selection" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//ActivityParameterNode" outputs="UML2XMI.xsd#//ActivityParameterNode;XSDElementDeclaration=87"/>

-    <nested inputs="UML2.ecore#//ValuePin" outputs="UML2XMI.xsd#//ValuePin;XSDComplexTypeDefinition=88">

-      <nested inputs="UML2.ecore#//ValuePin/value" outputs="UML2XMI.xsd#//ValuePin;XSDComplexTypeDefinition=88/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//ObjectNode;XSDComplexTypeDefinition=78/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ObjectNode" outputs="UML2XMI.xsd#//ObjectNode;XSDElementDeclaration=78"/>

+    <nested inputs="UML2.ecore#//ControlNode" outputs="UML2XMI.xsd#//ControlNode;XSDComplexTypeDefinition=79"/>

+    <nested inputs="UML2.ecore#//ControlNode" outputs="UML2XMI.xsd#//ControlNode;XSDElementDeclaration=79"/>

+    <nested inputs="UML2.ecore#//ControlFlow" outputs="UML2XMI.xsd#//ControlFlow;XSDComplexTypeDefinition=80"/>

+    <nested inputs="UML2.ecore#//ControlFlow" outputs="UML2XMI.xsd#//ControlFlow;XSDElementDeclaration=80"/>

+    <nested inputs="UML2.ecore#//ObjectFlow" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=81">

+      <nested inputs="UML2.ecore#//ObjectFlow/isMulticast" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=81/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ObjectFlow/isMultireceive" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=81/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ObjectFlow/transformation" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=81/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//ObjectFlow/transformation" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=81/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ObjectFlow/selection" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=81/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//ObjectFlow/selection" outputs="UML2XMI.xsd#//ObjectFlow;XSDComplexTypeDefinition=81/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//ValuePin" outputs="UML2XMI.xsd#//ValuePin;XSDElementDeclaration=88"/>

-    <nested inputs="UML2.ecore#//ConnectorEnd" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=89">

-      <nested inputs="UML2.ecore#//ConnectorEnd/role" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=89/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ConnectorEnd/role" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=89/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ConnectorEnd/partWithPort" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=89/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ConnectorEnd/partWithPort" outputs="UML2XMI.xsd#//ConnectorEnd;XSDComplexTypeDefinition=89/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//ObjectFlow" outputs="UML2XMI.xsd#//ObjectFlow;XSDElementDeclaration=81"/>

+    <nested inputs="UML2.ecore#//InitialNode" outputs="UML2XMI.xsd#//InitialNode;XSDComplexTypeDefinition=82"/>

+    <nested inputs="UML2.ecore#//InitialNode" outputs="UML2XMI.xsd#//InitialNode;XSDElementDeclaration=82"/>

+    <nested inputs="UML2.ecore#//FinalNode" outputs="UML2XMI.xsd#//FinalNode;XSDComplexTypeDefinition=83"/>

+    <nested inputs="UML2.ecore#//FinalNode" outputs="UML2XMI.xsd#//FinalNode;XSDElementDeclaration=83"/>

+    <nested inputs="UML2.ecore#//ActivityFinalNode" outputs="UML2XMI.xsd#//ActivityFinalNode;XSDComplexTypeDefinition=84"/>

+    <nested inputs="UML2.ecore#//ActivityFinalNode" outputs="UML2XMI.xsd#//ActivityFinalNode;XSDElementDeclaration=84"/>

+    <nested inputs="UML2.ecore#//DecisionNode" outputs="UML2XMI.xsd#//DecisionNode;XSDComplexTypeDefinition=85">

+      <nested inputs="UML2.ecore#//DecisionNode/decisionInput" outputs="UML2XMI.xsd#//DecisionNode;XSDComplexTypeDefinition=85/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//DecisionNode/decisionInput" outputs="UML2XMI.xsd#//DecisionNode;XSDComplexTypeDefinition=85/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ConnectorEnd" outputs="UML2XMI.xsd#//ConnectorEnd;XSDElementDeclaration=89"/>

-    <nested inputs="UML2.ecore#//ConnectableElement" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=90">

-      <nested inputs="UML2.ecore#//ConnectableElement/end" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=90/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ConnectableElement/end" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=90/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//DecisionNode" outputs="UML2XMI.xsd#//DecisionNode;XSDElementDeclaration=85"/>

+    <nested inputs="UML2.ecore#//MergeNode" outputs="UML2XMI.xsd#//MergeNode;XSDComplexTypeDefinition=86"/>

+    <nested inputs="UML2.ecore#//MergeNode" outputs="UML2XMI.xsd#//MergeNode;XSDElementDeclaration=86"/>

+    <nested inputs="UML2.ecore#//ExecutableNode" outputs="UML2XMI.xsd#//ExecutableNode;XSDComplexTypeDefinition=87">

+      <nested inputs="UML2.ecore#//ExecutableNode/handler" outputs="UML2XMI.xsd#//ExecutableNode;XSDComplexTypeDefinition=87/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=90/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//ParameterableElement/templateParameter" outputs="UML2XMI.xsd#//ConnectableElement;XSDComplexTypeDefinition=90/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//ConnectableElement" outputs="UML2XMI.xsd#//ConnectableElement;XSDElementDeclaration=90"/>

-    <nested inputs="UML2.ecore#//Connector" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91">

-      <nested inputs="UML2.ecore#//Connector/kind" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Connector/type" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Connector/type" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Connector/redefinedConnector" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Connector/redefinedConnector" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Connector/end" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Connector/contract" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Connector/contract" outputs="UML2XMI.xsd#//Connector;XSDComplexTypeDefinition=91/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//ExecutableNode" outputs="UML2XMI.xsd#//ExecutableNode;XSDElementDeclaration=87"/>

+    <nested inputs="UML2.ecore#//OutputPin" outputs="UML2XMI.xsd#//OutputPin;XSDComplexTypeDefinition=88"/>

+    <nested inputs="UML2.ecore#//OutputPin" outputs="UML2XMI.xsd#//OutputPin;XSDElementDeclaration=88"/>

+    <nested inputs="UML2.ecore#//InputPin" outputs="UML2XMI.xsd#//InputPin;XSDComplexTypeDefinition=89"/>

+    <nested inputs="UML2.ecore#//InputPin" outputs="UML2XMI.xsd#//InputPin;XSDElementDeclaration=89"/>

+    <nested inputs="UML2.ecore#//Pin" outputs="UML2XMI.xsd#//Pin;XSDComplexTypeDefinition=90"/>

+    <nested inputs="UML2.ecore#//Pin" outputs="UML2XMI.xsd#//Pin;XSDElementDeclaration=90"/>

+    <nested inputs="UML2.ecore#//ActivityParameterNode" outputs="UML2XMI.xsd#//ActivityParameterNode;XSDComplexTypeDefinition=91">

+      <nested inputs="UML2.ecore#//ActivityParameterNode/parameter" outputs="UML2XMI.xsd#//ActivityParameterNode;XSDComplexTypeDefinition=91/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ActivityParameterNode/parameter" outputs="UML2XMI.xsd#//ActivityParameterNode;XSDComplexTypeDefinition=91/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Connector" outputs="UML2XMI.xsd#//Connector;XSDElementDeclaration=91"/>

-    <nested inputs="UML2.ecore#//StructuredClassifier" outputs="UML2XMI.xsd#//StructuredClassifier;XSDComplexTypeDefinition=92">

-      <nested inputs="UML2.ecore#//StructuredClassifier/ownedAttribute" outputs="UML2XMI.xsd#//StructuredClassifier;XSDComplexTypeDefinition=92/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//StructuredClassifier/ownedConnector" outputs="UML2XMI.xsd#//StructuredClassifier;XSDComplexTypeDefinition=92/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//ActivityParameterNode" outputs="UML2XMI.xsd#//ActivityParameterNode;XSDElementDeclaration=91"/>

+    <nested inputs="UML2.ecore#//ValuePin" outputs="UML2XMI.xsd#//ValuePin;XSDComplexTypeDefinition=92">

+      <nested inputs="UML2.ecore#//ValuePin/value" outputs="UML2XMI.xsd#//ValuePin;XSDComplexTypeDefinition=92/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//StructuredClassifier" outputs="UML2XMI.xsd#//StructuredClassifier;XSDElementDeclaration=92"/>

+    <nested inputs="UML2.ecore#//ValuePin" outputs="UML2XMI.xsd#//ValuePin;XSDElementDeclaration=92"/>

     <nested inputs="UML2.ecore#//CollaborationOccurrence" outputs="UML2XMI.xsd#//CollaborationOccurrence;XSDComplexTypeDefinition=93">

       <nested inputs="UML2.ecore#//CollaborationOccurrence/type" outputs="UML2XMI.xsd#//CollaborationOccurrence;XSDComplexTypeDefinition=93/XSDAttributeUse"/>

       <nested inputs="UML2.ecore#//CollaborationOccurrence/type" outputs="UML2XMI.xsd#//CollaborationOccurrence;XSDComplexTypeDefinition=93/XSDParticle/XSDModelGroup/XSDParticle"/>

@@ -668,192 +668,192 @@
     <nested inputs="UML2.ecore#//StructuredClassifier/ownedAttribute" outputs="UML2XMI.xsd#//Collaboration;XSDComplexTypeDefinition=94/XSDParticle/XSDModelGroup/XSDParticle"/>

     <nested inputs="UML2.ecore#//StructuredClassifier/ownedConnector" outputs="UML2XMI.xsd#//Collaboration;XSDComplexTypeDefinition=94/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     <nested inputs="UML2.ecore#//Collaboration" outputs="UML2XMI.xsd#//Collaboration;XSDElementDeclaration=94"/>

-    <nested inputs="UML2.ecore#//Variable" outputs="UML2XMI.xsd#//Variable;XSDComplexTypeDefinition=95"/>

-    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Variable;XSDComplexTypeDefinition=95/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Variable;XSDComplexTypeDefinition=95/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//Variable" outputs="UML2XMI.xsd#//Variable;XSDElementDeclaration=95"/>

-    <nested inputs="UML2.ecore#//StructuredActivityNode" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=96">

-      <nested inputs="UML2.ecore#//StructuredActivityNode/mustIsolate" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=96/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//StructuredActivityNode/variable" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=96/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//StructuredActivityNode/containedNode" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=96/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//StructuredActivityNode/containedEdge" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=96/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+    <nested inputs="UML2.ecore#//Interaction" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=95">

+      <nested inputs="UML2.ecore#//Interaction/lifeline" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=95/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Interaction/message" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=95/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Interaction/fragment" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=95/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//Interaction/formalGate" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=95/XSDParticle/XSDModelGroup/XSDParticle=5"/>

     </nested>

-    <nested inputs="UML2.ecore#//Namespace/ownedRule" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=96/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//Namespace/elementImport" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=96/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//Namespace/packageImport" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=96/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-    <nested inputs="UML2.ecore#//StructuredActivityNode" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDElementDeclaration=96"/>

-    <nested inputs="UML2.ecore#//ConditionalNode" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=97">

-      <nested inputs="UML2.ecore#//ConditionalNode/isDeterminate" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=97/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ConditionalNode/isAssured" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=97/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ConditionalNode/clause" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=97/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ConditionalNode/result" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=97/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=95/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=95/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//InteractionFragment/generalOrdering" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=95/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Interaction" outputs="UML2XMI.xsd#//Interaction;XSDElementDeclaration=95"/>

+    <nested inputs="UML2.ecore#//InteractionFragment" outputs="UML2XMI.xsd#//InteractionFragment;XSDComplexTypeDefinition=96">

+      <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//InteractionFragment;XSDComplexTypeDefinition=96/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//InteractionFragment;XSDComplexTypeDefinition=96/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//InteractionFragment/generalOrdering" outputs="UML2XMI.xsd#//InteractionFragment;XSDComplexTypeDefinition=96/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//ConditionalNode" outputs="UML2XMI.xsd#//ConditionalNode;XSDElementDeclaration=97"/>

-    <nested inputs="UML2.ecore#//Clause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98">

-      <nested inputs="UML2.ecore#//Clause/test" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Clause/test" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Clause/body" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Clause/body" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Clause/predecessorClause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Clause/predecessorClause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Clause/successorClause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Clause/successorClause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Clause/decider" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Clause/decider" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//Clause/bodyOutput" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDAttributeUse=5"/>

-      <nested inputs="UML2.ecore#//Clause/bodyOutput" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+    <nested inputs="UML2.ecore#//InteractionFragment" outputs="UML2XMI.xsd#//InteractionFragment;XSDElementDeclaration=96"/>

+    <nested inputs="UML2.ecore#//Lifeline" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=97">

+      <nested inputs="UML2.ecore#//Lifeline/coveredBy" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=97/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Lifeline/coveredBy" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=97/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Lifeline/represents" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=97/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Lifeline/represents" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=97/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Lifeline/selector" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=97/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Lifeline/decomposedAs" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=97/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Lifeline/decomposedAs" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=97/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//Clause" outputs="UML2XMI.xsd#//Clause;XSDElementDeclaration=98"/>

-    <nested inputs="UML2.ecore#//LoopNode" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99">

-      <nested inputs="UML2.ecore#//LoopNode/isTestedFirst" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//LoopNode/bodyPart" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//LoopNode/bodyPart" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//LoopNode/setupPart" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//LoopNode/setupPart" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//LoopNode/decider" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//LoopNode/decider" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//LoopNode/test" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//LoopNode/test" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//LoopNode/result" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//LoopNode/loopVariable" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle=5"/>

-      <nested inputs="UML2.ecore#//LoopNode/bodyOutput" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDAttributeUse=5"/>

-      <nested inputs="UML2.ecore#//LoopNode/bodyOutput" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle=6"/>

-      <nested inputs="UML2.ecore#//LoopNode/loopVariableInput" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle=7"/>

+    <nested inputs="UML2.ecore#//Lifeline" outputs="UML2XMI.xsd#//Lifeline;XSDElementDeclaration=97"/>

+    <nested inputs="UML2.ecore#//Message" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98">

+      <nested inputs="UML2.ecore#//Message/messageSort" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Message/receiveEvent" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Message/receiveEvent" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Message/sendEvent" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Message/sendEvent" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Message/connector" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Message/connector" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Message/signature" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Message/signature" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Message/argument" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=98/XSDParticle/XSDModelGroup/XSDParticle=4"/>

     </nested>

-    <nested inputs="UML2.ecore#//LoopNode" outputs="UML2XMI.xsd#//LoopNode;XSDElementDeclaration=99"/>

-    <nested inputs="UML2.ecore#//Port" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=100">

-      <nested inputs="UML2.ecore#//Port/isBehavior" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=100/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Port/isService" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=100/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Port/redefinedPort" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=100/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Port/redefinedPort" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=100/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Port/protocol" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=100/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Port/protocol" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=100/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Message" outputs="UML2XMI.xsd#//Message;XSDElementDeclaration=98"/>

+    <nested inputs="UML2.ecore#//GeneralOrdering" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=99">

+      <nested inputs="UML2.ecore#//GeneralOrdering/before" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=99/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//GeneralOrdering/before" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//GeneralOrdering/after" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=99/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//GeneralOrdering/after" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=99/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Port" outputs="UML2XMI.xsd#//Port;XSDElementDeclaration=100"/>

-    <nested inputs="UML2.ecore#//EncapsulatedClassifier" outputs="UML2XMI.xsd#//EncapsulatedClassifier;XSDComplexTypeDefinition=101">

-      <nested inputs="UML2.ecore#//EncapsulatedClassifier/ownedPort" outputs="UML2XMI.xsd#//EncapsulatedClassifier;XSDComplexTypeDefinition=101/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//GeneralOrdering" outputs="UML2XMI.xsd#//GeneralOrdering;XSDElementDeclaration=99"/>

+    <nested inputs="UML2.ecore#//MessageEnd" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=100">

+      <nested inputs="UML2.ecore#//MessageEnd/receiveMessage" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=100/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//MessageEnd/receiveMessage" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=100/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//MessageEnd/sendMessage" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=100/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//MessageEnd/sendMessage" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=100/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//EncapsulatedClassifier" outputs="UML2XMI.xsd#//EncapsulatedClassifier;XSDElementDeclaration=101"/>

-    <nested inputs="UML2.ecore#//Interaction" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=102">

-      <nested inputs="UML2.ecore#//Interaction/lifeline" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Interaction/message" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Interaction/fragment" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//Interaction/formalGate" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+    <nested inputs="UML2.ecore#//MessageEnd" outputs="UML2XMI.xsd#//MessageEnd;XSDElementDeclaration=100"/>

+    <nested inputs="UML2.ecore#//EventOccurrence" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101">

+      <nested inputs="UML2.ecore#//EventOccurrence/startExec" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//EventOccurrence/startExec" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//EventOccurrence/finishExec" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//EventOccurrence/finishExec" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//EventOccurrence/toAfter" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//EventOccurrence/toAfter" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//EventOccurrence/toBefore" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDAttributeUse=5"/>

+      <nested inputs="UML2.ecore#//EventOccurrence/toBefore" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDParticle/XSDModelGroup/XSDParticle=5"/>

     </nested>

-    <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=102/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//InteractionFragment/generalOrdering" outputs="UML2XMI.xsd#//Interaction;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//Interaction" outputs="UML2XMI.xsd#//Interaction;XSDElementDeclaration=102"/>

-    <nested inputs="UML2.ecore#//InteractionFragment" outputs="UML2XMI.xsd#//InteractionFragment;XSDComplexTypeDefinition=103">

-      <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//InteractionFragment;XSDComplexTypeDefinition=103/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//InteractionFragment;XSDComplexTypeDefinition=103/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//InteractionFragment/generalOrdering" outputs="UML2XMI.xsd#//InteractionFragment;XSDComplexTypeDefinition=103/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//MessageEnd/receiveMessage" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//MessageEnd/receiveMessage" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//MessageEnd/sendMessage" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//MessageEnd/sendMessage" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=101/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//EventOccurrence" outputs="UML2XMI.xsd#//EventOccurrence;XSDElementDeclaration=101"/>

+    <nested inputs="UML2.ecore#//ExecutionOccurrence" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=102">

+      <nested inputs="UML2.ecore#//ExecutionOccurrence/start" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=102/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ExecutionOccurrence/start" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ExecutionOccurrence/finish" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=102/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ExecutionOccurrence/finish" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//ExecutionOccurrence/behavior" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=102/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//ExecutionOccurrence/behavior" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=102/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//InteractionFragment" outputs="UML2XMI.xsd#//InteractionFragment;XSDElementDeclaration=103"/>

-    <nested inputs="UML2.ecore#//Lifeline" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=104">

-      <nested inputs="UML2.ecore#//Lifeline/coveredBy" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=104/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Lifeline/coveredBy" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=104/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Lifeline/represents" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=104/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Lifeline/represents" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=104/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Lifeline/selector" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=104/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Lifeline/decomposedAs" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=104/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Lifeline/decomposedAs" outputs="UML2XMI.xsd#//Lifeline;XSDComplexTypeDefinition=104/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//ExecutionOccurrence" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDElementDeclaration=102"/>

+    <nested inputs="UML2.ecore#//StateInvariant" outputs="UML2XMI.xsd#//StateInvariant;XSDComplexTypeDefinition=103">

+      <nested inputs="UML2.ecore#//StateInvariant/invariant" outputs="UML2XMI.xsd#//StateInvariant;XSDComplexTypeDefinition=103/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Lifeline" outputs="UML2XMI.xsd#//Lifeline;XSDElementDeclaration=104"/>

-    <nested inputs="UML2.ecore#//Message" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105">

-      <nested inputs="UML2.ecore#//Message/messageSort" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Message/receiveEvent" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Message/receiveEvent" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Message/sendEvent" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Message/sendEvent" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Message/connector" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Message/connector" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Message/signature" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Message/signature" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Message/argument" outputs="UML2XMI.xsd#//Message;XSDComplexTypeDefinition=105/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+    <nested inputs="UML2.ecore#//StateInvariant" outputs="UML2XMI.xsd#//StateInvariant;XSDElementDeclaration=103"/>

+    <nested inputs="UML2.ecore#//Stop" outputs="UML2XMI.xsd#//Stop;XSDComplexTypeDefinition=104"/>

+    <nested inputs="UML2.ecore#//Stop" outputs="UML2XMI.xsd#//Stop;XSDElementDeclaration=104"/>

+    <nested inputs="UML2.ecore#//Port" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=105">

+      <nested inputs="UML2.ecore#//Port/isBehavior" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=105/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Port/isService" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=105/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Port/redefinedPort" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=105/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Port/redefinedPort" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=105/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Port/protocol" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=105/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Port/protocol" outputs="UML2XMI.xsd#//Port;XSDComplexTypeDefinition=105/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Message" outputs="UML2XMI.xsd#//Message;XSDElementDeclaration=105"/>

-    <nested inputs="UML2.ecore#//GeneralOrdering" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=106">

-      <nested inputs="UML2.ecore#//GeneralOrdering/before" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=106/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//GeneralOrdering/before" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=106/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//GeneralOrdering/after" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=106/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//GeneralOrdering/after" outputs="UML2XMI.xsd#//GeneralOrdering;XSDComplexTypeDefinition=106/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Port" outputs="UML2XMI.xsd#//Port;XSDElementDeclaration=105"/>

+    <nested inputs="UML2.ecore#//EncapsulatedClassifier" outputs="UML2XMI.xsd#//EncapsulatedClassifier;XSDComplexTypeDefinition=106">

+      <nested inputs="UML2.ecore#//EncapsulatedClassifier/ownedPort" outputs="UML2XMI.xsd#//EncapsulatedClassifier;XSDComplexTypeDefinition=106/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//GeneralOrdering" outputs="UML2XMI.xsd#//GeneralOrdering;XSDElementDeclaration=106"/>

-    <nested inputs="UML2.ecore#//MessageEnd" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=107">

-      <nested inputs="UML2.ecore#//MessageEnd/receiveMessage" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=107/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//MessageEnd/receiveMessage" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=107/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//MessageEnd/sendMessage" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=107/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//MessageEnd/sendMessage" outputs="UML2XMI.xsd#//MessageEnd;XSDComplexTypeDefinition=107/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//EncapsulatedClassifier" outputs="UML2XMI.xsd#//EncapsulatedClassifier;XSDElementDeclaration=106"/>

+    <nested inputs="UML2.ecore#//CallTrigger" outputs="UML2XMI.xsd#//CallTrigger;XSDComplexTypeDefinition=107">

+      <nested inputs="UML2.ecore#//CallTrigger/operation" outputs="UML2XMI.xsd#//CallTrigger;XSDComplexTypeDefinition=107/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//CallTrigger/operation" outputs="UML2XMI.xsd#//CallTrigger;XSDComplexTypeDefinition=107/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//MessageEnd" outputs="UML2XMI.xsd#//MessageEnd;XSDElementDeclaration=107"/>

-    <nested inputs="UML2.ecore#//EventOccurrence" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108">

-      <nested inputs="UML2.ecore#//EventOccurrence/startExec" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//EventOccurrence/startExec" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//EventOccurrence/finishExec" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//EventOccurrence/finishExec" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//EventOccurrence/toAfter" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//EventOccurrence/toAfter" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//EventOccurrence/toBefore" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDAttributeUse=5"/>

-      <nested inputs="UML2.ecore#//EventOccurrence/toBefore" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+    <nested inputs="UML2.ecore#//CallTrigger" outputs="UML2XMI.xsd#//CallTrigger;XSDElementDeclaration=107"/>

+    <nested inputs="UML2.ecore#//MessageTrigger" outputs="UML2XMI.xsd#//MessageTrigger;XSDComplexTypeDefinition=108"/>

+    <nested inputs="UML2.ecore#//MessageTrigger" outputs="UML2XMI.xsd#//MessageTrigger;XSDElementDeclaration=108"/>

+    <nested inputs="UML2.ecore#//ChangeTrigger" outputs="UML2XMI.xsd#//ChangeTrigger;XSDComplexTypeDefinition=109">

+      <nested inputs="UML2.ecore#//ChangeTrigger/changeExpression" outputs="UML2XMI.xsd#//ChangeTrigger;XSDComplexTypeDefinition=109/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//MessageEnd/receiveMessage" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//MessageEnd/receiveMessage" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//MessageEnd/sendMessage" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDAttributeUse=1"/>

-    <nested inputs="UML2.ecore#//MessageEnd/sendMessage" outputs="UML2XMI.xsd#//EventOccurrence;XSDComplexTypeDefinition=108/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//EventOccurrence" outputs="UML2XMI.xsd#//EventOccurrence;XSDElementDeclaration=108"/>

-    <nested inputs="UML2.ecore#//ExecutionOccurrence" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=109">

-      <nested inputs="UML2.ecore#//ExecutionOccurrence/start" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=109/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ExecutionOccurrence/start" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=109/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ExecutionOccurrence/finish" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=109/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ExecutionOccurrence/finish" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=109/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//ExecutionOccurrence/behavior" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=109/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//ExecutionOccurrence/behavior" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDComplexTypeDefinition=109/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//ChangeTrigger" outputs="UML2XMI.xsd#//ChangeTrigger;XSDElementDeclaration=109"/>

+    <nested inputs="UML2.ecore#//Trigger" outputs="UML2XMI.xsd#//Trigger;XSDComplexTypeDefinition=110">

+      <nested inputs="UML2.ecore#//Trigger/port" outputs="UML2XMI.xsd#//Trigger;XSDComplexTypeDefinition=110/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Trigger/port" outputs="UML2XMI.xsd#//Trigger;XSDComplexTypeDefinition=110/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ExecutionOccurrence" outputs="UML2XMI.xsd#//ExecutionOccurrence;XSDElementDeclaration=109"/>

-    <nested inputs="UML2.ecore#//StateInvariant" outputs="UML2XMI.xsd#//StateInvariant;XSDComplexTypeDefinition=110">

-      <nested inputs="UML2.ecore#//StateInvariant/invariant" outputs="UML2XMI.xsd#//StateInvariant;XSDComplexTypeDefinition=110/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Trigger" outputs="UML2XMI.xsd#//Trigger;XSDElementDeclaration=110"/>

+    <nested inputs="UML2.ecore#//Reception" outputs="UML2XMI.xsd#//Reception;XSDComplexTypeDefinition=111">

+      <nested inputs="UML2.ecore#//Reception/signal" outputs="UML2XMI.xsd#//Reception;XSDComplexTypeDefinition=111/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Reception/signal" outputs="UML2XMI.xsd#//Reception;XSDComplexTypeDefinition=111/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//StateInvariant" outputs="UML2XMI.xsd#//StateInvariant;XSDElementDeclaration=110"/>

-    <nested inputs="UML2.ecore#//Stop" outputs="UML2XMI.xsd#//Stop;XSDComplexTypeDefinition=111"/>

-    <nested inputs="UML2.ecore#//Stop" outputs="UML2XMI.xsd#//Stop;XSDElementDeclaration=111"/>

-    <nested inputs="UML2.ecore#//CallTrigger" outputs="UML2XMI.xsd#//CallTrigger;XSDComplexTypeDefinition=112">

-      <nested inputs="UML2.ecore#//CallTrigger/operation" outputs="UML2XMI.xsd#//CallTrigger;XSDComplexTypeDefinition=112/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//CallTrigger/operation" outputs="UML2XMI.xsd#//CallTrigger;XSDComplexTypeDefinition=112/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Reception" outputs="UML2XMI.xsd#//Reception;XSDElementDeclaration=111"/>

+    <nested inputs="UML2.ecore#//Signal" outputs="UML2XMI.xsd#//Signal;XSDComplexTypeDefinition=112">

+      <nested inputs="UML2.ecore#//Signal/ownedAttribute" outputs="UML2XMI.xsd#//Signal;XSDComplexTypeDefinition=112/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//CallTrigger" outputs="UML2XMI.xsd#//CallTrigger;XSDElementDeclaration=112"/>

-    <nested inputs="UML2.ecore#//MessageTrigger" outputs="UML2XMI.xsd#//MessageTrigger;XSDComplexTypeDefinition=113"/>

-    <nested inputs="UML2.ecore#//MessageTrigger" outputs="UML2XMI.xsd#//MessageTrigger;XSDElementDeclaration=113"/>

-    <nested inputs="UML2.ecore#//ChangeTrigger" outputs="UML2XMI.xsd#//ChangeTrigger;XSDComplexTypeDefinition=114">

-      <nested inputs="UML2.ecore#//ChangeTrigger/changeExpression" outputs="UML2XMI.xsd#//ChangeTrigger;XSDComplexTypeDefinition=114/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Signal" outputs="UML2XMI.xsd#//Signal;XSDElementDeclaration=112"/>

+    <nested inputs="UML2.ecore#//SignalTrigger" outputs="UML2XMI.xsd#//SignalTrigger;XSDComplexTypeDefinition=113">

+      <nested inputs="UML2.ecore#//SignalTrigger/signal" outputs="UML2XMI.xsd#//SignalTrigger;XSDComplexTypeDefinition=113/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//SignalTrigger/signal" outputs="UML2XMI.xsd#//SignalTrigger;XSDComplexTypeDefinition=113/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ChangeTrigger" outputs="UML2XMI.xsd#//ChangeTrigger;XSDElementDeclaration=114"/>

-    <nested inputs="UML2.ecore#//Trigger" outputs="UML2XMI.xsd#//Trigger;XSDComplexTypeDefinition=115">

-      <nested inputs="UML2.ecore#//Trigger/port" outputs="UML2XMI.xsd#//Trigger;XSDComplexTypeDefinition=115/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Trigger/port" outputs="UML2XMI.xsd#//Trigger;XSDComplexTypeDefinition=115/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//SignalTrigger" outputs="UML2XMI.xsd#//SignalTrigger;XSDElementDeclaration=113"/>

+    <nested inputs="UML2.ecore#//TimeTrigger" outputs="UML2XMI.xsd#//TimeTrigger;XSDComplexTypeDefinition=114">

+      <nested inputs="UML2.ecore#//TimeTrigger/isRelative" outputs="UML2XMI.xsd#//TimeTrigger;XSDComplexTypeDefinition=114/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//TimeTrigger/when" outputs="UML2XMI.xsd#//TimeTrigger;XSDComplexTypeDefinition=114/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Trigger" outputs="UML2XMI.xsd#//Trigger;XSDElementDeclaration=115"/>

-    <nested inputs="UML2.ecore#//Reception" outputs="UML2XMI.xsd#//Reception;XSDComplexTypeDefinition=116">

-      <nested inputs="UML2.ecore#//Reception/signal" outputs="UML2XMI.xsd#//Reception;XSDComplexTypeDefinition=116/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Reception/signal" outputs="UML2XMI.xsd#//Reception;XSDComplexTypeDefinition=116/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//TimeTrigger" outputs="UML2XMI.xsd#//TimeTrigger;XSDElementDeclaration=114"/>

+    <nested inputs="UML2.ecore#//AnyTrigger" outputs="UML2XMI.xsd#//AnyTrigger;XSDComplexTypeDefinition=115"/>

+    <nested inputs="UML2.ecore#//AnyTrigger" outputs="UML2XMI.xsd#//AnyTrigger;XSDElementDeclaration=115"/>

+    <nested inputs="UML2.ecore#//Variable" outputs="UML2XMI.xsd#//Variable;XSDComplexTypeDefinition=116"/>

+    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Variable;XSDComplexTypeDefinition=116/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//TypedElement/type" outputs="UML2XMI.xsd#//Variable;XSDComplexTypeDefinition=116/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Variable" outputs="UML2XMI.xsd#//Variable;XSDElementDeclaration=116"/>

+    <nested inputs="UML2.ecore#//StructuredActivityNode" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=117">

+      <nested inputs="UML2.ecore#//StructuredActivityNode/mustIsolate" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=117/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//StructuredActivityNode/variable" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=117/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//StructuredActivityNode/containedNode" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=117/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//StructuredActivityNode/containedEdge" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=117/XSDParticle/XSDModelGroup/XSDParticle=5"/>

     </nested>

-    <nested inputs="UML2.ecore#//Reception" outputs="UML2XMI.xsd#//Reception;XSDElementDeclaration=116"/>

-    <nested inputs="UML2.ecore#//Signal" outputs="UML2XMI.xsd#//Signal;XSDComplexTypeDefinition=117">

-      <nested inputs="UML2.ecore#//Signal/ownedAttribute" outputs="UML2XMI.xsd#//Signal;XSDComplexTypeDefinition=117/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Namespace/ownedRule" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=117/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Namespace/elementImport" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=117/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Namespace/packageImport" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDComplexTypeDefinition=117/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//StructuredActivityNode" outputs="UML2XMI.xsd#//StructuredActivityNode;XSDElementDeclaration=117"/>

+    <nested inputs="UML2.ecore#//ConditionalNode" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=118">

+      <nested inputs="UML2.ecore#//ConditionalNode/isDeterminate" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=118/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ConditionalNode/isAssured" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=118/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ConditionalNode/clause" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=118/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ConditionalNode/result" outputs="UML2XMI.xsd#//ConditionalNode;XSDComplexTypeDefinition=118/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Signal" outputs="UML2XMI.xsd#//Signal;XSDElementDeclaration=117"/>

-    <nested inputs="UML2.ecore#//SignalTrigger" outputs="UML2XMI.xsd#//SignalTrigger;XSDComplexTypeDefinition=118">

-      <nested inputs="UML2.ecore#//SignalTrigger/signal" outputs="UML2XMI.xsd#//SignalTrigger;XSDComplexTypeDefinition=118/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//SignalTrigger/signal" outputs="UML2XMI.xsd#//SignalTrigger;XSDComplexTypeDefinition=118/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ConditionalNode" outputs="UML2XMI.xsd#//ConditionalNode;XSDElementDeclaration=118"/>

+    <nested inputs="UML2.ecore#//Clause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119">

+      <nested inputs="UML2.ecore#//Clause/test" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Clause/test" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Clause/body" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Clause/body" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Clause/predecessorClause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Clause/predecessorClause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Clause/successorClause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Clause/successorClause" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Clause/decider" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Clause/decider" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//Clause/bodyOutput" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDAttributeUse=5"/>

+      <nested inputs="UML2.ecore#//Clause/bodyOutput" outputs="UML2XMI.xsd#//Clause;XSDComplexTypeDefinition=119/XSDParticle/XSDModelGroup/XSDParticle=5"/>

     </nested>

-    <nested inputs="UML2.ecore#//SignalTrigger" outputs="UML2XMI.xsd#//SignalTrigger;XSDElementDeclaration=118"/>

-    <nested inputs="UML2.ecore#//TimeTrigger" outputs="UML2XMI.xsd#//TimeTrigger;XSDComplexTypeDefinition=119">

-      <nested inputs="UML2.ecore#//TimeTrigger/isRelative" outputs="UML2XMI.xsd#//TimeTrigger;XSDComplexTypeDefinition=119/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//TimeTrigger/when" outputs="UML2XMI.xsd#//TimeTrigger;XSDComplexTypeDefinition=119/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Clause" outputs="UML2XMI.xsd#//Clause;XSDElementDeclaration=119"/>

+    <nested inputs="UML2.ecore#//LoopNode" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120">

+      <nested inputs="UML2.ecore#//LoopNode/isTestedFirst" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//LoopNode/bodyPart" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//LoopNode/bodyPart" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//LoopNode/setupPart" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//LoopNode/setupPart" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//LoopNode/decider" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//LoopNode/decider" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//LoopNode/test" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//LoopNode/test" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//LoopNode/result" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//LoopNode/loopVariable" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+      <nested inputs="UML2.ecore#//LoopNode/bodyOutput" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDAttributeUse=5"/>

+      <nested inputs="UML2.ecore#//LoopNode/bodyOutput" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDParticle/XSDModelGroup/XSDParticle=6"/>

+      <nested inputs="UML2.ecore#//LoopNode/loopVariableInput" outputs="UML2XMI.xsd#//LoopNode;XSDComplexTypeDefinition=120/XSDParticle/XSDModelGroup/XSDParticle=7"/>

     </nested>

-    <nested inputs="UML2.ecore#//TimeTrigger" outputs="UML2XMI.xsd#//TimeTrigger;XSDElementDeclaration=119"/>

-    <nested inputs="UML2.ecore#//AnyTrigger" outputs="UML2XMI.xsd#//AnyTrigger;XSDComplexTypeDefinition=120"/>

-    <nested inputs="UML2.ecore#//AnyTrigger" outputs="UML2XMI.xsd#//AnyTrigger;XSDElementDeclaration=120"/>

+    <nested inputs="UML2.ecore#//LoopNode" outputs="UML2XMI.xsd#//LoopNode;XSDElementDeclaration=120"/>

     <nested inputs="UML2.ecore#//TemplateSignature" outputs="UML2XMI.xsd#//TemplateSignature;XSDComplexTypeDefinition=121">

       <nested inputs="UML2.ecore#//TemplateSignature/parameter" outputs="UML2XMI.xsd#//TemplateSignature;XSDComplexTypeDefinition=121/XSDAttributeUse"/>

       <nested inputs="UML2.ecore#//TemplateSignature/parameter" outputs="UML2XMI.xsd#//TemplateSignature;XSDComplexTypeDefinition=121/XSDParticle/XSDModelGroup/XSDParticle"/>

@@ -923,362 +923,361 @@
     <nested inputs="UML2.ecore#//TemplateableClassifier" outputs="UML2XMI.xsd#//TemplateableClassifier;XSDElementDeclaration=132"/>

     <nested inputs="UML2.ecore#//ConnectableElementTemplateParameter" outputs="UML2XMI.xsd#//ConnectableElementTemplateParameter;XSDComplexTypeDefinition=133"/>

     <nested inputs="UML2.ecore#//ConnectableElementTemplateParameter" outputs="UML2XMI.xsd#//ConnectableElementTemplateParameter;XSDElementDeclaration=133"/>

-    <nested inputs="UML2.ecore#//InteractionOccurrence" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=134">

-      <nested inputs="UML2.ecore#//InteractionOccurrence/refersTo" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=134/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//InteractionOccurrence/refersTo" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=134/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//InteractionOccurrence/actualGate" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=134/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//InteractionOccurrence/argument" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=134/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//StateMachine" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=134">

+      <nested inputs="UML2.ecore#//StateMachine/region" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=134/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//StateMachine/connectionPoint" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=134/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//StateMachine/extendedStateMachine" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=134/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//StateMachine/extendedStateMachine" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=134/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//InteractionOccurrence" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDElementDeclaration=134"/>

-    <nested inputs="UML2.ecore#//Gate" outputs="UML2XMI.xsd#//Gate;XSDComplexTypeDefinition=135"/>

-    <nested inputs="UML2.ecore#//Gate" outputs="UML2XMI.xsd#//Gate;XSDElementDeclaration=135"/>

-    <nested inputs="UML2.ecore#//PartDecomposition" outputs="UML2XMI.xsd#//PartDecomposition;XSDComplexTypeDefinition=136"/>

-    <nested inputs="UML2.ecore#//PartDecomposition" outputs="UML2XMI.xsd#//PartDecomposition;XSDElementDeclaration=136"/>

-    <nested inputs="UML2.ecore#//InteractionOperand" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=137">

-      <nested inputs="UML2.ecore#//InteractionOperand/guard" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//InteractionOperand/fragment" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//StateMachine" outputs="UML2XMI.xsd#//StateMachine;XSDElementDeclaration=134"/>

+    <nested inputs="UML2.ecore#//Region" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=135">

+      <nested inputs="UML2.ecore#//Region/subvertex" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=135/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Region/transition" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=135/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Region/extendedRegion" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=135/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Region/extendedRegion" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=135/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=137/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//InteractionFragment/generalOrdering" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//InteractionOperand" outputs="UML2XMI.xsd#//InteractionOperand;XSDElementDeclaration=137"/>

-    <nested inputs="UML2.ecore#//InteractionConstraint" outputs="UML2XMI.xsd#//InteractionConstraint;XSDComplexTypeDefinition=138">

-      <nested inputs="UML2.ecore#//InteractionConstraint/minint" outputs="UML2XMI.xsd#//InteractionConstraint;XSDComplexTypeDefinition=138/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//InteractionConstraint/maxint" outputs="UML2XMI.xsd#//InteractionConstraint;XSDComplexTypeDefinition=138/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Region" outputs="UML2XMI.xsd#//Region;XSDElementDeclaration=135"/>

+    <nested inputs="UML2.ecore#//Pseudostate" outputs="UML2XMI.xsd#//Pseudostate;XSDComplexTypeDefinition=136">

+      <nested inputs="UML2.ecore#//Pseudostate/kind" outputs="UML2XMI.xsd#//Pseudostate;XSDComplexTypeDefinition=136/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//InteractionConstraint" outputs="UML2XMI.xsd#//InteractionConstraint;XSDElementDeclaration=138"/>

-    <nested inputs="UML2.ecore#//CombinedFragment" outputs="UML2XMI.xsd#//CombinedFragment;XSDComplexTypeDefinition=139">

-      <nested inputs="UML2.ecore#//CombinedFragment/interactionOperator" outputs="UML2XMI.xsd#//CombinedFragment;XSDComplexTypeDefinition=139/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//CombinedFragment/operand" outputs="UML2XMI.xsd#//CombinedFragment;XSDComplexTypeDefinition=139/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//CombinedFragment/cfragmentGate" outputs="UML2XMI.xsd#//CombinedFragment;XSDComplexTypeDefinition=139/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Pseudostate" outputs="UML2XMI.xsd#//Pseudostate;XSDElementDeclaration=136"/>

+    <nested inputs="UML2.ecore#//State" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137">

+      <nested inputs="UML2.ecore#//State/submachine" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//State/submachine" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//State/connection" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//State/redefinedState" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//State/redefinedState" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//State/deferrableTrigger" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//State/deferrableTrigger" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+      <nested inputs="UML2.ecore#//State/region" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=6"/>

+      <nested inputs="UML2.ecore#//State/entry" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=7"/>

+      <nested inputs="UML2.ecore#//State/exit" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=8"/>

+      <nested inputs="UML2.ecore#//State/doActivity" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=9"/>

+      <nested inputs="UML2.ecore#//State/stateInvariant" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=10"/>

     </nested>

-    <nested inputs="UML2.ecore#//CombinedFragment" outputs="UML2XMI.xsd#//CombinedFragment;XSDElementDeclaration=139"/>

-    <nested inputs="UML2.ecore#//Continuation" outputs="UML2XMI.xsd#//Continuation;XSDComplexTypeDefinition=140">

-      <nested inputs="UML2.ecore#//Continuation/setting" outputs="UML2XMI.xsd#//Continuation;XSDComplexTypeDefinition=140/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//Vertex/outgoing" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//Vertex/outgoing" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Vertex/incoming" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//Vertex/incoming" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=137/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//State" outputs="UML2XMI.xsd#//State;XSDElementDeclaration=137"/>

+    <nested inputs="UML2.ecore#//Vertex" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=138">

+      <nested inputs="UML2.ecore#//Vertex/outgoing" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=138/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Vertex/outgoing" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=138/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Vertex/incoming" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=138/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Vertex/incoming" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=138/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Continuation" outputs="UML2XMI.xsd#//Continuation;XSDElementDeclaration=140"/>

-    <nested inputs="UML2.ecore#//StateMachine" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=141">

-      <nested inputs="UML2.ecore#//StateMachine/region" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=141/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//StateMachine/connectionPoint" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=141/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//StateMachine/extendedStateMachine" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=141/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//StateMachine/extendedStateMachine" outputs="UML2XMI.xsd#//StateMachine;XSDComplexTypeDefinition=141/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//Vertex" outputs="UML2XMI.xsd#//Vertex;XSDElementDeclaration=138"/>

+    <nested inputs="UML2.ecore#//ConnectionPointReference" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=139">

+      <nested inputs="UML2.ecore#//ConnectionPointReference/entry" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=139/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ConnectionPointReference/entry" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=139/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ConnectionPointReference/exit" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=139/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ConnectionPointReference/exit" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=139/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//StateMachine" outputs="UML2XMI.xsd#//StateMachine;XSDElementDeclaration=141"/>

-    <nested inputs="UML2.ecore#//Region" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=142">

-      <nested inputs="UML2.ecore#//Region/subvertex" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=142/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Region/transition" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=142/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Region/extendedRegion" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=142/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Region/extendedRegion" outputs="UML2XMI.xsd#//Region;XSDComplexTypeDefinition=142/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//ConnectionPointReference" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDElementDeclaration=139"/>

+    <nested inputs="UML2.ecore#//Transition" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140">

+      <nested inputs="UML2.ecore#//Transition/kind" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Transition/source" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Transition/source" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Transition/target" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//Transition/target" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//Transition/redefinedTransition" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//Transition/redefinedTransition" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//Transition/trigger" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//Transition/trigger" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+      <nested inputs="UML2.ecore#//Transition/guard" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDParticle/XSDModelGroup/XSDParticle=4"/>

+      <nested inputs="UML2.ecore#//Transition/effect" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=140/XSDParticle/XSDModelGroup/XSDParticle=5"/>

     </nested>

-    <nested inputs="UML2.ecore#//Region" outputs="UML2XMI.xsd#//Region;XSDElementDeclaration=142"/>

-    <nested inputs="UML2.ecore#//Pseudostate" outputs="UML2XMI.xsd#//Pseudostate;XSDComplexTypeDefinition=143">

-      <nested inputs="UML2.ecore#//Pseudostate/kind" outputs="UML2XMI.xsd#//Pseudostate;XSDComplexTypeDefinition=143/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//Transition" outputs="UML2XMI.xsd#//Transition;XSDElementDeclaration=140"/>

+    <nested inputs="UML2.ecore#//FinalState" outputs="UML2XMI.xsd#//FinalState;XSDComplexTypeDefinition=141"/>

+    <nested inputs="UML2.ecore#//FinalState" outputs="UML2XMI.xsd#//FinalState;XSDElementDeclaration=141"/>

+    <nested inputs="UML2.ecore#//ForkNode" outputs="UML2XMI.xsd#//ForkNode;XSDComplexTypeDefinition=142"/>

+    <nested inputs="UML2.ecore#//ForkNode" outputs="UML2XMI.xsd#//ForkNode;XSDElementDeclaration=142"/>

+    <nested inputs="UML2.ecore#//JoinNode" outputs="UML2XMI.xsd#//JoinNode;XSDComplexTypeDefinition=143">

+      <nested inputs="UML2.ecore#//JoinNode/isCombineDuplicate" outputs="UML2XMI.xsd#//JoinNode;XSDComplexTypeDefinition=143/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//JoinNode/joinSpec" outputs="UML2XMI.xsd#//JoinNode;XSDComplexTypeDefinition=143/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Pseudostate" outputs="UML2XMI.xsd#//Pseudostate;XSDElementDeclaration=143"/>

-    <nested inputs="UML2.ecore#//State" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144">

-      <nested inputs="UML2.ecore#//State/submachine" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//State/submachine" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//State/connection" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//State/redefinedState" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//State/redefinedState" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//State/deferrableTrigger" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//State/deferrableTrigger" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=5"/>

-      <nested inputs="UML2.ecore#//State/region" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=6"/>

-      <nested inputs="UML2.ecore#//State/entry" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=7"/>

-      <nested inputs="UML2.ecore#//State/exit" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=8"/>

-      <nested inputs="UML2.ecore#//State/doActivity" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=9"/>

-      <nested inputs="UML2.ecore#//State/stateInvariant" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=10"/>

+    <nested inputs="UML2.ecore#//JoinNode" outputs="UML2XMI.xsd#//JoinNode;XSDElementDeclaration=143"/>

+    <nested inputs="UML2.ecore#//FlowFinalNode" outputs="UML2XMI.xsd#//FlowFinalNode;XSDComplexTypeDefinition=144"/>

+    <nested inputs="UML2.ecore#//FlowFinalNode" outputs="UML2XMI.xsd#//FlowFinalNode;XSDElementDeclaration=144"/>

+    <nested inputs="UML2.ecore#//CentralBufferNode" outputs="UML2XMI.xsd#//CentralBufferNode;XSDComplexTypeDefinition=145"/>

+    <nested inputs="UML2.ecore#//CentralBufferNode" outputs="UML2XMI.xsd#//CentralBufferNode;XSDElementDeclaration=145"/>

+    <nested inputs="UML2.ecore#//ActivityPartition" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146">

+      <nested inputs="UML2.ecore#//ActivityPartition/isDimension" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ActivityPartition/isExternal" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ActivityPartition/containedEdge" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//ActivityPartition/containedEdge" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ActivityPartition/containedNode" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDAttributeUse=3"/>

+      <nested inputs="UML2.ecore#//ActivityPartition/containedNode" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//ActivityPartition/subgroup" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//ActivityPartition/represents" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDAttributeUse=4"/>

+      <nested inputs="UML2.ecore#//ActivityPartition/represents" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=146/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//Vertex/outgoing" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDAttributeUse"/>

-    <nested inputs="UML2.ecore#//Vertex/outgoing" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//Vertex/incoming" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDAttributeUse=1"/>

-    <nested inputs="UML2.ecore#//Vertex/incoming" outputs="UML2XMI.xsd#//State;XSDComplexTypeDefinition=144/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-    <nested inputs="UML2.ecore#//State" outputs="UML2XMI.xsd#//State;XSDElementDeclaration=144"/>

-    <nested inputs="UML2.ecore#//Vertex" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=145">

-      <nested inputs="UML2.ecore#//Vertex/outgoing" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=145/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Vertex/outgoing" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=145/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Vertex/incoming" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=145/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Vertex/incoming" outputs="UML2XMI.xsd#//Vertex;XSDComplexTypeDefinition=145/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//ActivityPartition" outputs="UML2XMI.xsd#//ActivityPartition;XSDElementDeclaration=146"/>

+    <nested inputs="UML2.ecore#//CreateObjectAction" outputs="UML2XMI.xsd#//CreateObjectAction;XSDComplexTypeDefinition=147">

+      <nested inputs="UML2.ecore#//CreateObjectAction/classifier" outputs="UML2XMI.xsd#//CreateObjectAction;XSDComplexTypeDefinition=147/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//CreateObjectAction/classifier" outputs="UML2XMI.xsd#//CreateObjectAction;XSDComplexTypeDefinition=147/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//CreateObjectAction/result" outputs="UML2XMI.xsd#//CreateObjectAction;XSDComplexTypeDefinition=147/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Vertex" outputs="UML2XMI.xsd#//Vertex;XSDElementDeclaration=145"/>

-    <nested inputs="UML2.ecore#//ConnectionPointReference" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=146">

-      <nested inputs="UML2.ecore#//ConnectionPointReference/entry" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=146/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ConnectionPointReference/entry" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=146/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ConnectionPointReference/exit" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=146/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ConnectionPointReference/exit" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDComplexTypeDefinition=146/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//CreateObjectAction" outputs="UML2XMI.xsd#//CreateObjectAction;XSDElementDeclaration=147"/>

+    <nested inputs="UML2.ecore#//DestroyObjectAction" outputs="UML2XMI.xsd#//DestroyObjectAction;XSDComplexTypeDefinition=148">

+      <nested inputs="UML2.ecore#//DestroyObjectAction/target" outputs="UML2XMI.xsd#//DestroyObjectAction;XSDComplexTypeDefinition=148/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ConnectionPointReference" outputs="UML2XMI.xsd#//ConnectionPointReference;XSDElementDeclaration=146"/>

-    <nested inputs="UML2.ecore#//Transition" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147">

-      <nested inputs="UML2.ecore#//Transition/kind" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Transition/source" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Transition/source" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Transition/target" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//Transition/target" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//Transition/redefinedTransition" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//Transition/redefinedTransition" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//Transition/trigger" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//Transition/trigger" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDParticle/XSDModelGroup/XSDParticle=3"/>

-      <nested inputs="UML2.ecore#//Transition/guard" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDParticle/XSDModelGroup/XSDParticle=4"/>

-      <nested inputs="UML2.ecore#//Transition/effect" outputs="UML2XMI.xsd#//Transition;XSDComplexTypeDefinition=147/XSDParticle/XSDModelGroup/XSDParticle=5"/>

+    <nested inputs="UML2.ecore#//DestroyObjectAction" outputs="UML2XMI.xsd#//DestroyObjectAction;XSDElementDeclaration=148"/>

+    <nested inputs="UML2.ecore#//TestIdentityAction" outputs="UML2XMI.xsd#//TestIdentityAction;XSDComplexTypeDefinition=149">

+      <nested inputs="UML2.ecore#//TestIdentityAction/first" outputs="UML2XMI.xsd#//TestIdentityAction;XSDComplexTypeDefinition=149/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//TestIdentityAction/second" outputs="UML2XMI.xsd#//TestIdentityAction;XSDComplexTypeDefinition=149/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//TestIdentityAction/result" outputs="UML2XMI.xsd#//TestIdentityAction;XSDComplexTypeDefinition=149/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//Transition" outputs="UML2XMI.xsd#//Transition;XSDElementDeclaration=147"/>

-    <nested inputs="UML2.ecore#//FinalState" outputs="UML2XMI.xsd#//FinalState;XSDComplexTypeDefinition=148"/>

-    <nested inputs="UML2.ecore#//FinalState" outputs="UML2XMI.xsd#//FinalState;XSDElementDeclaration=148"/>

-    <nested inputs="UML2.ecore#//ForkNode" outputs="UML2XMI.xsd#//ForkNode;XSDComplexTypeDefinition=149"/>

-    <nested inputs="UML2.ecore#//ForkNode" outputs="UML2XMI.xsd#//ForkNode;XSDElementDeclaration=149"/>

-    <nested inputs="UML2.ecore#//JoinNode" outputs="UML2XMI.xsd#//JoinNode;XSDComplexTypeDefinition=150">

-      <nested inputs="UML2.ecore#//JoinNode/isCombineDuplicate" outputs="UML2XMI.xsd#//JoinNode;XSDComplexTypeDefinition=150/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//JoinNode/joinSpec" outputs="UML2XMI.xsd#//JoinNode;XSDComplexTypeDefinition=150/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//TestIdentityAction" outputs="UML2XMI.xsd#//TestIdentityAction;XSDElementDeclaration=149"/>

+    <nested inputs="UML2.ecore#//ReadSelfAction" outputs="UML2XMI.xsd#//ReadSelfAction;XSDComplexTypeDefinition=150">

+      <nested inputs="UML2.ecore#//ReadSelfAction/result" outputs="UML2XMI.xsd#//ReadSelfAction;XSDComplexTypeDefinition=150/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//JoinNode" outputs="UML2XMI.xsd#//JoinNode;XSDElementDeclaration=150"/>

-    <nested inputs="UML2.ecore#//FlowFinalNode" outputs="UML2XMI.xsd#//FlowFinalNode;XSDComplexTypeDefinition=151"/>

-    <nested inputs="UML2.ecore#//FlowFinalNode" outputs="UML2XMI.xsd#//FlowFinalNode;XSDElementDeclaration=151"/>

-    <nested inputs="UML2.ecore#//CentralBufferNode" outputs="UML2XMI.xsd#//CentralBufferNode;XSDComplexTypeDefinition=152"/>

-    <nested inputs="UML2.ecore#//CentralBufferNode" outputs="UML2XMI.xsd#//CentralBufferNode;XSDElementDeclaration=152"/>

-    <nested inputs="UML2.ecore#//ActivityPartition" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153">

-      <nested inputs="UML2.ecore#//ActivityPartition/isDimension" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ActivityPartition/isExternal" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ActivityPartition/containedEdge" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//ActivityPartition/containedEdge" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ActivityPartition/containedNode" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDAttributeUse=3"/>

-      <nested inputs="UML2.ecore#//ActivityPartition/containedNode" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//ActivityPartition/subgroup" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDParticle/XSDModelGroup/XSDParticle=2"/>

-      <nested inputs="UML2.ecore#//ActivityPartition/represents" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDAttributeUse=4"/>

-      <nested inputs="UML2.ecore#//ActivityPartition/represents" outputs="UML2XMI.xsd#//ActivityPartition;XSDComplexTypeDefinition=153/XSDParticle/XSDModelGroup/XSDParticle=3"/>

+    <nested inputs="UML2.ecore#//ReadSelfAction" outputs="UML2XMI.xsd#//ReadSelfAction;XSDElementDeclaration=150"/>

+    <nested inputs="UML2.ecore#//StructuralFeatureAction" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDComplexTypeDefinition=151">

+      <nested inputs="UML2.ecore#//StructuralFeatureAction/structuralFeature" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDComplexTypeDefinition=151/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//StructuralFeatureAction/structuralFeature" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDComplexTypeDefinition=151/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//StructuralFeatureAction/object" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDComplexTypeDefinition=151/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//ActivityPartition" outputs="UML2XMI.xsd#//ActivityPartition;XSDElementDeclaration=153"/>

-    <nested inputs="UML2.ecore#//ExpansionNode" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=154">

-      <nested inputs="UML2.ecore#//ExpansionNode/regionAsOutput" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=154/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ExpansionNode/regionAsOutput" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=154/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ExpansionNode/regionAsInput" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=154/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ExpansionNode/regionAsInput" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=154/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//StructuralFeatureAction" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDElementDeclaration=151"/>

+    <nested inputs="UML2.ecore#//ReadStructuralFeatureAction" outputs="UML2XMI.xsd#//ReadStructuralFeatureAction;XSDComplexTypeDefinition=152">

+      <nested inputs="UML2.ecore#//ReadStructuralFeatureAction/result" outputs="UML2XMI.xsd#//ReadStructuralFeatureAction;XSDComplexTypeDefinition=152/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ExpansionNode" outputs="UML2XMI.xsd#//ExpansionNode;XSDElementDeclaration=154"/>

-    <nested inputs="UML2.ecore#//ExpansionRegion" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=155">

-      <nested inputs="UML2.ecore#//ExpansionRegion/mode" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=155/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ExpansionRegion/outputElement" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=155/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ExpansionRegion/outputElement" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=155/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ExpansionRegion/inputElement" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=155/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//ExpansionRegion/inputElement" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=155/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//ReadStructuralFeatureAction" outputs="UML2XMI.xsd#//ReadStructuralFeatureAction;XSDElementDeclaration=152"/>

+    <nested inputs="UML2.ecore#//WriteStructuralFeatureAction" outputs="UML2XMI.xsd#//WriteStructuralFeatureAction;XSDComplexTypeDefinition=153">

+      <nested inputs="UML2.ecore#//WriteStructuralFeatureAction/value" outputs="UML2XMI.xsd#//WriteStructuralFeatureAction;XSDComplexTypeDefinition=153/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ExpansionRegion" outputs="UML2XMI.xsd#//ExpansionRegion;XSDElementDeclaration=155"/>

-    <nested inputs="UML2.ecore#//ExceptionHandler" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=156">

-      <nested inputs="UML2.ecore#//ExceptionHandler/handlerBody" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=156/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ExceptionHandler/handlerBody" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=156/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ExceptionHandler/exceptionInput" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=156/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//ExceptionHandler/exceptionInput" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=156/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//ExceptionHandler/exceptionType" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=156/XSDAttributeUse=2"/>

-      <nested inputs="UML2.ecore#//ExceptionHandler/exceptionType" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=156/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//WriteStructuralFeatureAction" outputs="UML2XMI.xsd#//WriteStructuralFeatureAction;XSDElementDeclaration=153"/>

+    <nested inputs="UML2.ecore#//ClearStructuralFeatureAction" outputs="UML2XMI.xsd#//ClearStructuralFeatureAction;XSDComplexTypeDefinition=154"/>

+    <nested inputs="UML2.ecore#//ClearStructuralFeatureAction" outputs="UML2XMI.xsd#//ClearStructuralFeatureAction;XSDElementDeclaration=154"/>

+    <nested inputs="UML2.ecore#//RemoveStructuralFeatureValueAction" outputs="UML2XMI.xsd#//RemoveStructuralFeatureValueAction;XSDComplexTypeDefinition=155"/>

+    <nested inputs="UML2.ecore#//RemoveStructuralFeatureValueAction" outputs="UML2XMI.xsd#//RemoveStructuralFeatureValueAction;XSDElementDeclaration=155"/>

+    <nested inputs="UML2.ecore#//AddStructuralFeatureValueAction" outputs="UML2XMI.xsd#//AddStructuralFeatureValueAction;XSDComplexTypeDefinition=156">

+      <nested inputs="UML2.ecore#//AddStructuralFeatureValueAction/isReplaceAll" outputs="UML2XMI.xsd#//AddStructuralFeatureValueAction;XSDComplexTypeDefinition=156/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//AddStructuralFeatureValueAction/insertAt" outputs="UML2XMI.xsd#//AddStructuralFeatureValueAction;XSDComplexTypeDefinition=156/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ExceptionHandler" outputs="UML2XMI.xsd#//ExceptionHandler;XSDElementDeclaration=156"/>

-    <nested inputs="UML2.ecore#//CreateObjectAction" outputs="UML2XMI.xsd#//CreateObjectAction;XSDComplexTypeDefinition=157">

-      <nested inputs="UML2.ecore#//CreateObjectAction/classifier" outputs="UML2XMI.xsd#//CreateObjectAction;XSDComplexTypeDefinition=157/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//CreateObjectAction/classifier" outputs="UML2XMI.xsd#//CreateObjectAction;XSDComplexTypeDefinition=157/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//CreateObjectAction/result" outputs="UML2XMI.xsd#//CreateObjectAction;XSDComplexTypeDefinition=157/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//AddStructuralFeatureValueAction" outputs="UML2XMI.xsd#//AddStructuralFeatureValueAction;XSDElementDeclaration=156"/>

+    <nested inputs="UML2.ecore#//LinkAction" outputs="UML2XMI.xsd#//LinkAction;XSDComplexTypeDefinition=157">

+      <nested inputs="UML2.ecore#//LinkAction/endData" outputs="UML2XMI.xsd#//LinkAction;XSDComplexTypeDefinition=157/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//CreateObjectAction" outputs="UML2XMI.xsd#//CreateObjectAction;XSDElementDeclaration=157"/>

-    <nested inputs="UML2.ecore#//DestroyObjectAction" outputs="UML2XMI.xsd#//DestroyObjectAction;XSDComplexTypeDefinition=158">

-      <nested inputs="UML2.ecore#//DestroyObjectAction/target" outputs="UML2XMI.xsd#//DestroyObjectAction;XSDComplexTypeDefinition=158/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//LinkAction" outputs="UML2XMI.xsd#//LinkAction;XSDElementDeclaration=157"/>

+    <nested inputs="UML2.ecore#//LinkEndData" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=158">

+      <nested inputs="UML2.ecore#//LinkEndData/value" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=158/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//LinkEndData/value" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=158/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//LinkEndData/end" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=158/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//LinkEndData/end" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=158/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//LinkEndData/qualifier" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=158/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//DestroyObjectAction" outputs="UML2XMI.xsd#//DestroyObjectAction;XSDElementDeclaration=158"/>

-    <nested inputs="UML2.ecore#//TestIdentityAction" outputs="UML2XMI.xsd#//TestIdentityAction;XSDComplexTypeDefinition=159">

-      <nested inputs="UML2.ecore#//TestIdentityAction/first" outputs="UML2XMI.xsd#//TestIdentityAction;XSDComplexTypeDefinition=159/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//TestIdentityAction/second" outputs="UML2XMI.xsd#//TestIdentityAction;XSDComplexTypeDefinition=159/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//TestIdentityAction/result" outputs="UML2XMI.xsd#//TestIdentityAction;XSDComplexTypeDefinition=159/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//LinkEndData" outputs="UML2XMI.xsd#//LinkEndData;XSDElementDeclaration=158"/>

+    <nested inputs="UML2.ecore#//ReadLinkAction" outputs="UML2XMI.xsd#//ReadLinkAction;XSDComplexTypeDefinition=159">

+      <nested inputs="UML2.ecore#//ReadLinkAction/result" outputs="UML2XMI.xsd#//ReadLinkAction;XSDComplexTypeDefinition=159/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//TestIdentityAction" outputs="UML2XMI.xsd#//TestIdentityAction;XSDElementDeclaration=159"/>

-    <nested inputs="UML2.ecore#//ReadSelfAction" outputs="UML2XMI.xsd#//ReadSelfAction;XSDComplexTypeDefinition=160">

-      <nested inputs="UML2.ecore#//ReadSelfAction/result" outputs="UML2XMI.xsd#//ReadSelfAction;XSDComplexTypeDefinition=160/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ReadLinkAction" outputs="UML2XMI.xsd#//ReadLinkAction;XSDElementDeclaration=159"/>

+    <nested inputs="UML2.ecore#//LinkEndCreationData" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDComplexTypeDefinition=160">

+      <nested inputs="UML2.ecore#//LinkEndCreationData/isReplaceAll" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDComplexTypeDefinition=160/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//LinkEndCreationData/insertAt" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDComplexTypeDefinition=160/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//LinkEndCreationData/insertAt" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDComplexTypeDefinition=160/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ReadSelfAction" outputs="UML2XMI.xsd#//ReadSelfAction;XSDElementDeclaration=160"/>

-    <nested inputs="UML2.ecore#//StructuralFeatureAction" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDComplexTypeDefinition=161">

-      <nested inputs="UML2.ecore#//StructuralFeatureAction/structuralFeature" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDComplexTypeDefinition=161/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//StructuralFeatureAction/structuralFeature" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDComplexTypeDefinition=161/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//StructuralFeatureAction/object" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDComplexTypeDefinition=161/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//LinkEndCreationData" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDElementDeclaration=160"/>

+    <nested inputs="UML2.ecore#//CreateLinkAction" outputs="UML2XMI.xsd#//CreateLinkAction;XSDComplexTypeDefinition=161"/>

+    <nested inputs="UML2.ecore#//CreateLinkAction" outputs="UML2XMI.xsd#//CreateLinkAction;XSDElementDeclaration=161"/>

+    <nested inputs="UML2.ecore#//WriteLinkAction" outputs="UML2XMI.xsd#//WriteLinkAction;XSDComplexTypeDefinition=162"/>

+    <nested inputs="UML2.ecore#//WriteLinkAction" outputs="UML2XMI.xsd#//WriteLinkAction;XSDElementDeclaration=162"/>

+    <nested inputs="UML2.ecore#//DestroyLinkAction" outputs="UML2XMI.xsd#//DestroyLinkAction;XSDComplexTypeDefinition=163"/>

+    <nested inputs="UML2.ecore#//DestroyLinkAction" outputs="UML2XMI.xsd#//DestroyLinkAction;XSDElementDeclaration=163"/>

+    <nested inputs="UML2.ecore#//ClearAssociationAction" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDComplexTypeDefinition=164">

+      <nested inputs="UML2.ecore#//ClearAssociationAction/object" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDComplexTypeDefinition=164/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ClearAssociationAction/association" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDComplexTypeDefinition=164/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ClearAssociationAction/association" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDComplexTypeDefinition=164/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//StructuralFeatureAction" outputs="UML2XMI.xsd#//StructuralFeatureAction;XSDElementDeclaration=161"/>

-    <nested inputs="UML2.ecore#//ReadStructuralFeatureAction" outputs="UML2XMI.xsd#//ReadStructuralFeatureAction;XSDComplexTypeDefinition=162">

-      <nested inputs="UML2.ecore#//ReadStructuralFeatureAction/result" outputs="UML2XMI.xsd#//ReadStructuralFeatureAction;XSDComplexTypeDefinition=162/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ClearAssociationAction" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDElementDeclaration=164"/>

+    <nested inputs="UML2.ecore#//VariableAction" outputs="UML2XMI.xsd#//VariableAction;XSDComplexTypeDefinition=165">

+      <nested inputs="UML2.ecore#//VariableAction/variable" outputs="UML2XMI.xsd#//VariableAction;XSDComplexTypeDefinition=165/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//VariableAction/variable" outputs="UML2XMI.xsd#//VariableAction;XSDComplexTypeDefinition=165/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ReadStructuralFeatureAction" outputs="UML2XMI.xsd#//ReadStructuralFeatureAction;XSDElementDeclaration=162"/>

-    <nested inputs="UML2.ecore#//WriteStructuralFeatureAction" outputs="UML2XMI.xsd#//WriteStructuralFeatureAction;XSDComplexTypeDefinition=163">

-      <nested inputs="UML2.ecore#//WriteStructuralFeatureAction/value" outputs="UML2XMI.xsd#//WriteStructuralFeatureAction;XSDComplexTypeDefinition=163/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//VariableAction" outputs="UML2XMI.xsd#//VariableAction;XSDElementDeclaration=165"/>

+    <nested inputs="UML2.ecore#//ReadVariableAction" outputs="UML2XMI.xsd#//ReadVariableAction;XSDComplexTypeDefinition=166">

+      <nested inputs="UML2.ecore#//ReadVariableAction/result" outputs="UML2XMI.xsd#//ReadVariableAction;XSDComplexTypeDefinition=166/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//WriteStructuralFeatureAction" outputs="UML2XMI.xsd#//WriteStructuralFeatureAction;XSDElementDeclaration=163"/>

-    <nested inputs="UML2.ecore#//ClearStructuralFeatureAction" outputs="UML2XMI.xsd#//ClearStructuralFeatureAction;XSDComplexTypeDefinition=164"/>

-    <nested inputs="UML2.ecore#//ClearStructuralFeatureAction" outputs="UML2XMI.xsd#//ClearStructuralFeatureAction;XSDElementDeclaration=164"/>

-    <nested inputs="UML2.ecore#//RemoveStructuralFeatureValueAction" outputs="UML2XMI.xsd#//RemoveStructuralFeatureValueAction;XSDComplexTypeDefinition=165"/>

-    <nested inputs="UML2.ecore#//RemoveStructuralFeatureValueAction" outputs="UML2XMI.xsd#//RemoveStructuralFeatureValueAction;XSDElementDeclaration=165"/>

-    <nested inputs="UML2.ecore#//AddStructuralFeatureValueAction" outputs="UML2XMI.xsd#//AddStructuralFeatureValueAction;XSDComplexTypeDefinition=166">

-      <nested inputs="UML2.ecore#//AddStructuralFeatureValueAction/isReplaceAll" outputs="UML2XMI.xsd#//AddStructuralFeatureValueAction;XSDComplexTypeDefinition=166/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//AddStructuralFeatureValueAction/insertAt" outputs="UML2XMI.xsd#//AddStructuralFeatureValueAction;XSDComplexTypeDefinition=166/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ReadVariableAction" outputs="UML2XMI.xsd#//ReadVariableAction;XSDElementDeclaration=166"/>

+    <nested inputs="UML2.ecore#//WriteVariableAction" outputs="UML2XMI.xsd#//WriteVariableAction;XSDComplexTypeDefinition=167">

+      <nested inputs="UML2.ecore#//WriteVariableAction/value" outputs="UML2XMI.xsd#//WriteVariableAction;XSDComplexTypeDefinition=167/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//AddStructuralFeatureValueAction" outputs="UML2XMI.xsd#//AddStructuralFeatureValueAction;XSDElementDeclaration=166"/>

-    <nested inputs="UML2.ecore#//LinkAction" outputs="UML2XMI.xsd#//LinkAction;XSDComplexTypeDefinition=167">

-      <nested inputs="UML2.ecore#//LinkAction/endData" outputs="UML2XMI.xsd#//LinkAction;XSDComplexTypeDefinition=167/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//WriteVariableAction" outputs="UML2XMI.xsd#//WriteVariableAction;XSDElementDeclaration=167"/>

+    <nested inputs="UML2.ecore#//ClearVariableAction" outputs="UML2XMI.xsd#//ClearVariableAction;XSDComplexTypeDefinition=168"/>

+    <nested inputs="UML2.ecore#//ClearVariableAction" outputs="UML2XMI.xsd#//ClearVariableAction;XSDElementDeclaration=168"/>

+    <nested inputs="UML2.ecore#//AddVariableValueAction" outputs="UML2XMI.xsd#//AddVariableValueAction;XSDComplexTypeDefinition=169">

+      <nested inputs="UML2.ecore#//AddVariableValueAction/isReplaceAll" outputs="UML2XMI.xsd#//AddVariableValueAction;XSDComplexTypeDefinition=169/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//AddVariableValueAction/insertAt" outputs="UML2XMI.xsd#//AddVariableValueAction;XSDComplexTypeDefinition=169/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//LinkAction" outputs="UML2XMI.xsd#//LinkAction;XSDElementDeclaration=167"/>

-    <nested inputs="UML2.ecore#//LinkEndData" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=168">

-      <nested inputs="UML2.ecore#//LinkEndData/value" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=168/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//LinkEndData/value" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=168/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//LinkEndData/end" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=168/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//LinkEndData/end" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=168/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//LinkEndData/qualifier" outputs="UML2XMI.xsd#//LinkEndData;XSDComplexTypeDefinition=168/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//AddVariableValueAction" outputs="UML2XMI.xsd#//AddVariableValueAction;XSDElementDeclaration=169"/>

+    <nested inputs="UML2.ecore#//RemoveVariableValueAction" outputs="UML2XMI.xsd#//RemoveVariableValueAction;XSDComplexTypeDefinition=170"/>

+    <nested inputs="UML2.ecore#//RemoveVariableValueAction" outputs="UML2XMI.xsd#//RemoveVariableValueAction;XSDElementDeclaration=170"/>

+    <nested inputs="UML2.ecore#//ApplyFunctionAction" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=171">

+      <nested inputs="UML2.ecore#//ApplyFunctionAction/function" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=171/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ApplyFunctionAction/function" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=171/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ApplyFunctionAction/argument" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=171/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//ApplyFunctionAction/result" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=171/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//LinkEndData" outputs="UML2XMI.xsd#//LinkEndData;XSDElementDeclaration=168"/>

-    <nested inputs="UML2.ecore#//ReadLinkAction" outputs="UML2XMI.xsd#//ReadLinkAction;XSDComplexTypeDefinition=169">

-      <nested inputs="UML2.ecore#//ReadLinkAction/result" outputs="UML2XMI.xsd#//ReadLinkAction;XSDComplexTypeDefinition=169/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ApplyFunctionAction" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDElementDeclaration=171"/>

+    <nested inputs="UML2.ecore#//PrimitiveFunction" outputs="UML2XMI.xsd#//PrimitiveFunction;XSDComplexTypeDefinition=172">

+      <nested inputs="UML2.ecore#//PrimitiveFunction/body" outputs="UML2XMI.xsd#//PrimitiveFunction;XSDComplexTypeDefinition=172/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//PrimitiveFunction/language" outputs="UML2XMI.xsd#//PrimitiveFunction;XSDComplexTypeDefinition=172/XSDAttributeUse=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//ReadLinkAction" outputs="UML2XMI.xsd#//ReadLinkAction;XSDElementDeclaration=169"/>

-    <nested inputs="UML2.ecore#//LinkEndCreationData" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDComplexTypeDefinition=170">

-      <nested inputs="UML2.ecore#//LinkEndCreationData/isReplaceAll" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDComplexTypeDefinition=170/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//LinkEndCreationData/insertAt" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDComplexTypeDefinition=170/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//LinkEndCreationData/insertAt" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDComplexTypeDefinition=170/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//PrimitiveFunction" outputs="UML2XMI.xsd#//PrimitiveFunction;XSDElementDeclaration=172"/>

+    <nested inputs="UML2.ecore#//CallAction" outputs="UML2XMI.xsd#//CallAction;XSDComplexTypeDefinition=173">

+      <nested inputs="UML2.ecore#//CallAction/isSynchronous" outputs="UML2XMI.xsd#//CallAction;XSDComplexTypeDefinition=173/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//CallAction/result" outputs="UML2XMI.xsd#//CallAction;XSDComplexTypeDefinition=173/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//LinkEndCreationData" outputs="UML2XMI.xsd#//LinkEndCreationData;XSDElementDeclaration=170"/>

-    <nested inputs="UML2.ecore#//CreateLinkAction" outputs="UML2XMI.xsd#//CreateLinkAction;XSDComplexTypeDefinition=171"/>

-    <nested inputs="UML2.ecore#//CreateLinkAction" outputs="UML2XMI.xsd#//CreateLinkAction;XSDElementDeclaration=171"/>

-    <nested inputs="UML2.ecore#//WriteLinkAction" outputs="UML2XMI.xsd#//WriteLinkAction;XSDComplexTypeDefinition=172"/>

-    <nested inputs="UML2.ecore#//WriteLinkAction" outputs="UML2XMI.xsd#//WriteLinkAction;XSDElementDeclaration=172"/>

-    <nested inputs="UML2.ecore#//DestroyLinkAction" outputs="UML2XMI.xsd#//DestroyLinkAction;XSDComplexTypeDefinition=173"/>

-    <nested inputs="UML2.ecore#//DestroyLinkAction" outputs="UML2XMI.xsd#//DestroyLinkAction;XSDElementDeclaration=173"/>

-    <nested inputs="UML2.ecore#//ClearAssociationAction" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDComplexTypeDefinition=174">

-      <nested inputs="UML2.ecore#//ClearAssociationAction/object" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDComplexTypeDefinition=174/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ClearAssociationAction/association" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDComplexTypeDefinition=174/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ClearAssociationAction/association" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDComplexTypeDefinition=174/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//CallAction" outputs="UML2XMI.xsd#//CallAction;XSDElementDeclaration=173"/>

+    <nested inputs="UML2.ecore#//InvocationAction" outputs="UML2XMI.xsd#//InvocationAction;XSDComplexTypeDefinition=174">

+      <nested inputs="UML2.ecore#//InvocationAction/argument" outputs="UML2XMI.xsd#//InvocationAction;XSDComplexTypeDefinition=174/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//InvocationAction/onPort" outputs="UML2XMI.xsd#//InvocationAction;XSDComplexTypeDefinition=174/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//InvocationAction/onPort" outputs="UML2XMI.xsd#//InvocationAction;XSDComplexTypeDefinition=174/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//ClearAssociationAction" outputs="UML2XMI.xsd#//ClearAssociationAction;XSDElementDeclaration=174"/>

-    <nested inputs="UML2.ecore#//VariableAction" outputs="UML2XMI.xsd#//VariableAction;XSDComplexTypeDefinition=175">

-      <nested inputs="UML2.ecore#//VariableAction/variable" outputs="UML2XMI.xsd#//VariableAction;XSDComplexTypeDefinition=175/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//VariableAction/variable" outputs="UML2XMI.xsd#//VariableAction;XSDComplexTypeDefinition=175/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//InvocationAction" outputs="UML2XMI.xsd#//InvocationAction;XSDElementDeclaration=174"/>

+    <nested inputs="UML2.ecore#//SendSignalAction" outputs="UML2XMI.xsd#//SendSignalAction;XSDComplexTypeDefinition=175">

+      <nested inputs="UML2.ecore#//SendSignalAction/target" outputs="UML2XMI.xsd#//SendSignalAction;XSDComplexTypeDefinition=175/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//SendSignalAction/signal" outputs="UML2XMI.xsd#//SendSignalAction;XSDComplexTypeDefinition=175/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//SendSignalAction/signal" outputs="UML2XMI.xsd#//SendSignalAction;XSDComplexTypeDefinition=175/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//VariableAction" outputs="UML2XMI.xsd#//VariableAction;XSDElementDeclaration=175"/>

-    <nested inputs="UML2.ecore#//ReadVariableAction" outputs="UML2XMI.xsd#//ReadVariableAction;XSDComplexTypeDefinition=176">

-      <nested inputs="UML2.ecore#//ReadVariableAction/result" outputs="UML2XMI.xsd#//ReadVariableAction;XSDComplexTypeDefinition=176/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//SendSignalAction" outputs="UML2XMI.xsd#//SendSignalAction;XSDElementDeclaration=175"/>

+    <nested inputs="UML2.ecore#//BroadcastSignalAction" outputs="UML2XMI.xsd#//BroadcastSignalAction;XSDComplexTypeDefinition=176">

+      <nested inputs="UML2.ecore#//BroadcastSignalAction/signal" outputs="UML2XMI.xsd#//BroadcastSignalAction;XSDComplexTypeDefinition=176/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//BroadcastSignalAction/signal" outputs="UML2XMI.xsd#//BroadcastSignalAction;XSDComplexTypeDefinition=176/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ReadVariableAction" outputs="UML2XMI.xsd#//ReadVariableAction;XSDElementDeclaration=176"/>

-    <nested inputs="UML2.ecore#//WriteVariableAction" outputs="UML2XMI.xsd#//WriteVariableAction;XSDComplexTypeDefinition=177">

-      <nested inputs="UML2.ecore#//WriteVariableAction/value" outputs="UML2XMI.xsd#//WriteVariableAction;XSDComplexTypeDefinition=177/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//BroadcastSignalAction" outputs="UML2XMI.xsd#//BroadcastSignalAction;XSDElementDeclaration=176"/>

+    <nested inputs="UML2.ecore#//SendObjectAction" outputs="UML2XMI.xsd#//SendObjectAction;XSDComplexTypeDefinition=177">

+      <nested inputs="UML2.ecore#//SendObjectAction/target" outputs="UML2XMI.xsd#//SendObjectAction;XSDComplexTypeDefinition=177/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//SendObjectAction/request" outputs="UML2XMI.xsd#//SendObjectAction;XSDComplexTypeDefinition=177/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//WriteVariableAction" outputs="UML2XMI.xsd#//WriteVariableAction;XSDElementDeclaration=177"/>

-    <nested inputs="UML2.ecore#//ClearVariableAction" outputs="UML2XMI.xsd#//ClearVariableAction;XSDComplexTypeDefinition=178"/>

-    <nested inputs="UML2.ecore#//ClearVariableAction" outputs="UML2XMI.xsd#//ClearVariableAction;XSDElementDeclaration=178"/>

-    <nested inputs="UML2.ecore#//AddVariableValueAction" outputs="UML2XMI.xsd#//AddVariableValueAction;XSDComplexTypeDefinition=179">

-      <nested inputs="UML2.ecore#//AddVariableValueAction/isReplaceAll" outputs="UML2XMI.xsd#//AddVariableValueAction;XSDComplexTypeDefinition=179/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//AddVariableValueAction/insertAt" outputs="UML2XMI.xsd#//AddVariableValueAction;XSDComplexTypeDefinition=179/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//SendObjectAction" outputs="UML2XMI.xsd#//SendObjectAction;XSDElementDeclaration=177"/>

+    <nested inputs="UML2.ecore#//CallOperationAction" outputs="UML2XMI.xsd#//CallOperationAction;XSDComplexTypeDefinition=178">

+      <nested inputs="UML2.ecore#//CallOperationAction/operation" outputs="UML2XMI.xsd#//CallOperationAction;XSDComplexTypeDefinition=178/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//CallOperationAction/operation" outputs="UML2XMI.xsd#//CallOperationAction;XSDComplexTypeDefinition=178/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//CallOperationAction/target" outputs="UML2XMI.xsd#//CallOperationAction;XSDComplexTypeDefinition=178/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//AddVariableValueAction" outputs="UML2XMI.xsd#//AddVariableValueAction;XSDElementDeclaration=179"/>

-    <nested inputs="UML2.ecore#//RemoveVariableValueAction" outputs="UML2XMI.xsd#//RemoveVariableValueAction;XSDComplexTypeDefinition=180"/>

-    <nested inputs="UML2.ecore#//RemoveVariableValueAction" outputs="UML2XMI.xsd#//RemoveVariableValueAction;XSDElementDeclaration=180"/>

-    <nested inputs="UML2.ecore#//ApplyFunctionAction" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=181">

-      <nested inputs="UML2.ecore#//ApplyFunctionAction/function" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=181/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ApplyFunctionAction/function" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=181/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ApplyFunctionAction/argument" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=181/XSDParticle/XSDModelGroup/XSDParticle=1"/>

-      <nested inputs="UML2.ecore#//ApplyFunctionAction/result" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDComplexTypeDefinition=181/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+    <nested inputs="UML2.ecore#//CallOperationAction" outputs="UML2XMI.xsd#//CallOperationAction;XSDElementDeclaration=178"/>

+    <nested inputs="UML2.ecore#//CallBehaviorAction" outputs="UML2XMI.xsd#//CallBehaviorAction;XSDComplexTypeDefinition=179">

+      <nested inputs="UML2.ecore#//CallBehaviorAction/behavior" outputs="UML2XMI.xsd#//CallBehaviorAction;XSDComplexTypeDefinition=179/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//CallBehaviorAction/behavior" outputs="UML2XMI.xsd#//CallBehaviorAction;XSDComplexTypeDefinition=179/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ApplyFunctionAction" outputs="UML2XMI.xsd#//ApplyFunctionAction;XSDElementDeclaration=181"/>

-    <nested inputs="UML2.ecore#//PrimitiveFunction" outputs="UML2XMI.xsd#//PrimitiveFunction;XSDComplexTypeDefinition=182">

-      <nested inputs="UML2.ecore#//PrimitiveFunction/body" outputs="UML2XMI.xsd#//PrimitiveFunction;XSDComplexTypeDefinition=182/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//PrimitiveFunction/language" outputs="UML2XMI.xsd#//PrimitiveFunction;XSDComplexTypeDefinition=182/XSDAttributeUse=1"/>

+    <nested inputs="UML2.ecore#//CallBehaviorAction" outputs="UML2XMI.xsd#//CallBehaviorAction;XSDElementDeclaration=179"/>

+    <nested inputs="UML2.ecore#//InteractionOccurrence" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=180">

+      <nested inputs="UML2.ecore#//InteractionOccurrence/refersTo" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=180/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//InteractionOccurrence/refersTo" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=180/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//InteractionOccurrence/actualGate" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=180/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//InteractionOccurrence/argument" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDComplexTypeDefinition=180/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//PrimitiveFunction" outputs="UML2XMI.xsd#//PrimitiveFunction;XSDElementDeclaration=182"/>

-    <nested inputs="UML2.ecore#//CallAction" outputs="UML2XMI.xsd#//CallAction;XSDComplexTypeDefinition=183">

-      <nested inputs="UML2.ecore#//CallAction/isSynchronous" outputs="UML2XMI.xsd#//CallAction;XSDComplexTypeDefinition=183/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//CallAction/result" outputs="UML2XMI.xsd#//CallAction;XSDComplexTypeDefinition=183/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//InteractionOccurrence" outputs="UML2XMI.xsd#//InteractionOccurrence;XSDElementDeclaration=180"/>

+    <nested inputs="UML2.ecore#//Gate" outputs="UML2XMI.xsd#//Gate;XSDComplexTypeDefinition=181"/>

+    <nested inputs="UML2.ecore#//Gate" outputs="UML2XMI.xsd#//Gate;XSDElementDeclaration=181"/>

+    <nested inputs="UML2.ecore#//PartDecomposition" outputs="UML2XMI.xsd#//PartDecomposition;XSDComplexTypeDefinition=182"/>

+    <nested inputs="UML2.ecore#//PartDecomposition" outputs="UML2XMI.xsd#//PartDecomposition;XSDElementDeclaration=182"/>

+    <nested inputs="UML2.ecore#//InteractionOperand" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=183">

+      <nested inputs="UML2.ecore#//InteractionOperand/guard" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=183/XSDParticle/XSDModelGroup/XSDParticle=2"/>

+      <nested inputs="UML2.ecore#//InteractionOperand/fragment" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=183/XSDParticle/XSDModelGroup/XSDParticle=3"/>

     </nested>

-    <nested inputs="UML2.ecore#//CallAction" outputs="UML2XMI.xsd#//CallAction;XSDElementDeclaration=183"/>

-    <nested inputs="UML2.ecore#//InvocationAction" outputs="UML2XMI.xsd#//InvocationAction;XSDComplexTypeDefinition=184">

-      <nested inputs="UML2.ecore#//InvocationAction/argument" outputs="UML2XMI.xsd#//InvocationAction;XSDComplexTypeDefinition=184/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//InvocationAction/onPort" outputs="UML2XMI.xsd#//InvocationAction;XSDComplexTypeDefinition=184/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//InvocationAction/onPort" outputs="UML2XMI.xsd#//InvocationAction;XSDComplexTypeDefinition=184/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=183/XSDAttributeUse"/>

+    <nested inputs="UML2.ecore#//InteractionFragment/covered" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=183/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//InteractionFragment/generalOrdering" outputs="UML2XMI.xsd#//InteractionOperand;XSDComplexTypeDefinition=183/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//InteractionOperand" outputs="UML2XMI.xsd#//InteractionOperand;XSDElementDeclaration=183"/>

+    <nested inputs="UML2.ecore#//InteractionConstraint" outputs="UML2XMI.xsd#//InteractionConstraint;XSDComplexTypeDefinition=184">

+      <nested inputs="UML2.ecore#//InteractionConstraint/minint" outputs="UML2XMI.xsd#//InteractionConstraint;XSDComplexTypeDefinition=184/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//InteractionConstraint/maxint" outputs="UML2XMI.xsd#//InteractionConstraint;XSDComplexTypeDefinition=184/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//InvocationAction" outputs="UML2XMI.xsd#//InvocationAction;XSDElementDeclaration=184"/>

-    <nested inputs="UML2.ecore#//SendSignalAction" outputs="UML2XMI.xsd#//SendSignalAction;XSDComplexTypeDefinition=185">

-      <nested inputs="UML2.ecore#//SendSignalAction/target" outputs="UML2XMI.xsd#//SendSignalAction;XSDComplexTypeDefinition=185/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//SendSignalAction/signal" outputs="UML2XMI.xsd#//SendSignalAction;XSDComplexTypeDefinition=185/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//SendSignalAction/signal" outputs="UML2XMI.xsd#//SendSignalAction;XSDComplexTypeDefinition=185/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//InteractionConstraint" outputs="UML2XMI.xsd#//InteractionConstraint;XSDElementDeclaration=184"/>

+    <nested inputs="UML2.ecore#//CombinedFragment" outputs="UML2XMI.xsd#//CombinedFragment;XSDComplexTypeDefinition=185">

+      <nested inputs="UML2.ecore#//CombinedFragment/interactionOperator" outputs="UML2XMI.xsd#//CombinedFragment;XSDComplexTypeDefinition=185/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//CombinedFragment/operand" outputs="UML2XMI.xsd#//CombinedFragment;XSDComplexTypeDefinition=185/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//CombinedFragment/cfragmentGate" outputs="UML2XMI.xsd#//CombinedFragment;XSDComplexTypeDefinition=185/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//SendSignalAction" outputs="UML2XMI.xsd#//SendSignalAction;XSDElementDeclaration=185"/>

-    <nested inputs="UML2.ecore#//BroadcastSignalAction" outputs="UML2XMI.xsd#//BroadcastSignalAction;XSDComplexTypeDefinition=186">

-      <nested inputs="UML2.ecore#//BroadcastSignalAction/signal" outputs="UML2XMI.xsd#//BroadcastSignalAction;XSDComplexTypeDefinition=186/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//BroadcastSignalAction/signal" outputs="UML2XMI.xsd#//BroadcastSignalAction;XSDComplexTypeDefinition=186/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//CombinedFragment" outputs="UML2XMI.xsd#//CombinedFragment;XSDElementDeclaration=185"/>

+    <nested inputs="UML2.ecore#//Continuation" outputs="UML2XMI.xsd#//Continuation;XSDComplexTypeDefinition=186">

+      <nested inputs="UML2.ecore#//Continuation/setting" outputs="UML2XMI.xsd#//Continuation;XSDComplexTypeDefinition=186/XSDAttributeUse"/>

     </nested>

-    <nested inputs="UML2.ecore#//BroadcastSignalAction" outputs="UML2XMI.xsd#//BroadcastSignalAction;XSDElementDeclaration=186"/>

-    <nested inputs="UML2.ecore#//SendObjectAction" outputs="UML2XMI.xsd#//SendObjectAction;XSDComplexTypeDefinition=187">

-      <nested inputs="UML2.ecore#//SendObjectAction/target" outputs="UML2XMI.xsd#//SendObjectAction;XSDComplexTypeDefinition=187/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//SendObjectAction/request" outputs="UML2XMI.xsd#//SendObjectAction;XSDComplexTypeDefinition=187/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Continuation" outputs="UML2XMI.xsd#//Continuation;XSDElementDeclaration=186"/>

+    <nested inputs="UML2.ecore#//ExpansionNode" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=187">

+      <nested inputs="UML2.ecore#//ExpansionNode/regionAsOutput" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=187/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ExpansionNode/regionAsOutput" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=187/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ExpansionNode/regionAsInput" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=187/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ExpansionNode/regionAsInput" outputs="UML2XMI.xsd#//ExpansionNode;XSDComplexTypeDefinition=187/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//SendObjectAction" outputs="UML2XMI.xsd#//SendObjectAction;XSDElementDeclaration=187"/>

-    <nested inputs="UML2.ecore#//CallOperationAction" outputs="UML2XMI.xsd#//CallOperationAction;XSDComplexTypeDefinition=188">

-      <nested inputs="UML2.ecore#//CallOperationAction/operation" outputs="UML2XMI.xsd#//CallOperationAction;XSDComplexTypeDefinition=188/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//CallOperationAction/operation" outputs="UML2XMI.xsd#//CallOperationAction;XSDComplexTypeDefinition=188/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//CallOperationAction/target" outputs="UML2XMI.xsd#//CallOperationAction;XSDComplexTypeDefinition=188/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//ExpansionNode" outputs="UML2XMI.xsd#//ExpansionNode;XSDElementDeclaration=187"/>

+    <nested inputs="UML2.ecore#//ExpansionRegion" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=188">

+      <nested inputs="UML2.ecore#//ExpansionRegion/mode" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=188/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ExpansionRegion/outputElement" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=188/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ExpansionRegion/outputElement" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=188/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ExpansionRegion/inputElement" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=188/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//ExpansionRegion/inputElement" outputs="UML2XMI.xsd#//ExpansionRegion;XSDComplexTypeDefinition=188/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//CallOperationAction" outputs="UML2XMI.xsd#//CallOperationAction;XSDElementDeclaration=188"/>

-    <nested inputs="UML2.ecore#//CallBehaviorAction" outputs="UML2XMI.xsd#//CallBehaviorAction;XSDComplexTypeDefinition=189">

-      <nested inputs="UML2.ecore#//CallBehaviorAction/behavior" outputs="UML2XMI.xsd#//CallBehaviorAction;XSDComplexTypeDefinition=189/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//CallBehaviorAction/behavior" outputs="UML2XMI.xsd#//CallBehaviorAction;XSDComplexTypeDefinition=189/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ExpansionRegion" outputs="UML2XMI.xsd#//ExpansionRegion;XSDElementDeclaration=188"/>

+    <nested inputs="UML2.ecore#//ExceptionHandler" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=189">

+      <nested inputs="UML2.ecore#//ExceptionHandler/handlerBody" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=189/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ExceptionHandler/handlerBody" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=189/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ExceptionHandler/exceptionInput" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=189/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//ExceptionHandler/exceptionInput" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=189/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+      <nested inputs="UML2.ecore#//ExceptionHandler/exceptionType" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=189/XSDAttributeUse=2"/>

+      <nested inputs="UML2.ecore#//ExceptionHandler/exceptionType" outputs="UML2XMI.xsd#//ExceptionHandler;XSDComplexTypeDefinition=189/XSDParticle/XSDModelGroup/XSDParticle=2"/>

     </nested>

-    <nested inputs="UML2.ecore#//CallBehaviorAction" outputs="UML2XMI.xsd#//CallBehaviorAction;XSDElementDeclaration=189"/>

-    <nested inputs="UML2.ecore#//Component" outputs="UML2XMI.xsd#//Component;XSDComplexTypeDefinition=190">

-      <nested inputs="UML2.ecore#//Component/isIndirectlyInstantiated" outputs="UML2XMI.xsd#//Component;XSDComplexTypeDefinition=190/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Component/realization" outputs="UML2XMI.xsd#//Component;XSDComplexTypeDefinition=190/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Component/ownedMember" outputs="UML2XMI.xsd#//Component;XSDComplexTypeDefinition=190/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//ExceptionHandler" outputs="UML2XMI.xsd#//ExceptionHandler;XSDElementDeclaration=189"/>

+    <nested inputs="UML2.ecore#//ProtocolConformance" outputs="UML2XMI.xsd#//ProtocolConformance;XSDComplexTypeDefinition=190">

+      <nested inputs="UML2.ecore#//ProtocolConformance/generalMachine" outputs="UML2XMI.xsd#//ProtocolConformance;XSDComplexTypeDefinition=190/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ProtocolConformance/generalMachine" outputs="UML2XMI.xsd#//ProtocolConformance;XSDComplexTypeDefinition=190/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Component" outputs="UML2XMI.xsd#//Component;XSDElementDeclaration=190"/>

-    <nested inputs="UML2.ecore#//Deployment" outputs="UML2XMI.xsd#//Deployment;XSDComplexTypeDefinition=191">

-      <nested inputs="UML2.ecore#//Deployment/deployedArtifact" outputs="UML2XMI.xsd#//Deployment;XSDComplexTypeDefinition=191/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Deployment/deployedArtifact" outputs="UML2XMI.xsd#//Deployment;XSDComplexTypeDefinition=191/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Deployment/configuration" outputs="UML2XMI.xsd#//Deployment;XSDComplexTypeDefinition=191/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//ProtocolConformance" outputs="UML2XMI.xsd#//ProtocolConformance;XSDElementDeclaration=190"/>

+    <nested inputs="UML2.ecore#//ProtocolStateMachine" outputs="UML2XMI.xsd#//ProtocolStateMachine;XSDComplexTypeDefinition=191">

+      <nested inputs="UML2.ecore#//ProtocolStateMachine/conformance" outputs="UML2XMI.xsd#//ProtocolStateMachine;XSDComplexTypeDefinition=191/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Deployment" outputs="UML2XMI.xsd#//Deployment;XSDElementDeclaration=191"/>

-    <nested inputs="UML2.ecore#//DeployedArtifact" outputs="UML2XMI.xsd#//DeployedArtifact;XSDComplexTypeDefinition=192"/>

-    <nested inputs="UML2.ecore#//DeployedArtifact" outputs="UML2XMI.xsd#//DeployedArtifact;XSDElementDeclaration=192"/>

-    <nested inputs="UML2.ecore#//DeploymentTarget" outputs="UML2XMI.xsd#//DeploymentTarget;XSDComplexTypeDefinition=193">

-      <nested inputs="UML2.ecore#//DeploymentTarget/deployment" outputs="UML2XMI.xsd#//DeploymentTarget;XSDComplexTypeDefinition=193/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//ProtocolStateMachine" outputs="UML2XMI.xsd#//ProtocolStateMachine;XSDElementDeclaration=191"/>

+    <nested inputs="UML2.ecore#//ProtocolTransition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDComplexTypeDefinition=192">

+      <nested inputs="UML2.ecore#//ProtocolTransition/postCondition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDComplexTypeDefinition=192/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ProtocolTransition/preCondition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDComplexTypeDefinition=192/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ProtocolTransition/preCondition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDComplexTypeDefinition=192/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//DeploymentTarget" outputs="UML2XMI.xsd#//DeploymentTarget;XSDElementDeclaration=193"/>

-    <nested inputs="UML2.ecore#//Node" outputs="UML2XMI.xsd#//Node;XSDComplexTypeDefinition=194">

-      <nested inputs="UML2.ecore#//Node/nestedNode" outputs="UML2XMI.xsd#//Node;XSDComplexTypeDefinition=194/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//ProtocolTransition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDElementDeclaration=192"/>

+    <nested inputs="UML2.ecore#//Component" outputs="UML2XMI.xsd#//Component;XSDComplexTypeDefinition=193">

+      <nested inputs="UML2.ecore#//Component/isIndirectlyInstantiated" outputs="UML2XMI.xsd#//Component;XSDComplexTypeDefinition=193/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Component/realization" outputs="UML2XMI.xsd#//Component;XSDComplexTypeDefinition=193/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Component/ownedMember" outputs="UML2XMI.xsd#//Component;XSDComplexTypeDefinition=193/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//DeploymentTarget/deployment" outputs="UML2XMI.xsd#//Node;XSDComplexTypeDefinition=194/XSDParticle/XSDModelGroup/XSDParticle"/>

-    <nested inputs="UML2.ecore#//Node" outputs="UML2XMI.xsd#//Node;XSDElementDeclaration=194"/>

-    <nested inputs="UML2.ecore#//Device" outputs="UML2XMI.xsd#//Device;XSDComplexTypeDefinition=195"/>

-    <nested inputs="UML2.ecore#//Device" outputs="UML2XMI.xsd#//Device;XSDElementDeclaration=195"/>

-    <nested inputs="UML2.ecore#//ExecutionEnvironment" outputs="UML2XMI.xsd#//ExecutionEnvironment;XSDComplexTypeDefinition=196"/>

-    <nested inputs="UML2.ecore#//ExecutionEnvironment" outputs="UML2XMI.xsd#//ExecutionEnvironment;XSDElementDeclaration=196"/>

-    <nested inputs="UML2.ecore#//CommunicationPath" outputs="UML2XMI.xsd#//CommunicationPath;XSDComplexTypeDefinition=197"/>

-    <nested inputs="UML2.ecore#//CommunicationPath" outputs="UML2XMI.xsd#//CommunicationPath;XSDElementDeclaration=197"/>

-    <nested inputs="UML2.ecore#//ProtocolConformance" outputs="UML2XMI.xsd#//ProtocolConformance;XSDComplexTypeDefinition=198">

-      <nested inputs="UML2.ecore#//ProtocolConformance/generalMachine" outputs="UML2XMI.xsd#//ProtocolConformance;XSDComplexTypeDefinition=198/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ProtocolConformance/generalMachine" outputs="UML2XMI.xsd#//ProtocolConformance;XSDComplexTypeDefinition=198/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Component" outputs="UML2XMI.xsd#//Component;XSDElementDeclaration=193"/>

+    <nested inputs="UML2.ecore#//TimeExpression" outputs="UML2XMI.xsd#//TimeExpression;XSDComplexTypeDefinition=194">

+      <nested inputs="UML2.ecore#//TimeExpression/firstTime" outputs="UML2XMI.xsd#//TimeExpression;XSDComplexTypeDefinition=194/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//TimeExpression/event" outputs="UML2XMI.xsd#//TimeExpression;XSDComplexTypeDefinition=194/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//TimeExpression/event" outputs="UML2XMI.xsd#//TimeExpression;XSDComplexTypeDefinition=194/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ProtocolConformance" outputs="UML2XMI.xsd#//ProtocolConformance;XSDElementDeclaration=198"/>

-    <nested inputs="UML2.ecore#//ProtocolStateMachine" outputs="UML2XMI.xsd#//ProtocolStateMachine;XSDComplexTypeDefinition=199">

-      <nested inputs="UML2.ecore#//ProtocolStateMachine/conformance" outputs="UML2XMI.xsd#//ProtocolStateMachine;XSDComplexTypeDefinition=199/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//TimeExpression" outputs="UML2XMI.xsd#//TimeExpression;XSDElementDeclaration=194"/>

+    <nested inputs="UML2.ecore#//Duration" outputs="UML2XMI.xsd#//Duration;XSDComplexTypeDefinition=195">

+      <nested inputs="UML2.ecore#//Duration/firstTime" outputs="UML2XMI.xsd#//Duration;XSDComplexTypeDefinition=195/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Duration/event" outputs="UML2XMI.xsd#//Duration;XSDComplexTypeDefinition=195/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Duration/event" outputs="UML2XMI.xsd#//Duration;XSDComplexTypeDefinition=195/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ProtocolStateMachine" outputs="UML2XMI.xsd#//ProtocolStateMachine;XSDElementDeclaration=199"/>

-    <nested inputs="UML2.ecore#//ProtocolTransition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDComplexTypeDefinition=200">

-      <nested inputs="UML2.ecore#//ProtocolTransition/postCondition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDComplexTypeDefinition=200/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ProtocolTransition/preCondition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDComplexTypeDefinition=200/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ProtocolTransition/preCondition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDComplexTypeDefinition=200/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Duration" outputs="UML2XMI.xsd#//Duration;XSDElementDeclaration=195"/>

+    <nested inputs="UML2.ecore#//TimeObservationAction" outputs="UML2XMI.xsd#//TimeObservationAction;XSDComplexTypeDefinition=196">

+      <nested inputs="UML2.ecore#//TimeObservationAction/now" outputs="UML2XMI.xsd#//TimeObservationAction;XSDComplexTypeDefinition=196/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ProtocolTransition" outputs="UML2XMI.xsd#//ProtocolTransition;XSDElementDeclaration=200"/>

-    <nested inputs="UML2.ecore#//DataStoreNode" outputs="UML2XMI.xsd#//DataStoreNode;XSDComplexTypeDefinition=201"/>

-    <nested inputs="UML2.ecore#//DataStoreNode" outputs="UML2XMI.xsd#//DataStoreNode;XSDElementDeclaration=201"/>

-    <nested inputs="UML2.ecore#//InterruptibleActivityRegion" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=202">

-      <nested inputs="UML2.ecore#//InterruptibleActivityRegion/interruptingEdge" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=202/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//InterruptibleActivityRegion/interruptingEdge" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=202/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//InterruptibleActivityRegion/containedNode" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=202/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//InterruptibleActivityRegion/containedNode" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=202/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//TimeObservationAction" outputs="UML2XMI.xsd#//TimeObservationAction;XSDElementDeclaration=196"/>

+    <nested inputs="UML2.ecore#//DurationInterval" outputs="UML2XMI.xsd#//DurationInterval;XSDComplexTypeDefinition=197"/>

+    <nested inputs="UML2.ecore#//DurationInterval" outputs="UML2XMI.xsd#//DurationInterval;XSDElementDeclaration=197"/>

+    <nested inputs="UML2.ecore#//Interval" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=198">

+      <nested inputs="UML2.ecore#//Interval/min" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=198/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Interval/min" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=198/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Interval/max" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=198/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//Interval/max" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=198/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//InterruptibleActivityRegion" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDElementDeclaration=202"/>

-    <nested inputs="UML2.ecore#//ParameterSet" outputs="UML2XMI.xsd#//ParameterSet;XSDComplexTypeDefinition=203">

-      <nested inputs="UML2.ecore#//ParameterSet/parameter" outputs="UML2XMI.xsd#//ParameterSet;XSDComplexTypeDefinition=203/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//ParameterSet/parameter" outputs="UML2XMI.xsd#//ParameterSet;XSDComplexTypeDefinition=203/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//ParameterSet/condition" outputs="UML2XMI.xsd#//ParameterSet;XSDComplexTypeDefinition=203/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//Interval" outputs="UML2XMI.xsd#//Interval;XSDElementDeclaration=198"/>

+    <nested inputs="UML2.ecore#//TimeConstraint" outputs="UML2XMI.xsd#//TimeConstraint;XSDComplexTypeDefinition=199"/>

+    <nested inputs="UML2.ecore#//TimeConstraint" outputs="UML2XMI.xsd#//TimeConstraint;XSDElementDeclaration=199"/>

+    <nested inputs="UML2.ecore#//IntervalConstraint" outputs="UML2XMI.xsd#//IntervalConstraint;XSDComplexTypeDefinition=200"/>

+    <nested inputs="UML2.ecore#//IntervalConstraint" outputs="UML2XMI.xsd#//IntervalConstraint;XSDElementDeclaration=200"/>

+    <nested inputs="UML2.ecore#//TimeInterval" outputs="UML2XMI.xsd#//TimeInterval;XSDComplexTypeDefinition=201"/>

+    <nested inputs="UML2.ecore#//TimeInterval" outputs="UML2XMI.xsd#//TimeInterval;XSDElementDeclaration=201"/>

+    <nested inputs="UML2.ecore#//DurationObservationAction" outputs="UML2XMI.xsd#//DurationObservationAction;XSDComplexTypeDefinition=202">

+      <nested inputs="UML2.ecore#//DurationObservationAction/duration" outputs="UML2XMI.xsd#//DurationObservationAction;XSDComplexTypeDefinition=202/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//ParameterSet" outputs="UML2XMI.xsd#//ParameterSet;XSDElementDeclaration=203"/>

+    <nested inputs="UML2.ecore#//DurationObservationAction" outputs="UML2XMI.xsd#//DurationObservationAction;XSDElementDeclaration=202"/>

+    <nested inputs="UML2.ecore#//DurationConstraint" outputs="UML2XMI.xsd#//DurationConstraint;XSDComplexTypeDefinition=203"/>

+    <nested inputs="UML2.ecore#//DurationConstraint" outputs="UML2XMI.xsd#//DurationConstraint;XSDElementDeclaration=203"/>

     <nested inputs="UML2.ecore#//ReadExtentAction" outputs="UML2XMI.xsd#//ReadExtentAction;XSDComplexTypeDefinition=204">

       <nested inputs="UML2.ecore#//ReadExtentAction/result" outputs="UML2XMI.xsd#//ReadExtentAction;XSDComplexTypeDefinition=204/XSDParticle/XSDModelGroup/XSDParticle"/>

       <nested inputs="UML2.ecore#//ReadExtentAction/classifier" outputs="UML2XMI.xsd#//ReadExtentAction;XSDComplexTypeDefinition=204/XSDAttributeUse"/>

@@ -1357,43 +1356,44 @@
       <nested inputs="UML2.ecore#//RaiseExceptionAction/exception" outputs="UML2XMI.xsd#//RaiseExceptionAction;XSDComplexTypeDefinition=215/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

     <nested inputs="UML2.ecore#//RaiseExceptionAction" outputs="UML2XMI.xsd#//RaiseExceptionAction;XSDElementDeclaration=215"/>

-    <nested inputs="UML2.ecore#//TimeExpression" outputs="UML2XMI.xsd#//TimeExpression;XSDComplexTypeDefinition=216">

-      <nested inputs="UML2.ecore#//TimeExpression/firstTime" outputs="UML2XMI.xsd#//TimeExpression;XSDComplexTypeDefinition=216/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//TimeExpression/event" outputs="UML2XMI.xsd#//TimeExpression;XSDComplexTypeDefinition=216/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//TimeExpression/event" outputs="UML2XMI.xsd#//TimeExpression;XSDComplexTypeDefinition=216/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Deployment" outputs="UML2XMI.xsd#//Deployment;XSDComplexTypeDefinition=216">

+      <nested inputs="UML2.ecore#//Deployment/deployedArtifact" outputs="UML2XMI.xsd#//Deployment;XSDComplexTypeDefinition=216/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//Deployment/deployedArtifact" outputs="UML2XMI.xsd#//Deployment;XSDComplexTypeDefinition=216/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//Deployment/configuration" outputs="UML2XMI.xsd#//Deployment;XSDComplexTypeDefinition=216/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//TimeExpression" outputs="UML2XMI.xsd#//TimeExpression;XSDElementDeclaration=216"/>

-    <nested inputs="UML2.ecore#//Duration" outputs="UML2XMI.xsd#//Duration;XSDComplexTypeDefinition=217">

-      <nested inputs="UML2.ecore#//Duration/firstTime" outputs="UML2XMI.xsd#//Duration;XSDComplexTypeDefinition=217/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Duration/event" outputs="UML2XMI.xsd#//Duration;XSDComplexTypeDefinition=217/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Duration/event" outputs="UML2XMI.xsd#//Duration;XSDComplexTypeDefinition=217/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Deployment" outputs="UML2XMI.xsd#//Deployment;XSDElementDeclaration=216"/>

+    <nested inputs="UML2.ecore#//DeployedArtifact" outputs="UML2XMI.xsd#//DeployedArtifact;XSDComplexTypeDefinition=217"/>

+    <nested inputs="UML2.ecore#//DeployedArtifact" outputs="UML2XMI.xsd#//DeployedArtifact;XSDElementDeclaration=217"/>

+    <nested inputs="UML2.ecore#//DeploymentTarget" outputs="UML2XMI.xsd#//DeploymentTarget;XSDComplexTypeDefinition=218">

+      <nested inputs="UML2.ecore#//DeploymentTarget/deployment" outputs="UML2XMI.xsd#//DeploymentTarget;XSDComplexTypeDefinition=218/XSDParticle/XSDModelGroup/XSDParticle"/>

     </nested>

-    <nested inputs="UML2.ecore#//Duration" outputs="UML2XMI.xsd#//Duration;XSDElementDeclaration=217"/>

-    <nested inputs="UML2.ecore#//TimeObservationAction" outputs="UML2XMI.xsd#//TimeObservationAction;XSDComplexTypeDefinition=218">

-      <nested inputs="UML2.ecore#//TimeObservationAction/now" outputs="UML2XMI.xsd#//TimeObservationAction;XSDComplexTypeDefinition=218/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//DeploymentTarget" outputs="UML2XMI.xsd#//DeploymentTarget;XSDElementDeclaration=218"/>

+    <nested inputs="UML2.ecore#//Node" outputs="UML2XMI.xsd#//Node;XSDComplexTypeDefinition=219">

+      <nested inputs="UML2.ecore#//Node/nestedNode" outputs="UML2XMI.xsd#//Node;XSDComplexTypeDefinition=219/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//TimeObservationAction" outputs="UML2XMI.xsd#//TimeObservationAction;XSDElementDeclaration=218"/>

-    <nested inputs="UML2.ecore#//DurationInterval" outputs="UML2XMI.xsd#//DurationInterval;XSDComplexTypeDefinition=219"/>

-    <nested inputs="UML2.ecore#//DurationInterval" outputs="UML2XMI.xsd#//DurationInterval;XSDElementDeclaration=219"/>

-    <nested inputs="UML2.ecore#//Interval" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=220">

-      <nested inputs="UML2.ecore#//Interval/min" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=220/XSDAttributeUse"/>

-      <nested inputs="UML2.ecore#//Interval/min" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=220/XSDParticle/XSDModelGroup/XSDParticle"/>

-      <nested inputs="UML2.ecore#//Interval/max" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=220/XSDAttributeUse=1"/>

-      <nested inputs="UML2.ecore#//Interval/max" outputs="UML2XMI.xsd#//Interval;XSDComplexTypeDefinition=220/XSDParticle/XSDModelGroup/XSDParticle=1"/>

+    <nested inputs="UML2.ecore#//DeploymentTarget/deployment" outputs="UML2XMI.xsd#//Node;XSDComplexTypeDefinition=219/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//Node" outputs="UML2XMI.xsd#//Node;XSDElementDeclaration=219"/>

+    <nested inputs="UML2.ecore#//Device" outputs="UML2XMI.xsd#//Device;XSDComplexTypeDefinition=220"/>

+    <nested inputs="UML2.ecore#//Device" outputs="UML2XMI.xsd#//Device;XSDElementDeclaration=220"/>

+    <nested inputs="UML2.ecore#//ExecutionEnvironment" outputs="UML2XMI.xsd#//ExecutionEnvironment;XSDComplexTypeDefinition=221"/>

+    <nested inputs="UML2.ecore#//ExecutionEnvironment" outputs="UML2XMI.xsd#//ExecutionEnvironment;XSDElementDeclaration=221"/>

+    <nested inputs="UML2.ecore#//CommunicationPath" outputs="UML2XMI.xsd#//CommunicationPath;XSDComplexTypeDefinition=222"/>

+    <nested inputs="UML2.ecore#//CommunicationPath" outputs="UML2XMI.xsd#//CommunicationPath;XSDElementDeclaration=222"/>

+    <nested inputs="UML2.ecore#//DataStoreNode" outputs="UML2XMI.xsd#//DataStoreNode;XSDComplexTypeDefinition=223"/>

+    <nested inputs="UML2.ecore#//DataStoreNode" outputs="UML2XMI.xsd#//DataStoreNode;XSDElementDeclaration=223"/>

+    <nested inputs="UML2.ecore#//InterruptibleActivityRegion" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=224">

+      <nested inputs="UML2.ecore#//InterruptibleActivityRegion/interruptingEdge" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=224/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//InterruptibleActivityRegion/interruptingEdge" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=224/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//InterruptibleActivityRegion/containedNode" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=224/XSDAttributeUse=1"/>

+      <nested inputs="UML2.ecore#//InterruptibleActivityRegion/containedNode" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDComplexTypeDefinition=224/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//Interval" outputs="UML2XMI.xsd#//Interval;XSDElementDeclaration=220"/>

-    <nested inputs="UML2.ecore#//TimeConstraint" outputs="UML2XMI.xsd#//TimeConstraint;XSDComplexTypeDefinition=221"/>

-    <nested inputs="UML2.ecore#//TimeConstraint" outputs="UML2XMI.xsd#//TimeConstraint;XSDElementDeclaration=221"/>

-    <nested inputs="UML2.ecore#//IntervalConstraint" outputs="UML2XMI.xsd#//IntervalConstraint;XSDComplexTypeDefinition=222"/>

-    <nested inputs="UML2.ecore#//IntervalConstraint" outputs="UML2XMI.xsd#//IntervalConstraint;XSDElementDeclaration=222"/>

-    <nested inputs="UML2.ecore#//TimeInterval" outputs="UML2XMI.xsd#//TimeInterval;XSDComplexTypeDefinition=223"/>

-    <nested inputs="UML2.ecore#//TimeInterval" outputs="UML2XMI.xsd#//TimeInterval;XSDElementDeclaration=223"/>

-    <nested inputs="UML2.ecore#//DurationObservationAction" outputs="UML2XMI.xsd#//DurationObservationAction;XSDComplexTypeDefinition=224">

-      <nested inputs="UML2.ecore#//DurationObservationAction/duration" outputs="UML2XMI.xsd#//DurationObservationAction;XSDComplexTypeDefinition=224/XSDParticle/XSDModelGroup/XSDParticle"/>

+    <nested inputs="UML2.ecore#//InterruptibleActivityRegion" outputs="UML2XMI.xsd#//InterruptibleActivityRegion;XSDElementDeclaration=224"/>

+    <nested inputs="UML2.ecore#//ParameterSet" outputs="UML2XMI.xsd#//ParameterSet;XSDComplexTypeDefinition=225">

+      <nested inputs="UML2.ecore#//ParameterSet/parameter" outputs="UML2XMI.xsd#//ParameterSet;XSDComplexTypeDefinition=225/XSDAttributeUse"/>

+      <nested inputs="UML2.ecore#//ParameterSet/parameter" outputs="UML2XMI.xsd#//ParameterSet;XSDComplexTypeDefinition=225/XSDParticle/XSDModelGroup/XSDParticle"/>

+      <nested inputs="UML2.ecore#//ParameterSet/condition" outputs="UML2XMI.xsd#//ParameterSet;XSDComplexTypeDefinition=225/XSDParticle/XSDModelGroup/XSDParticle=1"/>

     </nested>

-    <nested inputs="UML2.ecore#//DurationObservationAction" outputs="UML2XMI.xsd#//DurationObservationAction;XSDElementDeclaration=224"/>

-    <nested inputs="UML2.ecore#//DurationConstraint" outputs="UML2XMI.xsd#//DurationConstraint;XSDComplexTypeDefinition=225"/>

-    <nested inputs="UML2.ecore#//DurationConstraint" outputs="UML2XMI.xsd#//DurationConstraint;XSDElementDeclaration=225"/>

+    <nested inputs="UML2.ecore#//ParameterSet" outputs="UML2XMI.xsd#//ParameterSet;XSDElementDeclaration=225"/>

     <nested inputs="UML2.ecore#//DeploymentSpecification" outputs="UML2XMI.xsd#//DeploymentSpecification;XSDComplexTypeDefinition=226">

       <nested inputs="UML2.ecore#//DeploymentSpecification/deploymentLocation" outputs="UML2XMI.xsd#//DeploymentSpecification;XSDComplexTypeDefinition=226/XSDAttributeUse"/>

       <nested inputs="UML2.ecore#//DeploymentSpecification/executionLocation" outputs="UML2XMI.xsd#//DeploymentSpecification;XSDComplexTypeDefinition=226/XSDAttributeUse=1"/>

diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/Classifier.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/Classifier.java
index 4e6d0ec..58db4c5 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/Classifier.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/Classifier.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: Classifier.java,v 1.4 2004/04/27 16:38:55 khussey Exp $
+ * $Id: Classifier.java,v 1.5 2004/04/30 17:21:46 khussey Exp $
  */
 package org.eclipse.uml2;
 
@@ -35,8 +35,8 @@
  *   <li>{@link org.eclipse.uml2.Classifier#getGeneralizations <em>Generalization</em>}</li>
  *   <li>{@link org.eclipse.uml2.Classifier#getAttributes <em>Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.Classifier#getRedefinedClassifiers <em>Redefined Classifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.Classifier#getPowertypeExtents <em>Powertype Extent</em>}</li>
  *   <li>{@link org.eclipse.uml2.Classifier#getSubstitutions <em>Substitution</em>}</li>
+ *   <li>{@link org.eclipse.uml2.Classifier#getPowertypeExtents <em>Powertype Extent</em>}</li>
  *   <li>{@link org.eclipse.uml2.Classifier#getOwnedUseCases <em>Owned Use Case</em>}</li>
  *   <li>{@link org.eclipse.uml2.Classifier#getRepresentation <em>Representation</em>}</li>
  *   <li>{@link org.eclipse.uml2.Classifier#getOccurrences <em>Occurrence</em>}</li>
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/TemplateParameterSubstitution.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/TemplateParameterSubstitution.java
index 53b6476..ac123c0 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/TemplateParameterSubstitution.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/TemplateParameterSubstitution.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateParameterSubstitution.java,v 1.2 2004/04/10 04:09:49 khussey Exp $
+ * $Id: TemplateParameterSubstitution.java,v 1.3 2004/04/30 17:21:46 khussey Exp $
  */
 package org.eclipse.uml2;
 
@@ -27,7 +27,7 @@
  *   <li>{@link org.eclipse.uml2.TemplateParameterSubstitution#getFormal <em>Formal</em>}</li>
  *   <li>{@link org.eclipse.uml2.TemplateParameterSubstitution#getTemplateBinding <em>Template Binding</em>}</li>
  *   <li>{@link org.eclipse.uml2.TemplateParameterSubstitution#getActuals <em>Actual</em>}</li>
- *   <li>{@link org.eclipse.uml2.TemplateParameterSubstitution#getOwnedActual <em>Owned Actual</em>}</li>
+ *   <li>{@link org.eclipse.uml2.TemplateParameterSubstitution#getOwnedActuals <em>Owned Actual</em>}</li>
  * </ul>
  * </p>
  *
@@ -114,42 +114,32 @@
 	EList getActuals();
 
 	/**
-	 * Returns the value of the '<em><b>Owned Actual</b></em>' containment reference.
+	 * Returns the value of the '<em><b>Owned Actual</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.ParameterableElement}.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Owned Actual</em>' containment reference isn't clear,
+	 * If the meaning of the '<em>Owned Actual</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 Actual</em>' containment reference.
-	 * @see #setOwnedActual(ParameterableElement)
+	 * @return the value of the '<em>Owned Actual</em>' containment reference list.
 	 * @see org.eclipse.uml2.UML2Package#getTemplateParameterSubstitution_OwnedActual()
-	 * @model containment="true" volatile="true"
+	 * @model type="org.eclipse.uml2.ParameterableElement" containment="true" volatile="true"
 	 * @generated
 	 */
-	ParameterableElement getOwnedActual();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.uml2.TemplateParameterSubstitution#getOwnedActual <em>Owned Actual</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Owned Actual</em>' containment reference.
-	 * @see #getOwnedActual()
-	 * @generated
-	 */
-	void setOwnedActual(ParameterableElement value);
+	EList getOwnedActuals();
 
     /**
-     * Creates a {@link org.eclipse.uml2.ParameterableElement} and sets the '<em><b>Owned Actual</b></em>' containment reference.
+     * Creates a {@link org.eclipse.uml2.ParameterableElement} and appends it to the '<em><b>Owned Actual</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.ParameterableElement} to create.
 	 * @return The new {@link org.eclipse.uml2.ParameterableElement}.
-	 * @see #getOwnedActual()
+	 * @see #getOwnedActuals()
 	 * @generated
      */
     ParameterableElement createOwnedActual(EClass eClass);
-     
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/UML2DiagnosticConstants.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/UML2DiagnosticConstants.java
index b4e710f..002993a 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/UML2DiagnosticConstants.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/UML2DiagnosticConstants.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML2DiagnosticConstants.java,v 1.2 2004/04/27 16:38:55 khussey Exp $
+ * $Id: UML2DiagnosticConstants.java,v 1.3 2004/04/30 17:21:46 khussey Exp $
  */
 package org.eclipse.uml2;
 
@@ -119,7 +119,7 @@
 	 * @see org.eclipse.uml2.Property#validateOppositeIsOtherEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int PROPERTY__OPPOSITE_IS_OTHER_END = 8;
+	public static final int PROPERTY__OPPOSITE_IS_OTHER_END = 13;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -128,7 +128,7 @@
 	 * @see org.eclipse.uml2.Property#validateMultiplicityOfComposite(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int PROPERTY__MULTIPLICITY_OF_COMPOSITE = 9;
+	public static final int PROPERTY__MULTIPLICITY_OF_COMPOSITE = 14;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -137,7 +137,7 @@
 	 * @see org.eclipse.uml2.Property#validateSubsettingContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int PROPERTY__SUBSETTING_CONTEXT = 10;
+	public static final int PROPERTY__SUBSETTING_CONTEXT = 15;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -146,7 +146,7 @@
 	 * @see org.eclipse.uml2.Property#validateNavigablePropertyRedefinition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int PROPERTY__NAVIGABLE_PROPERTY_REDEFINITION = 11;
+	public static final int PROPERTY__NAVIGABLE_PROPERTY_REDEFINITION = 16;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -155,7 +155,7 @@
 	 * @see org.eclipse.uml2.Property#validateSubsettingRules(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int PROPERTY__SUBSETTING_RULES = 12;
+	public static final int PROPERTY__SUBSETTING_RULES = 17;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -164,7 +164,7 @@
 	 * @see org.eclipse.uml2.Property#validateNavigableReadonly(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int PROPERTY__NAVIGABLE_READONLY = 13;
+	public static final int PROPERTY__NAVIGABLE_READONLY = 18;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -173,7 +173,7 @@
 	 * @see org.eclipse.uml2.Property#validateDerivedUnionIsDerived(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int PROPERTY__DERIVED_UNION_IS_DERIVED = 14;
+	public static final int PROPERTY__DERIVED_UNION_IS_DERIVED = 19;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -182,7 +182,7 @@
 	 * @see org.eclipse.uml2.Operation#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int OPERATION__TYPE_OF_RESULT = 15;
+	public static final int OPERATION__TYPE_OF_RESULT = 20;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -191,7 +191,7 @@
 	 * @see org.eclipse.uml2.Operation#validateOnlyBodyForQuery(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int OPERATION__ONLY_BODY_FOR_QUERY = 16;
+	public static final int OPERATION__ONLY_BODY_FOR_QUERY = 21;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -200,7 +200,7 @@
 	 * @see org.eclipse.uml2.NamedElement#validateNoName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int NAMED_ELEMENT__NO_NAME = 17;
+	public static final int NAMED_ELEMENT__NO_NAME = 8;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -209,7 +209,7 @@
 	 * @see org.eclipse.uml2.NamedElement#validateQualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int NAMED_ELEMENT__QUALIFIED_NAME = 18;
+	public static final int NAMED_ELEMENT__QUALIFIED_NAME = 9;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -218,7 +218,7 @@
 	 * @see org.eclipse.uml2.NamedElement#validateVisibilityNeedsOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int NAMED_ELEMENT__VISIBILITY_NEEDS_OWNERSHIP = 19;
+	public static final int NAMED_ELEMENT__VISIBILITY_NEEDS_OWNERSHIP = 10;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -227,7 +227,7 @@
 	 * @see org.eclipse.uml2.Package#validateElementsPublicOrPrivate(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int PACKAGE__ELEMENTS_PUBLIC_OR_PRIVATE = 20;
+	public static final int PACKAGE__ELEMENTS_PUBLIC_OR_PRIVATE = 22;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -236,7 +236,7 @@
 	 * @see org.eclipse.uml2.Namespace#validateMembersAreDistinguishable(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int NAMESPACE__MEMBERS_ARE_DISTINGUISHABLE = 21;
+	public static final int NAMESPACE__MEMBERS_ARE_DISTINGUISHABLE = 11;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -245,7 +245,7 @@
 	 * @see org.eclipse.uml2.Namespace#validateImportedMemberDerived(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int NAMESPACE__IMPORTED_MEMBER_DERIVED = 22;
+	public static final int NAMESPACE__IMPORTED_MEMBER_DERIVED = 12;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -299,7 +299,7 @@
 	 * @see org.eclipse.uml2.InstanceSpecification#validateSlotsAreDefined(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int INSTANCE_SPECIFICATION__SLOTS_ARE_DEFINED = 28;
+	public static final int INSTANCE_SPECIFICATION__SLOTS_ARE_DEFINED = 30;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -308,7 +308,7 @@
 	 * @see org.eclipse.uml2.InstanceSpecification#validateNoDuplicateSlots(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int INSTANCE_SPECIFICATION__NO_DUPLICATE_SLOTS = 29;
+	public static final int INSTANCE_SPECIFICATION__NO_DUPLICATE_SLOTS = 31;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -317,7 +317,7 @@
 	 * @see org.eclipse.uml2.RedefinableElement#validateRedefinitionContextValid(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT_VALID = 30;
+	public static final int REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT_VALID = 28;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -326,7 +326,7 @@
 	 * @see org.eclipse.uml2.RedefinableElement#validateRedefinitionConsistent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
 	 * @generated
 	 */
-	public static final int REDEFINABLE_ELEMENT__REDEFINITION_CONSISTENT = 31;
+	public static final int REDEFINABLE_ELEMENT__REDEFINITION_CONSISTENT = 29;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/UML2Package.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/UML2Package.java
index fe2118c..d177dbb 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/UML2Package.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/UML2Package.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML2Package.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: UML2Package.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2;
 
@@ -246,7 +246,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTemplateableElement()
 	 * @generated
 	 */
-	int TEMPLATEABLE_ELEMENT = 97;
+	int TEMPLATEABLE_ELEMENT = 123;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.NamedElementImpl <em>Named Element</em>}' class.
@@ -256,7 +256,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getNamedElement()
 	 * @generated
 	 */
-	int NAMED_ELEMENT = 12;
+	int NAMED_ELEMENT = 2;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.NamespaceImpl <em>Namespace</em>}' class.
@@ -266,7 +266,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getNamespace()
 	 * @generated
 	 */
-	int NAMESPACE = 18;
+	int NAMESPACE = 3;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ClassifierImpl <em>Classifier</em>}' class.
@@ -286,7 +286,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getStructuredClassifier()
 	 * @generated
 	 */
-	int STRUCTURED_CLASSIFIER = 92;
+	int STRUCTURED_CLASSIFIER = 64;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.EncapsulatedClassifierImpl <em>Encapsulated Classifier</em>}' class.
@@ -296,7 +296,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getEncapsulatedClassifier()
 	 * @generated
 	 */
-	int ENCAPSULATED_CLASSIFIER = 124;
+	int ENCAPSULATED_CLASSIFIER = 106;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ClassImpl <em>Class</em>}' class.
@@ -306,7 +306,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getClass_()
 	 * @generated
 	 */
-	int CLASS = 6;
+	int CLASS = 10;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PackageableElementImpl <em>Packageable Element</em>}' class.
@@ -326,7 +326,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getType()
 	 * @generated
 	 */
-	int TYPE = 7;
+	int TYPE = 11;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.RedefinableElementImpl <em>Redefinable Element</em>}' class.
@@ -336,7 +336,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getRedefinableElement()
 	 * @generated
 	 */
-	int REDEFINABLE_ELEMENT = 36;
+	int REDEFINABLE_ELEMENT = 33;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.FeatureImpl <em>Feature</em>}' class.
@@ -366,7 +366,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getProperty()
 	 * @generated
 	 */
-	int PROPERTY = 8;
+	int PROPERTY = 12;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.BehavioralFeatureImpl <em>Behavioral Feature</em>}' class.
@@ -386,7 +386,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getOperation()
 	 * @generated
 	 */
-	int OPERATION = 9;
+	int OPERATION = 13;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TypedElementImpl <em>Typed Element</em>}' class.
@@ -396,7 +396,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTypedElement()
 	 * @generated
 	 */
-	int TYPED_ELEMENT = 10;
+	int TYPED_ELEMENT = 14;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ConnectableElementImpl <em>Connectable Element</em>}' class.
@@ -406,7 +406,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getConnectableElement()
 	 * @generated
 	 */
-	int CONNECTABLE_ELEMENT = 90;
+	int CONNECTABLE_ELEMENT = 62;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ParameterImpl <em>Parameter</em>}' class.
@@ -416,7 +416,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getParameter()
 	 * @generated
 	 */
-	int PARAMETER = 11;
+	int PARAMETER = 15;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PackageImpl <em>Package</em>}' class.
@@ -426,7 +426,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPackage()
 	 * @generated
 	 */
-	int PACKAGE = 13;
+	int PACKAGE = 16;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DataTypeImpl <em>Data Type</em>}' class.
@@ -436,7 +436,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDataType()
 	 * @generated
 	 */
-	int DATA_TYPE = 15;
+	int DATA_TYPE = 18;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.EnumerationImpl <em>Enumeration</em>}' class.
@@ -446,7 +446,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getEnumeration()
 	 * @generated
 	 */
-	int ENUMERATION = 14;
+	int ENUMERATION = 17;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InstanceSpecificationImpl <em>Instance Specification</em>}' class.
@@ -456,7 +456,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInstanceSpecification()
 	 * @generated
 	 */
-	int INSTANCE_SPECIFICATION = 33;
+	int INSTANCE_SPECIFICATION = 34;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.EnumerationLiteralImpl <em>Enumeration Literal</em>}' class.
@@ -466,7 +466,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getEnumerationLiteral()
 	 * @generated
 	 */
-	int ENUMERATION_LITERAL = 16;
+	int ENUMERATION_LITERAL = 19;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PrimitiveTypeImpl <em>Primitive Type</em>}' class.
@@ -476,7 +476,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPrimitiveType()
 	 * @generated
 	 */
-	int PRIMITIVE_TYPE = 17;
+	int PRIMITIVE_TYPE = 20;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ValueSpecificationImpl <em>Value Specification</em>}' class.
@@ -486,7 +486,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getValueSpecification()
 	 * @generated
 	 */
-	int VALUE_SPECIFICATION = 3;
+	int VALUE_SPECIFICATION = 8;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.OpaqueExpressionImpl <em>Opaque Expression</em>}' class.
@@ -496,7 +496,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getOpaqueExpression()
 	 * @generated
 	 */
-	int OPAQUE_EXPRESSION = 2;
+	int OPAQUE_EXPRESSION = 7;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ExpressionImpl <em>Expression</em>}' class.
@@ -506,7 +506,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getExpression()
 	 * @generated
 	 */
-	int EXPRESSION = 4;
+	int EXPRESSION = 9;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CommentImpl <em>Comment</em>}' class.
@@ -516,7 +516,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getComment()
 	 * @generated
 	 */
-	int COMMENT = 5;
+	int COMMENT = 4;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.RelationshipImpl <em>Relationship</em>}' class.
@@ -526,7 +526,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getRelationship()
 	 * @generated
 	 */
-	int RELATIONSHIP = 20;
+	int RELATIONSHIP = 6;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DirectedRelationshipImpl <em>Directed Relationship</em>}' class.
@@ -536,7 +536,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDirectedRelationship()
 	 * @generated
 	 */
-	int DIRECTED_RELATIONSHIP = 19;
+	int DIRECTED_RELATIONSHIP = 5;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -716,6 +716,375 @@
 	 * @generated
 	 * @ordered
 	 */
+	int NAMESPACE__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__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 NAMESPACE__OWNER = NAMED_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__NAME = NAMED_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__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 NAMESPACE__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__MEMBER = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__OWNED_RULE = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__IMPORTED_MEMBER = NAMED_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__ELEMENT_IMPORT = NAMED_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE__PACKAGE_IMPORT = NAMED_ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Namespace</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__EANNOTATIONS = TEMPLATEABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__OWNED_ELEMENT = TEMPLATEABLE_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__OWNER = TEMPLATEABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__OWNED_COMMENT = TEMPLATEABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__TEMPLATE_BINDING = TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__OWNED_TEMPLATE_SIGNATURE = TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Body</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__BODY = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Annotated Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__ANNOTATED_ELEMENT = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Body Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT__BODY_EXPRESSION = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the the '<em>Comment</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT_FEATURE_COUNT = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RELATIONSHIP__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RELATIONSHIP__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 RELATIONSHIP__OWNER = ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RELATIONSHIP__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RELATIONSHIP__RELATED_ELEMENT = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the the '<em>Relationship</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RELATIONSHIP_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP__EANNOTATIONS = RELATIONSHIP__EANNOTATIONS;
+
+	/**
+	 * 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>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP__OWNED_COMMENT = RELATIONSHIP__OWNED_COMMENT;
+
+	/**
+	 * 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 the '<em>Directed Relationship</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_FEATURE_COUNT = RELATIONSHIP_FEATURE_COUNT + 2;
+
+	/**
+	 * 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;
 
 	/**
@@ -1328,249 +1697,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMMENT__EANNOTATIONS = TEMPLATEABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT__OWNED_ELEMENT = TEMPLATEABLE_ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT__OWNER = TEMPLATEABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT__OWNED_COMMENT = TEMPLATEABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT__TEMPLATE_BINDING = TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT__OWNED_TEMPLATE_SIGNATURE = TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Body</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT__BODY = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Annotated Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT__ANNOTATED_ELEMENT = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Body Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT__BODY_EXPRESSION = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the the '<em>Comment</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMENT_FEATURE_COUNT = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__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 NAMESPACE__OWNER = NAMED_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__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 NAMESPACE__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__MEMBER = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__OWNED_RULE = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__IMPORTED_MEMBER = NAMED_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__ELEMENT_IMPORT = NAMED_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE__PACKAGE_IMPORT = NAMED_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Namespace</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int CLASSIFIER__EANNOTATIONS = NAMESPACE__EANNOTATIONS;
 
 	/**
@@ -1826,22 +1952,22 @@
 	int CLASSIFIER__REDEFINED_CLASSIFIER = NAMESPACE_FEATURE_COUNT + 12;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER__POWERTYPE_EXTENT = NAMESPACE_FEATURE_COUNT + 13;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CLASSIFIER__SUBSTITUTION = NAMESPACE_FEATURE_COUNT + 14;
+	int CLASSIFIER__SUBSTITUTION = NAMESPACE_FEATURE_COUNT + 13;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER__POWERTYPE_EXTENT = NAMESPACE_FEATURE_COUNT + 14;
 
 	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
@@ -2141,15 +2267,6 @@
 	int STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2159,6 +2276,15 @@
 	int STRUCTURED_CLASSIFIER__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2492,15 +2618,6 @@
 	int ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER = STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT = STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2510,6 +2627,15 @@
 	int ENCAPSULATED_CLASSIFIER__SUBSTITUTION = STRUCTURED_CLASSIFIER__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT = STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2852,15 +2978,6 @@
 	int CLASS__REDEFINED_CLASSIFIER = ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS__POWERTYPE_EXTENT = ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2870,6 +2987,15 @@
 	int CLASS__SUBSTITUTION = ENCAPSULATED_CLASSIFIER__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASS__POWERTYPE_EXTENT = ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5768,15 +5894,6 @@
 	int DATA_TYPE__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
-	 * 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>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5786,6 +5903,15 @@
 	int DATA_TYPE__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
 
 	/**
+	 * 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>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6101,15 +6227,6 @@
 	int ENUMERATION__REDEFINED_CLASSIFIER = DATA_TYPE__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENUMERATION__POWERTYPE_EXTENT = DATA_TYPE__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6119,6 +6236,15 @@
 	int ENUMERATION__SUBSTITUTION = DATA_TYPE__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENUMERATION__POWERTYPE_EXTENT = DATA_TYPE__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6812,15 +6938,6 @@
 	int PRIMITIVE_TYPE__REDEFINED_CLASSIFIER = DATA_TYPE__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PRIMITIVE_TYPE__POWERTYPE_EXTENT = DATA_TYPE__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6830,6 +6947,15 @@
 	int PRIMITIVE_TYPE__SUBSTITUTION = DATA_TYPE__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PRIMITIVE_TYPE__POWERTYPE_EXTENT = DATA_TYPE__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6884,132 +7010,6 @@
 	int PRIMITIVE_TYPE_FEATURE_COUNT = DATA_TYPE_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RELATIONSHIP__EANNOTATIONS = ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RELATIONSHIP__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 RELATIONSHIP__OWNER = ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RELATIONSHIP__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RELATIONSHIP__RELATED_ELEMENT = ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Relationship</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RELATIONSHIP_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DIRECTED_RELATIONSHIP__EANNOTATIONS = RELATIONSHIP__EANNOTATIONS;
-
-	/**
-	 * 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>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DIRECTED_RELATIONSHIP__OWNED_COMMENT = RELATIONSHIP__OWNED_COMMENT;
-
-	/**
-	 * 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 the '<em>Directed Relationship</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DIRECTED_RELATIONSHIP_FEATURE_COUNT = RELATIONSHIP_FEATURE_COUNT + 2;
-
-	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.LiteralSpecificationImpl <em>Literal Specification</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8104,7 +8104,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getSlot()
 	 * @generated
 	 */
-	int SLOT = 34;
+	int SLOT = 35;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InstanceValueImpl <em>Instance Value</em>}' class.
@@ -8114,7 +8114,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInstanceValue()
 	 * @generated
 	 */
-	int INSTANCE_VALUE = 35;
+	int INSTANCE_VALUE = 36;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.GeneralizationImpl <em>Generalization</em>}' class.
@@ -8949,15 +8949,6 @@
 	int ASSOCIATION__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8967,6 +8958,15 @@
 	int ASSOCIATION__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9419,15 +9419,6 @@
 	int STEREOTYPE__REDEFINED_CLASSIFIER = CLASS__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STEREOTYPE__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9437,6 +9428,15 @@
 	int STEREOTYPE__SUBSTITUTION = CLASS__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -10277,15 +10277,6 @@
 	int EXTENSION__REDEFINED_CLASSIFIER = ASSOCIATION__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION__POWERTYPE_EXTENT = ASSOCIATION__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -10295,6 +10286,15 @@
 	int EXTENSION__SUBSTITUTION = ASSOCIATION__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION__POWERTYPE_EXTENT = ASSOCIATION__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -10807,7 +10807,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInformationItem()
 	 * @generated
 	 */
-	int INFORMATION_ITEM = 49;
+	int INFORMATION_ITEM = 58;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InformationFlowImpl <em>Information Flow</em>}' class.
@@ -10817,7 +10817,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInformationFlow()
 	 * @generated
 	 */
-	int INFORMATION_FLOW = 50;
+	int INFORMATION_FLOW = 59;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.GeneralizationSetImpl <em>Generalization Set</em>}' class.
@@ -10827,7 +10827,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getGeneralizationSet()
 	 * @generated
 	 */
-	int GENERALIZATION_SET = 48;
+	int GENERALIZATION_SET = 60;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.AssociationClassImpl <em>Association Class</em>}' class.
@@ -10837,7 +10837,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getAssociationClass()
 	 * @generated
 	 */
-	int ASSOCIATION_CLASS = 47;
+	int ASSOCIATION_CLASS = 56;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ModelImpl <em>Model</em>}' class.
@@ -10847,7 +10847,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getModel()
 	 * @generated
 	 */
-	int MODEL = 51;
+	int MODEL = 57;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.BehaviorImpl <em>Behavior</em>}' class.
@@ -10857,7 +10857,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getBehavior()
 	 * @generated
 	 */
-	int BEHAVIOR = 58;
+	int BEHAVIOR = 53;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.BehavioredClassifierImpl <em>Behaviored Classifier</em>}' class.
@@ -10867,7 +10867,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getBehavioredClassifier()
 	 * @generated
 	 */
-	int BEHAVIORED_CLASSIFIER = 59;
+	int BEHAVIORED_CLASSIFIER = 54;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActivityImpl <em>Activity</em>}' class.
@@ -10877,7 +10877,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getActivity()
 	 * @generated
 	 */
-	int ACTIVITY = 60;
+	int ACTIVITY = 55;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DependencyImpl <em>Dependency</em>}' class.
@@ -10887,7 +10887,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDependency()
 	 * @generated
 	 */
-	int DEPENDENCY = 53;
+	int DEPENDENCY = 48;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PermissionImpl <em>Permission</em>}' class.
@@ -10897,7 +10897,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPermission()
 	 * @generated
 	 */
-	int PERMISSION = 52;
+	int PERMISSION = 47;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.UsageImpl <em>Usage</em>}' class.
@@ -10907,7 +10907,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getUsage()
 	 * @generated
 	 */
-	int USAGE = 54;
+	int USAGE = 49;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.AbstractionImpl <em>Abstraction</em>}' class.
@@ -10917,7 +10917,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getAbstraction()
 	 * @generated
 	 */
-	int ABSTRACTION = 55;
+	int ABSTRACTION = 50;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.RealizationImpl <em>Realization</em>}' class.
@@ -10927,7 +10927,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getRealization()
 	 * @generated
 	 */
-	int REALIZATION = 56;
+	int REALIZATION = 51;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.SubstitutionImpl <em>Substitution</em>}' class.
@@ -10937,1339 +10937,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getSubstitution()
 	 * @generated
 	 */
-	int SUBSTITUTION = 57;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__EANNOTATIONS = CLASS__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_ELEMENT = CLASS__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNER = CLASS__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_COMMENT = CLASS__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__TEMPLATE_BINDING = CLASS__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE = CLASS__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__NAME = CLASS__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__QUALIFIED_NAME = CLASS__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__VISIBILITY = CLASS__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__CLIENT_DEPENDENCY = CLASS__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__NAME_EXPRESSION = CLASS__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__MEMBER = CLASS__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_RULE = CLASS__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__IMPORTED_MEMBER = CLASS__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__ELEMENT_IMPORT = CLASS__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 ASSOCIATION_CLASS__PACKAGE_IMPORT = CLASS__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__TEMPLATE_PARAMETER = CLASS__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNING_PARAMETER = CLASS__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__PACKAGEABLE_ELEMENT_VISIBILITY = CLASS__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__PACKAGE = CLASS__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__REDEFINITION_CONTEXT = CLASS__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__IS_LEAF = CLASS__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__FEATURE = CLASS__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__IS_ABSTRACT = CLASS__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__INHERITED_MEMBER = CLASS__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__GENERAL = CLASS__GENERAL;
-
-	/**
-	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__GENERALIZATION = CLASS__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__ATTRIBUTE = CLASS__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__REDEFINED_CLASSIFIER = CLASS__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__SUBSTITUTION = CLASS__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_USE_CASE = CLASS__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__REPRESENTATION = CLASS__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OCCURRENCE = CLASS__OCCURRENCE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_ATTRIBUTE = CLASS__OWNED_ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Part</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__PART = CLASS__PART;
-
-	/**
-	 * The feature id for the '<em><b>Role</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__ROLE = CLASS__ROLE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Connector</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_CONNECTOR = CLASS__OWNED_CONNECTOR;
-
-	/**
-	 * The feature id for the '<em><b>Owned Port</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_PORT = CLASS__OWNED_PORT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Behavior</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_BEHAVIOR = CLASS__OWNED_BEHAVIOR;
-
-	/**
-	 * The feature id for the '<em><b>Classifier Behavior</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__CLASSIFIER_BEHAVIOR = CLASS__CLASSIFIER_BEHAVIOR;
-
-	/**
-	 * The feature id for the '<em><b>Implementation</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__IMPLEMENTATION = CLASS__IMPLEMENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Owned State Machine</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_STATE_MACHINE = CLASS__OWNED_STATE_MACHINE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_OPERATION = CLASS__OWNED_OPERATION;
-
-	/**
-	 * The feature id for the '<em><b>Super Class</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__SUPER_CLASS = CLASS__SUPER_CLASS;
-
-	/**
-	 * The feature id for the '<em><b>Extension</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__EXTENSION = CLASS__EXTENSION;
-
-	/**
-	 * The feature id for the '<em><b>Nested Classifier</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__NESTED_CLASSIFIER = CLASS__NESTED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Is Active</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__IS_ACTIVE = CLASS__IS_ACTIVE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Reception</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_RECEPTION = CLASS__OWNED_RECEPTION;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__RELATED_ELEMENT = CLASS_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__IS_DERIVED = CLASS_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Owned End</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__OWNED_END = CLASS_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>End Type</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__END_TYPE = CLASS_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Member End</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS__MEMBER_END = CLASS_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Association Class</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS_FEATURE_COUNT = CLASS_FEATURE_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_SET__EANNOTATIONS = PACKAGEABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__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 GENERALIZATION_SET__OWNER = PACKAGEABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__OWNED_COMMENT = PACKAGEABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__TEMPLATE_BINDING = PACKAGEABLE_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__OWNED_TEMPLATE_SIGNATURE = PACKAGEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__NAME = PACKAGEABLE_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__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 GENERALIZATION_SET__VISIBILITY = PACKAGEABLE_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__CLIENT_DEPENDENCY = PACKAGEABLE_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__NAME_EXPRESSION = PACKAGEABLE_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__OWNING_PARAMETER = PACKAGEABLE_ELEMENT__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__PACKAGEABLE_ELEMENT_VISIBILITY = PACKAGEABLE_ELEMENT__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Is Covering</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__IS_COVERING = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Is Disjoint</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__IS_DISJOINT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Powertype</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__POWERTYPE = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Generalization</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET__GENERALIZATION = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The number of structural features of the the '<em>Generalization Set</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET_FEATURE_COUNT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__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 INFORMATION_ITEM__OWNER = CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__NAME = CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__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 INFORMATION_ITEM__VISIBILITY = CLASSIFIER__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__MEMBER = CLASSIFIER__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__OWNED_RULE = CLASSIFIER__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__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 INFORMATION_ITEM__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__PACKAGE = CLASSIFIER__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__IS_LEAF = CLASSIFIER__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__FEATURE = CLASSIFIER__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__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 INFORMATION_ITEM__GENERALIZATION = CLASSIFIER__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__REPRESENTATION = CLASSIFIER__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__OCCURRENCE = CLASSIFIER__OCCURRENCE;
-
-	/**
-	 * The feature id for the '<em><b>Represented</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM__REPRESENTED = CLASSIFIER_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Information Item</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__EANNOTATIONS = DIRECTED_RELATIONSHIP__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__OWNED_ELEMENT = DIRECTED_RELATIONSHIP__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__OWNER = DIRECTED_RELATIONSHIP__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__OWNED_COMMENT = DIRECTED_RELATIONSHIP__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__RELATED_ELEMENT = DIRECTED_RELATIONSHIP__RELATED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__SOURCE = DIRECTED_RELATIONSHIP__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__TARGET = DIRECTED_RELATIONSHIP__TARGET;
-
-	/**
-	 * The feature id for the '<em><b>Realization</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__REALIZATION = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Conveyed</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW__CONVEYED = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>Information Flow</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW_FEATURE_COUNT = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__EANNOTATIONS = PACKAGE__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__OWNED_ELEMENT = PACKAGE__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__OWNER = PACKAGE__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__OWNED_COMMENT = PACKAGE__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__TEMPLATE_BINDING = PACKAGE__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__OWNED_TEMPLATE_SIGNATURE = PACKAGE__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__NAME = PACKAGE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__QUALIFIED_NAME = PACKAGE__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__VISIBILITY = PACKAGE__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__CLIENT_DEPENDENCY = PACKAGE__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__NAME_EXPRESSION = PACKAGE__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__MEMBER = PACKAGE__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__OWNED_RULE = PACKAGE__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__IMPORTED_MEMBER = PACKAGE__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__ELEMENT_IMPORT = PACKAGE__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 MODEL__PACKAGE_IMPORT = PACKAGE__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__TEMPLATE_PARAMETER = PACKAGE__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__OWNING_PARAMETER = PACKAGE__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__PACKAGEABLE_ELEMENT_VISIBILITY = PACKAGE__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Nested Package</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__NESTED_PACKAGE = PACKAGE__NESTED_PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Nesting Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__NESTING_PACKAGE = PACKAGE__NESTING_PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Type</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__OWNED_TYPE = PACKAGE__OWNED_TYPE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__OWNED_MEMBER = PACKAGE__OWNED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Package Merge</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__PACKAGE_MERGE = PACKAGE__PACKAGE_MERGE;
-
-	/**
-	 * The feature id for the '<em><b>Applied Profile</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__APPLIED_PROFILE = PACKAGE__APPLIED_PROFILE;
-
-	/**
-	 * The feature id for the '<em><b>Package Extension</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__PACKAGE_EXTENSION = PACKAGE__PACKAGE_EXTENSION;
-
-	/**
-	 * The feature id for the '<em><b>Viewpoint</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL__VIEWPOINT = PACKAGE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Model</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL_FEATURE_COUNT = PACKAGE_FEATURE_COUNT + 1;
+	int SUBSTITUTION = 52;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -13694,15 +12362,6 @@
 	int BEHAVIOR__REDEFINED_CLASSIFIER = CLASS__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIOR__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -13712,6 +12371,15 @@
 	int BEHAVIOR__SUBSTITUTION = CLASS__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIOR__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -14225,15 +12893,6 @@
 	int BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
-	 * 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>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -14243,6 +12902,15 @@
 	int BEHAVIORED_CLASSIFIER__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
 
 	/**
+	 * 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>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -14576,15 +13244,6 @@
 	int ACTIVITY__REDEFINED_CLASSIFIER = BEHAVIOR__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY__POWERTYPE_EXTENT = BEHAVIOR__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -14594,6 +13253,15 @@
 	int ACTIVITY__SUBSTITUTION = BEHAVIOR__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__POWERTYPE_EXTENT = BEHAVIOR__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -14927,6 +13595,1338 @@
 	int ACTIVITY_FEATURE_COUNT = BEHAVIOR_FEATURE_COUNT + 9;
 
 	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__EANNOTATIONS = CLASS__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_ELEMENT = CLASS__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNER = CLASS__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_COMMENT = CLASS__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__TEMPLATE_BINDING = CLASS__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_TEMPLATE_SIGNATURE = CLASS__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__NAME = CLASS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__QUALIFIED_NAME = CLASS__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__VISIBILITY = CLASS__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__CLIENT_DEPENDENCY = CLASS__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__NAME_EXPRESSION = CLASS__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__MEMBER = CLASS__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_RULE = CLASS__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__IMPORTED_MEMBER = CLASS__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__ELEMENT_IMPORT = CLASS__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 ASSOCIATION_CLASS__PACKAGE_IMPORT = CLASS__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__TEMPLATE_PARAMETER = CLASS__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNING_PARAMETER = CLASS__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__PACKAGEABLE_ELEMENT_VISIBILITY = CLASS__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__PACKAGE = CLASS__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__REDEFINITION_CONTEXT = CLASS__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__IS_LEAF = CLASS__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__FEATURE = CLASS__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__IS_ABSTRACT = CLASS__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__INHERITED_MEMBER = CLASS__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__GENERAL = CLASS__GENERAL;
+
+	/**
+	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__GENERALIZATION = CLASS__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__ATTRIBUTE = CLASS__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__REDEFINED_CLASSIFIER = CLASS__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__SUBSTITUTION = CLASS__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_USE_CASE = CLASS__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__REPRESENTATION = CLASS__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OCCURRENCE = CLASS__OCCURRENCE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_ATTRIBUTE = CLASS__OWNED_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Part</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__PART = CLASS__PART;
+
+	/**
+	 * The feature id for the '<em><b>Role</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__ROLE = CLASS__ROLE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Connector</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_CONNECTOR = CLASS__OWNED_CONNECTOR;
+
+	/**
+	 * The feature id for the '<em><b>Owned Port</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_PORT = CLASS__OWNED_PORT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Behavior</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_BEHAVIOR = CLASS__OWNED_BEHAVIOR;
+
+	/**
+	 * The feature id for the '<em><b>Classifier Behavior</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__CLASSIFIER_BEHAVIOR = CLASS__CLASSIFIER_BEHAVIOR;
+
+	/**
+	 * The feature id for the '<em><b>Implementation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__IMPLEMENTATION = CLASS__IMPLEMENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Owned State Machine</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_STATE_MACHINE = CLASS__OWNED_STATE_MACHINE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_OPERATION = CLASS__OWNED_OPERATION;
+
+	/**
+	 * The feature id for the '<em><b>Super Class</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__SUPER_CLASS = CLASS__SUPER_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Extension</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__EXTENSION = CLASS__EXTENSION;
+
+	/**
+	 * The feature id for the '<em><b>Nested Classifier</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__NESTED_CLASSIFIER = CLASS__NESTED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Is Active</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__IS_ACTIVE = CLASS__IS_ACTIVE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Reception</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_RECEPTION = CLASS__OWNED_RECEPTION;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__RELATED_ELEMENT = CLASS_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__IS_DERIVED = CLASS_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Owned End</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__OWNED_END = CLASS_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>End Type</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__END_TYPE = CLASS_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Member End</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS__MEMBER_END = CLASS_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Association Class</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS_FEATURE_COUNT = CLASS_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__EANNOTATIONS = PACKAGE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__OWNED_ELEMENT = PACKAGE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__OWNER = PACKAGE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__OWNED_COMMENT = PACKAGE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__TEMPLATE_BINDING = PACKAGE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__OWNED_TEMPLATE_SIGNATURE = PACKAGE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__NAME = PACKAGE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__QUALIFIED_NAME = PACKAGE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__VISIBILITY = PACKAGE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__CLIENT_DEPENDENCY = PACKAGE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__NAME_EXPRESSION = PACKAGE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__MEMBER = PACKAGE__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__OWNED_RULE = PACKAGE__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__IMPORTED_MEMBER = PACKAGE__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__ELEMENT_IMPORT = PACKAGE__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 MODEL__PACKAGE_IMPORT = PACKAGE__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__TEMPLATE_PARAMETER = PACKAGE__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__OWNING_PARAMETER = PACKAGE__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__PACKAGEABLE_ELEMENT_VISIBILITY = PACKAGE__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Nested Package</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__NESTED_PACKAGE = PACKAGE__NESTED_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Nesting Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__NESTING_PACKAGE = PACKAGE__NESTING_PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Type</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__OWNED_TYPE = PACKAGE__OWNED_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__OWNED_MEMBER = PACKAGE__OWNED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Package Merge</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__PACKAGE_MERGE = PACKAGE__PACKAGE_MERGE;
+
+	/**
+	 * The feature id for the '<em><b>Applied Profile</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__APPLIED_PROFILE = PACKAGE__APPLIED_PROFILE;
+
+	/**
+	 * The feature id for the '<em><b>Package Extension</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__PACKAGE_EXTENSION = PACKAGE__PACKAGE_EXTENSION;
+
+	/**
+	 * The feature id for the '<em><b>Viewpoint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__VIEWPOINT = PACKAGE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the the '<em>Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL_FEATURE_COUNT = PACKAGE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__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 INFORMATION_ITEM__OWNER = CLASSIFIER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__NAME = CLASSIFIER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__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 INFORMATION_ITEM__VISIBILITY = CLASSIFIER__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__MEMBER = CLASSIFIER__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__OWNED_RULE = CLASSIFIER__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__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 INFORMATION_ITEM__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__PACKAGE = CLASSIFIER__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__IS_LEAF = CLASSIFIER__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__FEATURE = CLASSIFIER__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__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 INFORMATION_ITEM__GENERALIZATION = CLASSIFIER__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__REPRESENTATION = CLASSIFIER__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__OCCURRENCE = CLASSIFIER__OCCURRENCE;
+
+	/**
+	 * The feature id for the '<em><b>Represented</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM__REPRESENTED = CLASSIFIER_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the the '<em>Information Item</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__EANNOTATIONS = DIRECTED_RELATIONSHIP__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__OWNED_ELEMENT = DIRECTED_RELATIONSHIP__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__OWNER = DIRECTED_RELATIONSHIP__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__OWNED_COMMENT = DIRECTED_RELATIONSHIP__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__RELATED_ELEMENT = DIRECTED_RELATIONSHIP__RELATED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__SOURCE = DIRECTED_RELATIONSHIP__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__TARGET = DIRECTED_RELATIONSHIP__TARGET;
+
+	/**
+	 * The feature id for the '<em><b>Realization</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__REALIZATION = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Conveyed</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW__CONVEYED = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the the '<em>Information Flow</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW_FEATURE_COUNT = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__EANNOTATIONS = PACKAGEABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__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 GENERALIZATION_SET__OWNER = PACKAGEABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__OWNED_COMMENT = PACKAGEABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__TEMPLATE_BINDING = PACKAGEABLE_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__OWNED_TEMPLATE_SIGNATURE = PACKAGEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__NAME = PACKAGEABLE_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__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 GENERALIZATION_SET__VISIBILITY = PACKAGEABLE_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__CLIENT_DEPENDENCY = PACKAGEABLE_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__NAME_EXPRESSION = PACKAGEABLE_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__OWNING_PARAMETER = PACKAGEABLE_ELEMENT__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__PACKAGEABLE_ELEMENT_VISIBILITY = PACKAGEABLE_ELEMENT__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Is Covering</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__IS_COVERING = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Disjoint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__IS_DISJOINT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Powertype</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__POWERTYPE = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Generalization</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET__GENERALIZATION = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the the '<em>Generalization Set</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET_FEATURE_COUNT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 4;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ArtifactImpl <em>Artifact</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -14934,7 +14934,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getArtifact()
 	 * @generated
 	 */
-	int ARTIFACT = 87;
+	int ARTIFACT = 72;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ManifestationImpl <em>Manifestation</em>}' class.
@@ -14944,7 +14944,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getManifestation()
 	 * @generated
 	 */
-	int MANIFESTATION = 88;
+	int MANIFESTATION = 73;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InterfaceImpl <em>Interface</em>}' class.
@@ -14954,7 +14954,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInterface()
 	 * @generated
 	 */
-	int INTERFACE = 80;
+	int INTERFACE = 65;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ImplementationImpl <em>Implementation</em>}' class.
@@ -14964,7 +14964,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getImplementation()
 	 * @generated
 	 */
-	int IMPLEMENTATION = 81;
+	int IMPLEMENTATION = 66;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActorImpl <em>Actor</em>}' class.
@@ -14974,7 +14974,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getActor()
 	 * @generated
 	 */
-	int ACTOR = 82;
+	int ACTOR = 67;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ExtendImpl <em>Extend</em>}' class.
@@ -14984,7 +14984,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getExtend()
 	 * @generated
 	 */
-	int EXTEND = 83;
+	int EXTEND = 68;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.UseCaseImpl <em>Use Case</em>}' class.
@@ -14994,7 +14994,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getUseCase()
 	 * @generated
 	 */
-	int USE_CASE = 84;
+	int USE_CASE = 69;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ExtensionPointImpl <em>Extension Point</em>}' class.
@@ -15004,7 +15004,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getExtensionPoint()
 	 * @generated
 	 */
-	int EXTENSION_POINT = 85;
+	int EXTENSION_POINT = 70;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.IncludeImpl <em>Include</em>}' class.
@@ -15014,7 +15014,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInclude()
 	 * @generated
 	 */
-	int INCLUDE = 86;
+	int INCLUDE = 71;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActivityEdgeImpl <em>Activity Edge</em>}' class.
@@ -15024,7 +15024,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getActivityEdge()
 	 * @generated
 	 */
-	int ACTIVITY_EDGE = 61;
+	int ACTIVITY_EDGE = 74;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActivityGroupImpl <em>Activity Group</em>}' class.
@@ -15034,7 +15034,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getActivityGroup()
 	 * @generated
 	 */
-	int ACTIVITY_GROUP = 62;
+	int ACTIVITY_GROUP = 75;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActivityNodeImpl <em>Activity Node</em>}' class.
@@ -15044,7 +15044,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getActivityNode()
 	 * @generated
 	 */
-	int ACTIVITY_NODE = 63;
+	int ACTIVITY_NODE = 76;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ExecutableNodeImpl <em>Executable Node</em>}' class.
@@ -15054,7 +15054,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getExecutableNode()
 	 * @generated
 	 */
-	int EXECUTABLE_NODE = 74;
+	int EXECUTABLE_NODE = 87;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActionImpl <em>Action</em>}' class.
@@ -15064,7 +15064,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getAction()
 	 * @generated
 	 */
-	int ACTION = 64;
+	int ACTION = 77;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ObjectNodeImpl <em>Object Node</em>}' class.
@@ -15074,7 +15074,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getObjectNode()
 	 * @generated
 	 */
-	int OBJECT_NODE = 65;
+	int OBJECT_NODE = 78;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ControlNodeImpl <em>Control Node</em>}' class.
@@ -15084,7 +15084,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getControlNode()
 	 * @generated
 	 */
-	int CONTROL_NODE = 66;
+	int CONTROL_NODE = 79;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ControlFlowImpl <em>Control Flow</em>}' class.
@@ -15094,7 +15094,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getControlFlow()
 	 * @generated
 	 */
-	int CONTROL_FLOW = 67;
+	int CONTROL_FLOW = 80;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ObjectFlowImpl <em>Object Flow</em>}' class.
@@ -15104,7 +15104,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getObjectFlow()
 	 * @generated
 	 */
-	int OBJECT_FLOW = 68;
+	int OBJECT_FLOW = 81;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InitialNodeImpl <em>Initial Node</em>}' class.
@@ -15114,7 +15114,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInitialNode()
 	 * @generated
 	 */
-	int INITIAL_NODE = 69;
+	int INITIAL_NODE = 82;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.FinalNodeImpl <em>Final Node</em>}' class.
@@ -15124,7 +15124,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getFinalNode()
 	 * @generated
 	 */
-	int FINAL_NODE = 70;
+	int FINAL_NODE = 83;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActivityFinalNodeImpl <em>Activity Final Node</em>}' class.
@@ -15134,7 +15134,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getActivityFinalNode()
 	 * @generated
 	 */
-	int ACTIVITY_FINAL_NODE = 71;
+	int ACTIVITY_FINAL_NODE = 84;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DecisionNodeImpl <em>Decision Node</em>}' class.
@@ -15144,7 +15144,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDecisionNode()
 	 * @generated
 	 */
-	int DECISION_NODE = 72;
+	int DECISION_NODE = 85;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.MergeNodeImpl <em>Merge Node</em>}' class.
@@ -15154,7 +15154,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getMergeNode()
 	 * @generated
 	 */
-	int MERGE_NODE = 73;
+	int MERGE_NODE = 86;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PinImpl <em>Pin</em>}' class.
@@ -15164,7 +15164,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPin()
 	 * @generated
 	 */
-	int PIN = 77;
+	int PIN = 90;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.OutputPinImpl <em>Output Pin</em>}' class.
@@ -15174,7 +15174,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getOutputPin()
 	 * @generated
 	 */
-	int OUTPUT_PIN = 75;
+	int OUTPUT_PIN = 88;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InputPinImpl <em>Input Pin</em>}' class.
@@ -15184,7 +15184,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInputPin()
 	 * @generated
 	 */
-	int INPUT_PIN = 76;
+	int INPUT_PIN = 89;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActivityParameterNodeImpl <em>Activity Parameter Node</em>}' class.
@@ -15194,7 +15194,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getActivityParameterNode()
 	 * @generated
 	 */
-	int ACTIVITY_PARAMETER_NODE = 78;
+	int ACTIVITY_PARAMETER_NODE = 91;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ValuePinImpl <em>Value Pin</em>}' class.
@@ -15204,7 +15204,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getValuePin()
 	 * @generated
 	 */
-	int VALUE_PIN = 79;
+	int VALUE_PIN = 92;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.VariableImpl <em>Variable</em>}' class.
@@ -15214,7 +15214,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getVariable()
 	 * @generated
 	 */
-	int VARIABLE = 118;
+	int VARIABLE = 116;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.StructuredActivityNodeImpl <em>Structured Activity Node</em>}' class.
@@ -15224,7 +15224,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getStructuredActivityNode()
 	 * @generated
 	 */
-	int STRUCTURED_ACTIVITY_NODE = 119;
+	int STRUCTURED_ACTIVITY_NODE = 117;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ConditionalNodeImpl <em>Conditional Node</em>}' class.
@@ -15234,7 +15234,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getConditionalNode()
 	 * @generated
 	 */
-	int CONDITIONAL_NODE = 120;
+	int CONDITIONAL_NODE = 118;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ClauseImpl <em>Clause</em>}' class.
@@ -15244,7 +15244,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getClause()
 	 * @generated
 	 */
-	int CLAUSE = 121;
+	int CLAUSE = 119;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.LoopNodeImpl <em>Loop Node</em>}' class.
@@ -15254,7 +15254,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getLoopNode()
 	 * @generated
 	 */
-	int LOOP_NODE = 122;
+	int LOOP_NODE = 120;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ConnectorEndImpl <em>Connector End</em>}' class.
@@ -15264,7 +15264,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getConnectorEnd()
 	 * @generated
 	 */
-	int CONNECTOR_END = 89;
+	int CONNECTOR_END = 61;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ConnectorImpl <em>Connector</em>}' class.
@@ -15274,7 +15274,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getConnector()
 	 * @generated
 	 */
-	int CONNECTOR = 91;
+	int CONNECTOR = 63;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TriggerImpl <em>Trigger</em>}' class.
@@ -15284,7 +15284,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTrigger()
 	 * @generated
 	 */
-	int TRIGGER = 128;
+	int TRIGGER = 110;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.MessageTriggerImpl <em>Message Trigger</em>}' class.
@@ -15294,7 +15294,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getMessageTrigger()
 	 * @generated
 	 */
-	int MESSAGE_TRIGGER = 126;
+	int MESSAGE_TRIGGER = 108;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CallTriggerImpl <em>Call Trigger</em>}' class.
@@ -15304,7 +15304,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCallTrigger()
 	 * @generated
 	 */
-	int CALL_TRIGGER = 125;
+	int CALL_TRIGGER = 107;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ChangeTriggerImpl <em>Change Trigger</em>}' class.
@@ -15314,7 +15314,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getChangeTrigger()
 	 * @generated
 	 */
-	int CHANGE_TRIGGER = 127;
+	int CHANGE_TRIGGER = 109;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReceptionImpl <em>Reception</em>}' class.
@@ -15324,7 +15324,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReception()
 	 * @generated
 	 */
-	int RECEPTION = 129;
+	int RECEPTION = 111;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.SignalImpl <em>Signal</em>}' class.
@@ -15334,7 +15334,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getSignal()
 	 * @generated
 	 */
-	int SIGNAL = 130;
+	int SIGNAL = 112;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.SignalTriggerImpl <em>Signal Trigger</em>}' class.
@@ -15344,7 +15344,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getSignalTrigger()
 	 * @generated
 	 */
-	int SIGNAL_TRIGGER = 131;
+	int SIGNAL_TRIGGER = 113;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TimeTriggerImpl <em>Time Trigger</em>}' class.
@@ -15354,7 +15354,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTimeTrigger()
 	 * @generated
 	 */
-	int TIME_TRIGGER = 132;
+	int TIME_TRIGGER = 114;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.AnyTriggerImpl <em>Any Trigger</em>}' class.
@@ -15364,7 +15364,2635 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getAnyTrigger()
 	 * @generated
 	 */
-	int ANY_TRIGGER = 133;
+	int ANY_TRIGGER = 115;
+
+	/**
+	 * 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;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__OWNED_ELEMENT = MULTIPLICITY_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__OWNER = MULTIPLICITY_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__OWNED_COMMENT = MULTIPLICITY_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__IS_ORDERED = MULTIPLICITY_ELEMENT__IS_ORDERED;
+
+	/**
+	 * The feature id for the '<em><b>Is Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__IS_UNIQUE = MULTIPLICITY_ELEMENT__IS_UNIQUE;
+
+	/**
+	 * The feature id for the '<em><b>Lower</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__LOWER = MULTIPLICITY_ELEMENT__LOWER;
+
+	/**
+	 * The feature id for the '<em><b>Upper</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__UPPER = MULTIPLICITY_ELEMENT__UPPER;
+
+	/**
+	 * The feature id for the '<em><b>Upper Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__UPPER_VALUE = MULTIPLICITY_ELEMENT__UPPER_VALUE;
+
+	/**
+	 * The feature id for the '<em><b>Lower Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__LOWER_VALUE = MULTIPLICITY_ELEMENT__LOWER_VALUE;
+
+	/**
+	 * The feature id for the '<em><b>Defining End</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__DEFINING_END = MULTIPLICITY_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Role</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__ROLE = MULTIPLICITY_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Part With Port</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END__PART_WITH_PORT = MULTIPLICITY_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the the '<em>Connector End</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END_FEATURE_COUNT = MULTIPLICITY_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR__EANNOTATIONS = FEATURE__EANNOTATIONS;
+
+	/**
+	 * 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>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>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR__TEMPLATE_BINDING = FEATURE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR__OWNED_TEMPLATE_SIGNATURE = FEATURE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * 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>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>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 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>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>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>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>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR__TYPE = FEATURE_FEATURE_COUNT + 0;
+
+	/**
+	 * 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 + 1;
+
+	/**
+	 * 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 + 2;
+
+	/**
+	 * 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 + 3;
+
+	/**
+	 * 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 + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Connector</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_FEATURE_COUNT = FEATURE_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__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 INTERFACE__OWNER = CLASSIFIER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__NAME = CLASSIFIER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__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 INTERFACE__VISIBILITY = CLASSIFIER__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__MEMBER = CLASSIFIER__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__OWNED_RULE = CLASSIFIER__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__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 INTERFACE__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__PACKAGE = CLASSIFIER__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__IS_LEAF = CLASSIFIER__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__FEATURE = CLASSIFIER__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__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 INTERFACE__GENERALIZATION = CLASSIFIER__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__REPRESENTATION = CLASSIFIER__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__OCCURRENCE = CLASSIFIER__OCCURRENCE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__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 INTERFACE__OWNED_OPERATION = CLASSIFIER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Interface</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__REDEFINED_INTERFACE = CLASSIFIER_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Nested Classifier</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__NESTED_CLASSIFIER = CLASSIFIER_FEATURE_COUNT + 3;
+
+	/**
+	 * 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 + 4;
+
+	/**
+	 * The feature id for the '<em><b>Protocol</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__PROTOCOL = CLASSIFIER_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the the '<em>Interface</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__EANNOTATIONS = REALIZATION__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__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 IMPLEMENTATION__OWNER = REALIZATION__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__OWNED_COMMENT = REALIZATION__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__TEMPLATE_BINDING = REALIZATION__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__OWNED_TEMPLATE_SIGNATURE = REALIZATION__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__NAME = REALIZATION__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__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 IMPLEMENTATION__VISIBILITY = REALIZATION__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__CLIENT_DEPENDENCY = REALIZATION__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__NAME_EXPRESSION = REALIZATION__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__TEMPLATE_PARAMETER = REALIZATION__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__OWNING_PARAMETER = REALIZATION__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__PACKAGEABLE_ELEMENT_VISIBILITY = REALIZATION__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__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 IMPLEMENTATION__SOURCE = REALIZATION__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__TARGET = REALIZATION__TARGET;
+
+	/**
+	 * The feature id for the '<em><b>Client</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__CLIENT = REALIZATION__CLIENT;
+
+	/**
+	 * The feature id for the '<em><b>Supplier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__SUPPLIER = REALIZATION__SUPPLIER;
+
+	/**
+	 * The feature id for the '<em><b>Mapping</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__MAPPING = REALIZATION__MAPPING;
+
+	/**
+	 * The feature id for the '<em><b>Abstraction</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__ABSTRACTION = REALIZATION__ABSTRACTION;
+
+	/**
+	 * The feature id for the '<em><b>Realizing Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__REALIZING_CLASSIFIER = REALIZATION__REALIZING_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Contract</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION__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 IMPLEMENTATION__IMPLEMENTING_CLASSIFIER = REALIZATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the the '<em>Implementation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMPLEMENTATION_FEATURE_COUNT = REALIZATION_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__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 ACTOR__OWNER = CLASSIFIER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__NAME = CLASSIFIER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__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 ACTOR__VISIBILITY = CLASSIFIER__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__MEMBER = CLASSIFIER__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__OWNED_RULE = CLASSIFIER__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__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 ACTOR__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__PACKAGE = CLASSIFIER__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__IS_LEAF = CLASSIFIER__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__FEATURE = CLASSIFIER__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__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 ACTOR__GENERALIZATION = CLASSIFIER__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__REPRESENTATION = CLASSIFIER__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR__OCCURRENCE = CLASSIFIER__OCCURRENCE;
+
+	/**
+	 * The number of structural features of the the '<em>Actor</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__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 EXTEND__OWNER = NAMED_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__NAME = NAMED_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__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 EXTEND__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__RELATED_ELEMENT = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__SOURCE = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__TARGET = NAMED_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Extended Case</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__EXTENDED_CASE = NAMED_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Extension</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__EXTENSION = NAMED_ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Condition</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__CONDITION = NAMED_ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Extension Location</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND__EXTENSION_LOCATION = NAMED_ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The number of structural features of the the '<em>Extend</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__EANNOTATIONS = BEHAVIORED_CLASSIFIER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNED_ELEMENT = BEHAVIORED_CLASSIFIER__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNER = BEHAVIORED_CLASSIFIER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNED_COMMENT = BEHAVIORED_CLASSIFIER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__TEMPLATE_BINDING = BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNED_TEMPLATE_SIGNATURE = BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__NAME = BEHAVIORED_CLASSIFIER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__QUALIFIED_NAME = BEHAVIORED_CLASSIFIER__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__VISIBILITY = BEHAVIORED_CLASSIFIER__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__CLIENT_DEPENDENCY = BEHAVIORED_CLASSIFIER__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__NAME_EXPRESSION = BEHAVIORED_CLASSIFIER__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__MEMBER = BEHAVIORED_CLASSIFIER__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNED_RULE = BEHAVIORED_CLASSIFIER__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__IMPORTED_MEMBER = BEHAVIORED_CLASSIFIER__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__ELEMENT_IMPORT = BEHAVIORED_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 USE_CASE__PACKAGE_IMPORT = BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__TEMPLATE_PARAMETER = BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNING_PARAMETER = BEHAVIORED_CLASSIFIER__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__PACKAGEABLE_ELEMENT_VISIBILITY = BEHAVIORED_CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__PACKAGE = BEHAVIORED_CLASSIFIER__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__REDEFINITION_CONTEXT = BEHAVIORED_CLASSIFIER__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__IS_LEAF = BEHAVIORED_CLASSIFIER__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__FEATURE = BEHAVIORED_CLASSIFIER__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__IS_ABSTRACT = BEHAVIORED_CLASSIFIER__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__INHERITED_MEMBER = BEHAVIORED_CLASSIFIER__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__GENERAL = BEHAVIORED_CLASSIFIER__GENERAL;
+
+	/**
+	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__GENERALIZATION = BEHAVIORED_CLASSIFIER__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__ATTRIBUTE = BEHAVIORED_CLASSIFIER__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__REDEFINED_CLASSIFIER = BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__SUBSTITUTION = BEHAVIORED_CLASSIFIER__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__POWERTYPE_EXTENT = BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNED_USE_CASE = BEHAVIORED_CLASSIFIER__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__REPRESENTATION = BEHAVIORED_CLASSIFIER__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OCCURRENCE = BEHAVIORED_CLASSIFIER__OCCURRENCE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Behavior</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNED_BEHAVIOR = BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR;
+
+	/**
+	 * The feature id for the '<em><b>Classifier Behavior</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__CLASSIFIER_BEHAVIOR = BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR;
+
+	/**
+	 * The feature id for the '<em><b>Implementation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__IMPLEMENTATION = BEHAVIORED_CLASSIFIER__IMPLEMENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Owned State Machine</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__OWNED_STATE_MACHINE = BEHAVIORED_CLASSIFIER__OWNED_STATE_MACHINE;
+
+	/**
+	 * The feature id for the '<em><b>Include</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__INCLUDE = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Extend</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__EXTEND = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Extension Point</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__EXTENSION_POINT = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Subject</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE__SUBJECT = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the the '<em>Use Case</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE_FEATURE_COUNT = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__EANNOTATIONS = REDEFINABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__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 EXTENSION_POINT__OWNER = REDEFINABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__OWNED_COMMENT = REDEFINABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__TEMPLATE_BINDING = REDEFINABLE_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__OWNED_TEMPLATE_SIGNATURE = REDEFINABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__NAME = REDEFINABLE_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__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 EXTENSION_POINT__VISIBILITY = REDEFINABLE_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__CLIENT_DEPENDENCY = REDEFINABLE_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__NAME_EXPRESSION = REDEFINABLE_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__REDEFINITION_CONTEXT = REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__IS_LEAF = REDEFINABLE_ELEMENT__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Use Case</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT__USE_CASE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the the '<em>Extension Point</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT_FEATURE_COUNT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__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 INCLUDE__OWNER = NAMED_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__NAME = NAMED_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__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 INCLUDE__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__RELATED_ELEMENT = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__SOURCE = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__TARGET = NAMED_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Including Case</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__INCLUDING_CASE = NAMED_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Addition</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE__ADDITION = NAMED_ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Include</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__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 ARTIFACT__OWNER = CLASSIFIER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__NAME = CLASSIFIER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__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 ARTIFACT__VISIBILITY = CLASSIFIER__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__MEMBER = CLASSIFIER__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__OWNED_RULE = CLASSIFIER__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__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 ARTIFACT__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__PACKAGE = CLASSIFIER__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__IS_LEAF = CLASSIFIER__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__FEATURE = CLASSIFIER__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__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 ARTIFACT__GENERALIZATION = CLASSIFIER__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__REPRESENTATION = CLASSIFIER__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__OCCURRENCE = CLASSIFIER__OCCURRENCE;
+
+	/**
+	 * The feature id for the '<em><b>File Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__FILE_NAME = CLASSIFIER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Nested Artifact</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__NESTED_ARTIFACT = CLASSIFIER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Manifestation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__MANIFESTATION = CLASSIFIER_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__OWNED_OPERATION = CLASSIFIER_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__OWNED_ATTRIBUTE = CLASSIFIER_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Artifact</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__EANNOTATIONS = ABSTRACTION__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__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 MANIFESTATION__OWNER = ABSTRACTION__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__OWNED_COMMENT = ABSTRACTION__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__TEMPLATE_BINDING = ABSTRACTION__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__OWNED_TEMPLATE_SIGNATURE = ABSTRACTION__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__NAME = ABSTRACTION__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__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 MANIFESTATION__VISIBILITY = ABSTRACTION__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__CLIENT_DEPENDENCY = ABSTRACTION__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__NAME_EXPRESSION = ABSTRACTION__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__TEMPLATE_PARAMETER = ABSTRACTION__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__OWNING_PARAMETER = ABSTRACTION__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__PACKAGEABLE_ELEMENT_VISIBILITY = ABSTRACTION__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__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 MANIFESTATION__SOURCE = ABSTRACTION__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__TARGET = ABSTRACTION__TARGET;
+
+	/**
+	 * The feature id for the '<em><b>Client</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__CLIENT = ABSTRACTION__CLIENT;
+
+	/**
+	 * The feature id for the '<em><b>Supplier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__SUPPLIER = ABSTRACTION__SUPPLIER;
+
+	/**
+	 * The feature id for the '<em><b>Mapping</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__MAPPING = ABSTRACTION__MAPPING;
+
+	/**
+	 * The feature id for the '<em><b>Utilized Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION__UTILIZED_ELEMENT = ABSTRACTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the the '<em>Manifestation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION_FEATURE_COUNT = ABSTRACTION_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -19453,2634 +22081,6 @@
 	int VALUE_PIN_FEATURE_COUNT = INPUT_PIN_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__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 INTERFACE__OWNER = CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__NAME = CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__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 INTERFACE__VISIBILITY = CLASSIFIER__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__MEMBER = CLASSIFIER__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__OWNED_RULE = CLASSIFIER__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__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 INTERFACE__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__PACKAGE = CLASSIFIER__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__IS_LEAF = CLASSIFIER__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__FEATURE = CLASSIFIER__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__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 INTERFACE__GENERALIZATION = CLASSIFIER__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__REPRESENTATION = CLASSIFIER__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__OCCURRENCE = CLASSIFIER__OCCURRENCE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__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 INTERFACE__OWNED_OPERATION = CLASSIFIER_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Interface</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__REDEFINED_INTERFACE = CLASSIFIER_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Nested Classifier</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__NESTED_CLASSIFIER = CLASSIFIER_FEATURE_COUNT + 3;
-
-	/**
-	 * 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 + 4;
-
-	/**
-	 * The feature id for the '<em><b>Protocol</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__PROTOCOL = CLASSIFIER_FEATURE_COUNT + 5;
-
-	/**
-	 * The number of structural features of the the '<em>Interface</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__EANNOTATIONS = REALIZATION__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__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 IMPLEMENTATION__OWNER = REALIZATION__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__OWNED_COMMENT = REALIZATION__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__TEMPLATE_BINDING = REALIZATION__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__OWNED_TEMPLATE_SIGNATURE = REALIZATION__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__NAME = REALIZATION__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__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 IMPLEMENTATION__VISIBILITY = REALIZATION__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__CLIENT_DEPENDENCY = REALIZATION__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__NAME_EXPRESSION = REALIZATION__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__TEMPLATE_PARAMETER = REALIZATION__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__OWNING_PARAMETER = REALIZATION__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__PACKAGEABLE_ELEMENT_VISIBILITY = REALIZATION__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__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 IMPLEMENTATION__SOURCE = REALIZATION__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__TARGET = REALIZATION__TARGET;
-
-	/**
-	 * The feature id for the '<em><b>Client</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__CLIENT = REALIZATION__CLIENT;
-
-	/**
-	 * The feature id for the '<em><b>Supplier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__SUPPLIER = REALIZATION__SUPPLIER;
-
-	/**
-	 * The feature id for the '<em><b>Mapping</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__MAPPING = REALIZATION__MAPPING;
-
-	/**
-	 * The feature id for the '<em><b>Abstraction</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__ABSTRACTION = REALIZATION__ABSTRACTION;
-
-	/**
-	 * The feature id for the '<em><b>Realizing Classifier</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__REALIZING_CLASSIFIER = REALIZATION__REALIZING_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Contract</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION__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 IMPLEMENTATION__IMPLEMENTING_CLASSIFIER = REALIZATION_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>Implementation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IMPLEMENTATION_FEATURE_COUNT = REALIZATION_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__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 ACTOR__OWNER = CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__NAME = CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__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 ACTOR__VISIBILITY = CLASSIFIER__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__MEMBER = CLASSIFIER__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__OWNED_RULE = CLASSIFIER__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__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 ACTOR__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__PACKAGE = CLASSIFIER__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__IS_LEAF = CLASSIFIER__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__FEATURE = CLASSIFIER__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__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 ACTOR__GENERALIZATION = CLASSIFIER__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__REPRESENTATION = CLASSIFIER__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR__OCCURRENCE = CLASSIFIER__OCCURRENCE;
-
-	/**
-	 * The number of structural features of the the '<em>Actor</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__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 EXTEND__OWNER = NAMED_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__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 EXTEND__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__RELATED_ELEMENT = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__SOURCE = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__TARGET = NAMED_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Extended Case</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__EXTENDED_CASE = NAMED_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Extension</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__EXTENSION = NAMED_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Condition</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__CONDITION = NAMED_ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Extension Location</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND__EXTENSION_LOCATION = NAMED_ELEMENT_FEATURE_COUNT + 6;
-
-	/**
-	 * The number of structural features of the the '<em>Extend</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 7;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__EANNOTATIONS = BEHAVIORED_CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNED_ELEMENT = BEHAVIORED_CLASSIFIER__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNER = BEHAVIORED_CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNED_COMMENT = BEHAVIORED_CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__TEMPLATE_BINDING = BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNED_TEMPLATE_SIGNATURE = BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__NAME = BEHAVIORED_CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__QUALIFIED_NAME = BEHAVIORED_CLASSIFIER__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__VISIBILITY = BEHAVIORED_CLASSIFIER__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__CLIENT_DEPENDENCY = BEHAVIORED_CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__NAME_EXPRESSION = BEHAVIORED_CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__MEMBER = BEHAVIORED_CLASSIFIER__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNED_RULE = BEHAVIORED_CLASSIFIER__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__IMPORTED_MEMBER = BEHAVIORED_CLASSIFIER__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__ELEMENT_IMPORT = BEHAVIORED_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 USE_CASE__PACKAGE_IMPORT = BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__TEMPLATE_PARAMETER = BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNING_PARAMETER = BEHAVIORED_CLASSIFIER__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__PACKAGEABLE_ELEMENT_VISIBILITY = BEHAVIORED_CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__PACKAGE = BEHAVIORED_CLASSIFIER__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__REDEFINITION_CONTEXT = BEHAVIORED_CLASSIFIER__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__IS_LEAF = BEHAVIORED_CLASSIFIER__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__FEATURE = BEHAVIORED_CLASSIFIER__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__IS_ABSTRACT = BEHAVIORED_CLASSIFIER__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__INHERITED_MEMBER = BEHAVIORED_CLASSIFIER__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__GENERAL = BEHAVIORED_CLASSIFIER__GENERAL;
-
-	/**
-	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__GENERALIZATION = BEHAVIORED_CLASSIFIER__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__ATTRIBUTE = BEHAVIORED_CLASSIFIER__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__REDEFINED_CLASSIFIER = BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__POWERTYPE_EXTENT = BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__SUBSTITUTION = BEHAVIORED_CLASSIFIER__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNED_USE_CASE = BEHAVIORED_CLASSIFIER__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__REPRESENTATION = BEHAVIORED_CLASSIFIER__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OCCURRENCE = BEHAVIORED_CLASSIFIER__OCCURRENCE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Behavior</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNED_BEHAVIOR = BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR;
-
-	/**
-	 * The feature id for the '<em><b>Classifier Behavior</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__CLASSIFIER_BEHAVIOR = BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR;
-
-	/**
-	 * The feature id for the '<em><b>Implementation</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__IMPLEMENTATION = BEHAVIORED_CLASSIFIER__IMPLEMENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Owned State Machine</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__OWNED_STATE_MACHINE = BEHAVIORED_CLASSIFIER__OWNED_STATE_MACHINE;
-
-	/**
-	 * The feature id for the '<em><b>Include</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__INCLUDE = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Extend</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__EXTEND = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Extension Point</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__EXTENSION_POINT = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Subject</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE__SUBJECT = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 3;
-
-	/**
-	 * The number of structural features of the the '<em>Use Case</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE_FEATURE_COUNT = BEHAVIORED_CLASSIFIER_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__EANNOTATIONS = REDEFINABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__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 EXTENSION_POINT__OWNER = REDEFINABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__OWNED_COMMENT = REDEFINABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__TEMPLATE_BINDING = REDEFINABLE_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__OWNED_TEMPLATE_SIGNATURE = REDEFINABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__NAME = REDEFINABLE_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__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 EXTENSION_POINT__VISIBILITY = REDEFINABLE_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__CLIENT_DEPENDENCY = REDEFINABLE_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__NAME_EXPRESSION = REDEFINABLE_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__REDEFINITION_CONTEXT = REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__IS_LEAF = REDEFINABLE_ELEMENT__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Use Case</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT__USE_CASE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Extension Point</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT_FEATURE_COUNT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__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 INCLUDE__OWNER = NAMED_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__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 INCLUDE__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__RELATED_ELEMENT = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__SOURCE = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__TARGET = NAMED_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Including Case</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__INCLUDING_CASE = NAMED_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Addition</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE__ADDITION = NAMED_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Include</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__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 ARTIFACT__OWNER = CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__NAME = CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__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 ARTIFACT__VISIBILITY = CLASSIFIER__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__MEMBER = CLASSIFIER__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__OWNED_RULE = CLASSIFIER__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__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 ARTIFACT__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__PACKAGE = CLASSIFIER__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__IS_LEAF = CLASSIFIER__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__FEATURE = CLASSIFIER__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__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 ARTIFACT__GENERALIZATION = CLASSIFIER__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__REPRESENTATION = CLASSIFIER__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__OCCURRENCE = CLASSIFIER__OCCURRENCE;
-
-	/**
-	 * The feature id for the '<em><b>File Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__FILE_NAME = CLASSIFIER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Nested Artifact</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__NESTED_ARTIFACT = CLASSIFIER_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Manifestation</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__MANIFESTATION = CLASSIFIER_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__OWNED_OPERATION = CLASSIFIER_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT__OWNED_ATTRIBUTE = CLASSIFIER_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Artifact</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__EANNOTATIONS = ABSTRACTION__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__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 MANIFESTATION__OWNER = ABSTRACTION__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__OWNED_COMMENT = ABSTRACTION__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__TEMPLATE_BINDING = ABSTRACTION__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__OWNED_TEMPLATE_SIGNATURE = ABSTRACTION__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__NAME = ABSTRACTION__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__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 MANIFESTATION__VISIBILITY = ABSTRACTION__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__CLIENT_DEPENDENCY = ABSTRACTION__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__NAME_EXPRESSION = ABSTRACTION__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__TEMPLATE_PARAMETER = ABSTRACTION__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__OWNING_PARAMETER = ABSTRACTION__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__PACKAGEABLE_ELEMENT_VISIBILITY = ABSTRACTION__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__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 MANIFESTATION__SOURCE = ABSTRACTION__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__TARGET = ABSTRACTION__TARGET;
-
-	/**
-	 * The feature id for the '<em><b>Client</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__CLIENT = ABSTRACTION__CLIENT;
-
-	/**
-	 * The feature id for the '<em><b>Supplier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__SUPPLIER = ABSTRACTION__SUPPLIER;
-
-	/**
-	 * The feature id for the '<em><b>Mapping</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__MAPPING = ABSTRACTION__MAPPING;
-
-	/**
-	 * The feature id for the '<em><b>Utilized Element</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION__UTILIZED_ELEMENT = ABSTRACTION_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Manifestation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION_FEATURE_COUNT = ABSTRACTION_FEATURE_COUNT + 1;
-
-	/**
-	 * 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;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__OWNED_ELEMENT = MULTIPLICITY_ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__OWNER = MULTIPLICITY_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__OWNED_COMMENT = MULTIPLICITY_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__IS_ORDERED = MULTIPLICITY_ELEMENT__IS_ORDERED;
-
-	/**
-	 * The feature id for the '<em><b>Is Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__IS_UNIQUE = MULTIPLICITY_ELEMENT__IS_UNIQUE;
-
-	/**
-	 * The feature id for the '<em><b>Lower</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__LOWER = MULTIPLICITY_ELEMENT__LOWER;
-
-	/**
-	 * The feature id for the '<em><b>Upper</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__UPPER = MULTIPLICITY_ELEMENT__UPPER;
-
-	/**
-	 * The feature id for the '<em><b>Upper Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__UPPER_VALUE = MULTIPLICITY_ELEMENT__UPPER_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Lower Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__LOWER_VALUE = MULTIPLICITY_ELEMENT__LOWER_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Defining End</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__DEFINING_END = MULTIPLICITY_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Role</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__ROLE = MULTIPLICITY_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Part With Port</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END__PART_WITH_PORT = MULTIPLICITY_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the the '<em>Connector End</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END_FEATURE_COUNT = MULTIPLICITY_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__EANNOTATIONS = FEATURE__EANNOTATIONS;
-
-	/**
-	 * 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>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>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__TEMPLATE_BINDING = FEATURE__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__OWNED_TEMPLATE_SIGNATURE = FEATURE__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * 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>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>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 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>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>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>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>Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__TYPE = FEATURE_FEATURE_COUNT + 0;
-
-	/**
-	 * 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 + 1;
-
-	/**
-	 * 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 + 2;
-
-	/**
-	 * 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 + 3;
-
-	/**
-	 * 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 + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Connector</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_FEATURE_COUNT = FEATURE_FEATURE_COUNT + 5;
-
-	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TemplateSignatureImpl <em>Template Signature</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -22088,7 +22088,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTemplateSignature()
 	 * @generated
 	 */
-	int TEMPLATE_SIGNATURE = 95;
+	int TEMPLATE_SIGNATURE = 121;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TemplateParameterImpl <em>Template Parameter</em>}' class.
@@ -22098,7 +22098,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTemplateParameter()
 	 * @generated
 	 */
-	int TEMPLATE_PARAMETER = 96;
+	int TEMPLATE_PARAMETER = 122;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.StringExpressionImpl <em>String Expression</em>}' class.
@@ -22108,7 +22108,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getStringExpression()
 	 * @generated
 	 */
-	int STRING_EXPRESSION = 98;
+	int STRING_EXPRESSION = 124;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ParameterableElementImpl <em>Parameterable Element</em>}' class.
@@ -22118,7 +22118,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getParameterableElement()
 	 * @generated
 	 */
-	int PARAMETERABLE_ELEMENT = 99;
+	int PARAMETERABLE_ELEMENT = 125;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TemplateBindingImpl <em>Template Binding</em>}' class.
@@ -22128,7 +22128,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTemplateBinding()
 	 * @generated
 	 */
-	int TEMPLATE_BINDING = 100;
+	int TEMPLATE_BINDING = 126;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl <em>Template Parameter Substitution</em>}' class.
@@ -22138,7 +22138,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTemplateParameterSubstitution()
 	 * @generated
 	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION = 101;
+	int TEMPLATE_PARAMETER_SUBSTITUTION = 127;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CollaborationImpl <em>Collaboration</em>}' class.
@@ -22158,7 +22158,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getOperationTemplateParameter()
 	 * @generated
 	 */
-	int OPERATION_TEMPLATE_PARAMETER = 102;
+	int OPERATION_TEMPLATE_PARAMETER = 128;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ClassifierTemplateParameterImpl <em>Classifier Template Parameter</em>}' class.
@@ -22168,7 +22168,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getClassifierTemplateParameter()
 	 * @generated
 	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER = 103;
+	int CLASSIFIER_TEMPLATE_PARAMETER = 129;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ParameterableClassifierImpl <em>Parameterable Classifier</em>}' class.
@@ -22178,7 +22178,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getParameterableClassifier()
 	 * @generated
 	 */
-	int PARAMETERABLE_CLASSIFIER = 104;
+	int PARAMETERABLE_CLASSIFIER = 130;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.RedefinableTemplateSignatureImpl <em>Redefinable Template Signature</em>}' class.
@@ -22188,7 +22188,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getRedefinableTemplateSignature()
 	 * @generated
 	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE = 105;
+	int REDEFINABLE_TEMPLATE_SIGNATURE = 131;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TemplateableClassifierImpl <em>Templateable Classifier</em>}' class.
@@ -22198,7 +22198,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTemplateableClassifier()
 	 * @generated
 	 */
-	int TEMPLATEABLE_CLASSIFIER = 106;
+	int TEMPLATEABLE_CLASSIFIER = 132;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ConnectableElementTemplateParameterImpl <em>Connectable Element Template Parameter</em>}' class.
@@ -22208,7 +22208,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getConnectableElementTemplateParameter()
 	 * @generated
 	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER = 107;
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER = 133;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ForkNodeImpl <em>Fork Node</em>}' class.
@@ -22218,7 +22218,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getForkNode()
 	 * @generated
 	 */
-	int FORK_NODE = 182;
+	int FORK_NODE = 142;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.JoinNodeImpl <em>Join Node</em>}' class.
@@ -22228,7 +22228,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getJoinNode()
 	 * @generated
 	 */
-	int JOIN_NODE = 183;
+	int JOIN_NODE = 143;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.FlowFinalNodeImpl <em>Flow Final Node</em>}' class.
@@ -22238,7 +22238,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getFlowFinalNode()
 	 * @generated
 	 */
-	int FLOW_FINAL_NODE = 184;
+	int FLOW_FINAL_NODE = 144;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CentralBufferNodeImpl <em>Central Buffer Node</em>}' class.
@@ -22248,7 +22248,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCentralBufferNode()
 	 * @generated
 	 */
-	int CENTRAL_BUFFER_NODE = 185;
+	int CENTRAL_BUFFER_NODE = 145;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ActivityPartitionImpl <em>Activity Partition</em>}' class.
@@ -22258,7 +22258,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getActivityPartition()
 	 * @generated
 	 */
-	int ACTIVITY_PARTITION = 186;
+	int ACTIVITY_PARTITION = 146;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PortImpl <em>Port</em>}' class.
@@ -22268,7 +22268,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPort()
 	 * @generated
 	 */
-	int PORT = 123;
+	int PORT = 105;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ExpansionNodeImpl <em>Expansion Node</em>}' class.
@@ -22308,7 +22308,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInteraction()
 	 * @generated
 	 */
-	int INTERACTION = 108;
+	int INTERACTION = 95;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InteractionFragmentImpl <em>Interaction Fragment</em>}' class.
@@ -22318,7 +22318,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInteractionFragment()
 	 * @generated
 	 */
-	int INTERACTION_FRAGMENT = 109;
+	int INTERACTION_FRAGMENT = 96;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.LifelineImpl <em>Lifeline</em>}' class.
@@ -22328,7 +22328,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getLifeline()
 	 * @generated
 	 */
-	int LIFELINE = 110;
+	int LIFELINE = 97;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.MessageImpl <em>Message</em>}' class.
@@ -22338,7 +22338,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getMessage()
 	 * @generated
 	 */
-	int MESSAGE = 111;
+	int MESSAGE = 98;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.GeneralOrderingImpl <em>General Ordering</em>}' class.
@@ -22348,7 +22348,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getGeneralOrdering()
 	 * @generated
 	 */
-	int GENERAL_ORDERING = 112;
+	int GENERAL_ORDERING = 99;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.MessageEndImpl <em>Message End</em>}' class.
@@ -22358,7 +22358,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getMessageEnd()
 	 * @generated
 	 */
-	int MESSAGE_END = 113;
+	int MESSAGE_END = 100;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.EventOccurrenceImpl <em>Event Occurrence</em>}' class.
@@ -22368,7 +22368,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getEventOccurrence()
 	 * @generated
 	 */
-	int EVENT_OCCURRENCE = 114;
+	int EVENT_OCCURRENCE = 101;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ExecutionOccurrenceImpl <em>Execution Occurrence</em>}' class.
@@ -22378,7 +22378,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getExecutionOccurrence()
 	 * @generated
 	 */
-	int EXECUTION_OCCURRENCE = 115;
+	int EXECUTION_OCCURRENCE = 102;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.StateInvariantImpl <em>State Invariant</em>}' class.
@@ -22388,7 +22388,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getStateInvariant()
 	 * @generated
 	 */
-	int STATE_INVARIANT = 116;
+	int STATE_INVARIANT = 103;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.StopImpl <em>Stop</em>}' class.
@@ -22398,7 +22398,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getStop()
 	 * @generated
 	 */
-	int STOP = 117;
+	int STOP = 104;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CollaborationOccurrenceImpl <em>Collaboration Occurrence</em>}' class.
@@ -22418,7 +22418,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCreateObjectAction()
 	 * @generated
 	 */
-	int CREATE_OBJECT_ACTION = 149;
+	int CREATE_OBJECT_ACTION = 147;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DestroyObjectActionImpl <em>Destroy Object Action</em>}' class.
@@ -22428,7 +22428,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDestroyObjectAction()
 	 * @generated
 	 */
-	int DESTROY_OBJECT_ACTION = 150;
+	int DESTROY_OBJECT_ACTION = 148;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TestIdentityActionImpl <em>Test Identity Action</em>}' class.
@@ -22438,7 +22438,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTestIdentityAction()
 	 * @generated
 	 */
-	int TEST_IDENTITY_ACTION = 151;
+	int TEST_IDENTITY_ACTION = 149;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReadSelfActionImpl <em>Read Self Action</em>}' class.
@@ -22448,7 +22448,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReadSelfAction()
 	 * @generated
 	 */
-	int READ_SELF_ACTION = 152;
+	int READ_SELF_ACTION = 150;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.StructuralFeatureActionImpl <em>Structural Feature Action</em>}' class.
@@ -22458,7 +22458,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getStructuralFeatureAction()
 	 * @generated
 	 */
-	int STRUCTURAL_FEATURE_ACTION = 153;
+	int STRUCTURAL_FEATURE_ACTION = 151;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReadStructuralFeatureActionImpl <em>Read Structural Feature Action</em>}' class.
@@ -22468,7 +22468,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReadStructuralFeatureAction()
 	 * @generated
 	 */
-	int READ_STRUCTURAL_FEATURE_ACTION = 154;
+	int READ_STRUCTURAL_FEATURE_ACTION = 152;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.WriteStructuralFeatureActionImpl <em>Write Structural Feature Action</em>}' class.
@@ -22478,7 +22478,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getWriteStructuralFeatureAction()
 	 * @generated
 	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION = 155;
+	int WRITE_STRUCTURAL_FEATURE_ACTION = 153;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ClearStructuralFeatureActionImpl <em>Clear Structural Feature Action</em>}' class.
@@ -22488,7 +22488,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getClearStructuralFeatureAction()
 	 * @generated
 	 */
-	int CLEAR_STRUCTURAL_FEATURE_ACTION = 156;
+	int CLEAR_STRUCTURAL_FEATURE_ACTION = 154;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.RemoveStructuralFeatureValueActionImpl <em>Remove Structural Feature Value Action</em>}' class.
@@ -22498,7 +22498,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getRemoveStructuralFeatureValueAction()
 	 * @generated
 	 */
-	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION = 157;
+	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION = 155;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.AddStructuralFeatureValueActionImpl <em>Add Structural Feature Value Action</em>}' class.
@@ -22508,7 +22508,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getAddStructuralFeatureValueAction()
 	 * @generated
 	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION = 158;
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION = 156;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.LinkActionImpl <em>Link Action</em>}' class.
@@ -22518,7 +22518,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getLinkAction()
 	 * @generated
 	 */
-	int LINK_ACTION = 159;
+	int LINK_ACTION = 157;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.LinkEndDataImpl <em>Link End Data</em>}' class.
@@ -22528,7 +22528,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getLinkEndData()
 	 * @generated
 	 */
-	int LINK_END_DATA = 160;
+	int LINK_END_DATA = 158;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReadLinkActionImpl <em>Read Link Action</em>}' class.
@@ -22538,7 +22538,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReadLinkAction()
 	 * @generated
 	 */
-	int READ_LINK_ACTION = 161;
+	int READ_LINK_ACTION = 159;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.LinkEndCreationDataImpl <em>Link End Creation Data</em>}' class.
@@ -22548,7 +22548,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getLinkEndCreationData()
 	 * @generated
 	 */
-	int LINK_END_CREATION_DATA = 162;
+	int LINK_END_CREATION_DATA = 160;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.WriteLinkActionImpl <em>Write Link Action</em>}' class.
@@ -22558,7 +22558,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getWriteLinkAction()
 	 * @generated
 	 */
-	int WRITE_LINK_ACTION = 164;
+	int WRITE_LINK_ACTION = 162;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CreateLinkActionImpl <em>Create Link Action</em>}' class.
@@ -22568,7 +22568,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCreateLinkAction()
 	 * @generated
 	 */
-	int CREATE_LINK_ACTION = 163;
+	int CREATE_LINK_ACTION = 161;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DestroyLinkActionImpl <em>Destroy Link Action</em>}' class.
@@ -22578,7 +22578,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDestroyLinkAction()
 	 * @generated
 	 */
-	int DESTROY_LINK_ACTION = 165;
+	int DESTROY_LINK_ACTION = 163;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ClearAssociationActionImpl <em>Clear Association Action</em>}' class.
@@ -22588,7 +22588,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getClearAssociationAction()
 	 * @generated
 	 */
-	int CLEAR_ASSOCIATION_ACTION = 166;
+	int CLEAR_ASSOCIATION_ACTION = 164;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.VariableActionImpl <em>Variable Action</em>}' class.
@@ -22598,7 +22598,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getVariableAction()
 	 * @generated
 	 */
-	int VARIABLE_ACTION = 167;
+	int VARIABLE_ACTION = 165;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReadVariableActionImpl <em>Read Variable Action</em>}' class.
@@ -22608,7 +22608,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReadVariableAction()
 	 * @generated
 	 */
-	int READ_VARIABLE_ACTION = 168;
+	int READ_VARIABLE_ACTION = 166;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.WriteVariableActionImpl <em>Write Variable Action</em>}' class.
@@ -22618,7 +22618,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getWriteVariableAction()
 	 * @generated
 	 */
-	int WRITE_VARIABLE_ACTION = 169;
+	int WRITE_VARIABLE_ACTION = 167;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ClearVariableActionImpl <em>Clear Variable Action</em>}' class.
@@ -22628,7 +22628,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getClearVariableAction()
 	 * @generated
 	 */
-	int CLEAR_VARIABLE_ACTION = 170;
+	int CLEAR_VARIABLE_ACTION = 168;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.AddVariableValueActionImpl <em>Add Variable Value Action</em>}' class.
@@ -22638,7 +22638,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getAddVariableValueAction()
 	 * @generated
 	 */
-	int ADD_VARIABLE_VALUE_ACTION = 171;
+	int ADD_VARIABLE_VALUE_ACTION = 169;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.RemoveVariableValueActionImpl <em>Remove Variable Value Action</em>}' class.
@@ -22648,7 +22648,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getRemoveVariableValueAction()
 	 * @generated
 	 */
-	int REMOVE_VARIABLE_VALUE_ACTION = 172;
+	int REMOVE_VARIABLE_VALUE_ACTION = 170;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ApplyFunctionActionImpl <em>Apply Function Action</em>}' class.
@@ -22658,7 +22658,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getApplyFunctionAction()
 	 * @generated
 	 */
-	int APPLY_FUNCTION_ACTION = 173;
+	int APPLY_FUNCTION_ACTION = 171;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PrimitiveFunctionImpl <em>Primitive Function</em>}' class.
@@ -22668,7 +22668,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPrimitiveFunction()
 	 * @generated
 	 */
-	int PRIMITIVE_FUNCTION = 174;
+	int PRIMITIVE_FUNCTION = 172;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InvocationActionImpl <em>Invocation Action</em>}' class.
@@ -22678,7 +22678,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInvocationAction()
 	 * @generated
 	 */
-	int INVOCATION_ACTION = 176;
+	int INVOCATION_ACTION = 174;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CallActionImpl <em>Call Action</em>}' class.
@@ -22688,7 +22688,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCallAction()
 	 * @generated
 	 */
-	int CALL_ACTION = 175;
+	int CALL_ACTION = 173;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.SendSignalActionImpl <em>Send Signal Action</em>}' class.
@@ -22698,7 +22698,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getSendSignalAction()
 	 * @generated
 	 */
-	int SEND_SIGNAL_ACTION = 177;
+	int SEND_SIGNAL_ACTION = 175;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.BroadcastSignalActionImpl <em>Broadcast Signal Action</em>}' class.
@@ -22708,7 +22708,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getBroadcastSignalAction()
 	 * @generated
 	 */
-	int BROADCAST_SIGNAL_ACTION = 178;
+	int BROADCAST_SIGNAL_ACTION = 176;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.SendObjectActionImpl <em>Send Object Action</em>}' class.
@@ -22718,7 +22718,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getSendObjectAction()
 	 * @generated
 	 */
-	int SEND_OBJECT_ACTION = 179;
+	int SEND_OBJECT_ACTION = 177;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CallOperationActionImpl <em>Call Operation Action</em>}' class.
@@ -22728,7 +22728,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCallOperationAction()
 	 * @generated
 	 */
-	int CALL_OPERATION_ACTION = 180;
+	int CALL_OPERATION_ACTION = 178;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CallBehaviorActionImpl <em>Call Behavior Action</em>}' class.
@@ -22738,7 +22738,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCallBehaviorAction()
 	 * @generated
 	 */
-	int CALL_BEHAVIOR_ACTION = 181;
+	int CALL_BEHAVIOR_ACTION = 179;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.StateMachineImpl <em>State Machine</em>}' class.
@@ -22748,7 +22748,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getStateMachine()
 	 * @generated
 	 */
-	int STATE_MACHINE = 141;
+	int STATE_MACHINE = 134;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.RegionImpl <em>Region</em>}' class.
@@ -22758,7 +22758,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getRegion()
 	 * @generated
 	 */
-	int REGION = 142;
+	int REGION = 135;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.VertexImpl <em>Vertex</em>}' class.
@@ -22768,7 +22768,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getVertex()
 	 * @generated
 	 */
-	int VERTEX = 145;
+	int VERTEX = 138;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PseudostateImpl <em>Pseudostate</em>}' class.
@@ -22778,7 +22778,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPseudostate()
 	 * @generated
 	 */
-	int PSEUDOSTATE = 143;
+	int PSEUDOSTATE = 136;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.StateImpl <em>State</em>}' class.
@@ -22788,7 +22788,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getState()
 	 * @generated
 	 */
-	int STATE = 144;
+	int STATE = 137;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ConnectionPointReferenceImpl <em>Connection Point Reference</em>}' class.
@@ -22798,7 +22798,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getConnectionPointReference()
 	 * @generated
 	 */
-	int CONNECTION_POINT_REFERENCE = 146;
+	int CONNECTION_POINT_REFERENCE = 139;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TransitionImpl <em>Transition</em>}' class.
@@ -22808,7 +22808,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTransition()
 	 * @generated
 	 */
-	int TRANSITION = 147;
+	int TRANSITION = 140;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.FinalStateImpl <em>Final State</em>}' class.
@@ -22818,7 +22818,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getFinalState()
 	 * @generated
 	 */
-	int FINAL_STATE = 148;
+	int FINAL_STATE = 141;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -23208,15 +23208,6 @@
 	int COLLABORATION__REDEFINED_CLASSIFIER = BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLLABORATION__POWERTYPE_EXTENT = BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -23226,6 +23217,15 @@
 	int COLLABORATION__SUBSTITUTION = BEHAVIORED_CLASSIFIER__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COLLABORATION__POWERTYPE_EXTENT = BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -23349,1590 +23349,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TEMPLATE_SIGNATURE__EANNOTATIONS = ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_SIGNATURE__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 TEMPLATE_SIGNATURE__OWNER = ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_SIGNATURE__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Parameter</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_SIGNATURE__PARAMETER = ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Owned Parameter</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_SIGNATURE__OWNED_PARAMETER = ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Nested Signature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_SIGNATURE__NESTED_SIGNATURE = ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Nesting Signature</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_SIGNATURE__NESTING_SIGNATURE = ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Template</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_SIGNATURE__TEMPLATE = ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Template Signature</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_SIGNATURE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER__EANNOTATIONS = ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER__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 TEMPLATE_PARAMETER__OWNER = ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Signature</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER__SIGNATURE = ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = 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 + 2;
-
-	/**
-	 * The feature id for the '<em><b>Default</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER__DEFAULT = ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * 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 + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Template Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION__EANNOTATIONS = TEMPLATEABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION__OWNED_ELEMENT = TEMPLATEABLE_ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION__OWNER = TEMPLATEABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION__OWNED_COMMENT = TEMPLATEABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION__TEMPLATE_BINDING = TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE = TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Sub Expression</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION__SUB_EXPRESSION = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Owning Expression</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION__OWNING_EXPRESSION = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>String Expression</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION_FEATURE_COUNT = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_ELEMENT__EANNOTATIONS = ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_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 PARAMETERABLE_ELEMENT__OWNER = ELEMENT__OWNER;
-
-	/**
-	 * 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__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER = ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_ELEMENT__OWNING_PARAMETER = ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>Parameterable Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__EANNOTATIONS = DIRECTED_RELATIONSHIP__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__OWNED_ELEMENT = DIRECTED_RELATIONSHIP__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__OWNER = DIRECTED_RELATIONSHIP__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__OWNED_COMMENT = DIRECTED_RELATIONSHIP__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__RELATED_ELEMENT = DIRECTED_RELATIONSHIP__RELATED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__SOURCE = DIRECTED_RELATIONSHIP__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__TARGET = DIRECTED_RELATIONSHIP__TARGET;
-
-	/**
-	 * The feature id for the '<em><b>Bound Element</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__BOUND_ELEMENT = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Signature</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__SIGNATURE = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Parameter Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING__PARAMETER_SUBSTITUTION = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the the '<em>Template Binding</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_BINDING_FEATURE_COUNT = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION__EANNOTATIONS = ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION__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 TEMPLATE_PARAMETER_SUBSTITUTION__OWNER = ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Formal</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL = ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING = ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Actual</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL = ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Owned Actual</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL = ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The number of structural features of the the '<em>Template Parameter Substitution</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * 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;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION_TEMPLATE_PARAMETER__OWNED_ELEMENT = TEMPLATE_PARAMETER__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION_TEMPLATE_PARAMETER__OWNER = TEMPLATE_PARAMETER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION_TEMPLATE_PARAMETER__OWNED_COMMENT = TEMPLATE_PARAMETER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Signature</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION_TEMPLATE_PARAMETER__SIGNATURE = TEMPLATE_PARAMETER__SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Default</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	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 number of structural features of the the '<em>Operation Template Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION_TEMPLATE_PARAMETER_FEATURE_COUNT = TEMPLATE_PARAMETER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__EANNOTATIONS = TEMPLATE_PARAMETER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_ELEMENT = TEMPLATE_PARAMETER__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__OWNER = TEMPLATE_PARAMETER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_COMMENT = TEMPLATE_PARAMETER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Signature</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE = TEMPLATE_PARAMETER__SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Default</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	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>Allow Substitutable</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE = TEMPLATE_PARAMETER_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Classifier Template Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER_FEATURE_COUNT = TEMPLATE_PARAMETER_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_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 PARAMETERABLE_CLASSIFIER__OWNER = CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__NAME = CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_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 PARAMETERABLE_CLASSIFIER__VISIBILITY = CLASSIFIER__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__MEMBER = CLASSIFIER__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__OWNED_RULE = CLASSIFIER__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_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 PARAMETERABLE_CLASSIFIER__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__PACKAGE = CLASSIFIER__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__IS_LEAF = CLASSIFIER__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__FEATURE = CLASSIFIER__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_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 PARAMETERABLE_CLASSIFIER__GENERALIZATION = CLASSIFIER__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__REPRESENTATION = CLASSIFIER__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER__OCCURRENCE = CLASSIFIER__OCCURRENCE;
-
-	/**
-	 * The number of structural features of the the '<em>Parameterable Classifier</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_CLASSIFIER_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__EANNOTATIONS = REDEFINABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__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 REDEFINABLE_TEMPLATE_SIGNATURE__OWNER = REDEFINABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_COMMENT = REDEFINABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE_BINDING = REDEFINABLE_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_TEMPLATE_SIGNATURE = REDEFINABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__NAME = REDEFINABLE_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__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 REDEFINABLE_TEMPLATE_SIGNATURE__VISIBILITY = REDEFINABLE_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__CLIENT_DEPENDENCY = REDEFINABLE_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__NAME_EXPRESSION = REDEFINABLE_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINITION_CONTEXT = REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__IS_LEAF = REDEFINABLE_ELEMENT__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Parameter</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER = REDEFINABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Owned Parameter</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Nested Signature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__NESTED_SIGNATURE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Nesting Signature</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__NESTING_SIGNATURE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Template</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Redefinable Template Signature</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE_FEATURE_COUNT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_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 TEMPLATEABLE_CLASSIFIER__OWNER = CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__NAME = CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_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 TEMPLATEABLE_CLASSIFIER__VISIBILITY = CLASSIFIER__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__MEMBER = CLASSIFIER__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__OWNED_RULE = CLASSIFIER__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_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 TEMPLATEABLE_CLASSIFIER__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__PACKAGE = CLASSIFIER__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__IS_LEAF = CLASSIFIER__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__FEATURE = CLASSIFIER__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_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 TEMPLATEABLE_CLASSIFIER__GENERALIZATION = CLASSIFIER__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__REPRESENTATION = CLASSIFIER__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER__OCCURRENCE = CLASSIFIER__OCCURRENCE;
-
-	/**
-	 * The number of structural features of the the '<em>Templateable Classifier</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATEABLE_CLASSIFIER_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__EANNOTATIONS = TEMPLATE_PARAMETER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_ELEMENT = TEMPLATE_PARAMETER__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNER = TEMPLATE_PARAMETER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_COMMENT = TEMPLATE_PARAMETER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Signature</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__SIGNATURE = TEMPLATE_PARAMETER__SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Default</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	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 number of structural features of the the '<em>Connectable Element Template Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER_FEATURE_COUNT = TEMPLATE_PARAMETER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int INTERACTION__EANNOTATIONS = BEHAVIOR__EANNOTATIONS;
 
 	/**
@@ -25188,15 +23604,6 @@
 	int INTERACTION__REDEFINED_CLASSIFIER = BEHAVIOR__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION__POWERTYPE_EXTENT = BEHAVIOR__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -25206,6 +23613,15 @@
 	int INTERACTION__SUBSTITUTION = BEHAVIOR__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION__POWERTYPE_EXTENT = BEHAVIOR__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -26985,1455 +25401,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE__EANNOTATIONS = CONNECTABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__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 VARIABLE__OWNER = CONNECTABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__OWNED_COMMENT = CONNECTABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__TEMPLATE_BINDING = CONNECTABLE_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__OWNED_TEMPLATE_SIGNATURE = CONNECTABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__NAME = CONNECTABLE_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__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 VARIABLE__VISIBILITY = CONNECTABLE_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__CLIENT_DEPENDENCY = CONNECTABLE_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__NAME_EXPRESSION = CONNECTABLE_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__TEMPLATE_PARAMETER = CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__OWNING_PARAMETER = CONNECTABLE_ELEMENT__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>End</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__END = CONNECTABLE_ELEMENT__END;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__TYPE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Scope</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE__SCOPE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>Variable</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE_FEATURE_COUNT = CONNECTABLE_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__EANNOTATIONS = ACTION__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT = ACTION__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__OWNER = ACTION__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT = ACTION__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__TEMPLATE_BINDING = ACTION__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__OWNED_TEMPLATE_SIGNATURE = ACTION__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__NAME = ACTION__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__QUALIFIED_NAME = ACTION__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__VISIBILITY = ACTION__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY = ACTION__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION = ACTION__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__IS_LEAF = ACTION__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__OUTGOING = ACTION__OUTGOING;
-
-	/**
-	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	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>Activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__ACTIVITY = ACTION__ACTIVITY;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__REDEFINED_ELEMENT = ACTION__REDEFINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE = ACTION__IN_STRUCTURED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__IN_PARTITION = ACTION__IN_PARTITION;
-
-	/**
-	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION = ACTION__IN_INTERRUPTIBLE_REGION;
-
-	/**
-	 * The feature id for the '<em><b>Handler</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__HANDLER = ACTION__HANDLER;
-
-	/**
-	 * The feature id for the '<em><b>Effect</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__EFFECT = ACTION__EFFECT;
-
-	/**
-	 * The feature id for the '<em><b>Output</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__OUTPUT = ACTION__OUTPUT;
-
-	/**
-	 * The feature id for the '<em><b>Input</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__INPUT = ACTION__INPUT;
-
-	/**
-	 * The feature id for the '<em><b>Context</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__CONTEXT = ACTION__CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Local Precondition</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION = ACTION__LOCAL_PRECONDITION;
-
-	/**
-	 * The feature id for the '<em><b>Local Postcondition</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION = ACTION__LOCAL_POSTCONDITION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__MEMBER = ACTION_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__OWNED_RULE = ACTION_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER = ACTION_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT = ACTION_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT = ACTION_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Super Group</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__SUPER_GROUP = ACTION_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__ACTIVITY_GROUP_ACTIVITY = ACTION_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Variable</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__VARIABLE = ACTION_FEATURE_COUNT + 7;
-
-	/**
-	 * The feature id for the '<em><b>Contained Node</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE = ACTION_FEATURE_COUNT + 8;
-
-	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE = ACTION_FEATURE_COUNT + 9;
-
-	/**
-	 * The feature id for the '<em><b>Must Isolate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE = ACTION_FEATURE_COUNT + 10;
-
-	/**
-	 * The number of structural features of the the '<em>Structured Activity Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT = ACTION_FEATURE_COUNT + 11;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__EANNOTATIONS = STRUCTURED_ACTIVITY_NODE__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__OWNED_ELEMENT = STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__OWNER = STRUCTURED_ACTIVITY_NODE__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__OWNED_COMMENT = STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__TEMPLATE_BINDING = STRUCTURED_ACTIVITY_NODE__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__OWNED_TEMPLATE_SIGNATURE = STRUCTURED_ACTIVITY_NODE__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__NAME = STRUCTURED_ACTIVITY_NODE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__QUALIFIED_NAME = STRUCTURED_ACTIVITY_NODE__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__VISIBILITY = STRUCTURED_ACTIVITY_NODE__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__CLIENT_DEPENDENCY = STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__NAME_EXPRESSION = STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__REDEFINITION_CONTEXT = STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__IS_LEAF = STRUCTURED_ACTIVITY_NODE__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__OUTGOING = STRUCTURED_ACTIVITY_NODE__OUTGOING;
-
-	/**
-	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	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>Activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__REDEFINED_ELEMENT = STRUCTURED_ACTIVITY_NODE__REDEFINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__IN_STRUCTURED_NODE = STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__IN_PARTITION = STRUCTURED_ACTIVITY_NODE__IN_PARTITION;
-
-	/**
-	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__IN_INTERRUPTIBLE_REGION = STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION;
-
-	/**
-	 * The feature id for the '<em><b>Handler</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__HANDLER = STRUCTURED_ACTIVITY_NODE__HANDLER;
-
-	/**
-	 * The feature id for the '<em><b>Effect</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__EFFECT = STRUCTURED_ACTIVITY_NODE__EFFECT;
-
-	/**
-	 * The feature id for the '<em><b>Output</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__OUTPUT = STRUCTURED_ACTIVITY_NODE__OUTPUT;
-
-	/**
-	 * The feature id for the '<em><b>Input</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__INPUT = STRUCTURED_ACTIVITY_NODE__INPUT;
-
-	/**
-	 * The feature id for the '<em><b>Context</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__CONTEXT = STRUCTURED_ACTIVITY_NODE__CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Local Precondition</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__LOCAL_PRECONDITION = STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION;
-
-	/**
-	 * The feature id for the '<em><b>Local Postcondition</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__LOCAL_POSTCONDITION = STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__MEMBER = STRUCTURED_ACTIVITY_NODE__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__OWNED_RULE = STRUCTURED_ACTIVITY_NODE__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__IMPORTED_MEMBER = STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__ELEMENT_IMPORT = STRUCTURED_ACTIVITY_NODE__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 CONDITIONAL_NODE__PACKAGE_IMPORT = STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Super Group</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__SUPER_GROUP = STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
-
-	/**
-	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__ACTIVITY_GROUP_ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY_GROUP_ACTIVITY;
-
-	/**
-	 * The feature id for the '<em><b>Variable</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__VARIABLE = STRUCTURED_ACTIVITY_NODE__VARIABLE;
-
-	/**
-	 * The feature id for the '<em><b>Contained Node</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__CONTAINED_NODE = STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' containment 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 -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__MUST_ISOLATE = STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE;
-
-	/**
-	 * The feature id for the '<em><b>Is Determinate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__IS_DETERMINATE = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Is Assured</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__IS_ASSURED = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Clause</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__CLAUSE = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Result</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__RESULT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 3;
-
-	/**
-	 * The number of structural features of the the '<em>Conditional Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE_FEATURE_COUNT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__EANNOTATIONS = ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__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 CLAUSE__OWNER = ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Test</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__TEST = ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Body</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__BODY = ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Predecessor Clause</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__PREDECESSOR_CLAUSE = ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Successor Clause</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__SUCCESSOR_CLAUSE = ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Decider</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__DECIDER = ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Body Output</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE__BODY_OUTPUT = ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The number of structural features of the the '<em>Clause</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__EANNOTATIONS = STRUCTURED_ACTIVITY_NODE__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__OWNED_ELEMENT = STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__OWNER = STRUCTURED_ACTIVITY_NODE__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__OWNED_COMMENT = STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__TEMPLATE_BINDING = STRUCTURED_ACTIVITY_NODE__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__OWNED_TEMPLATE_SIGNATURE = STRUCTURED_ACTIVITY_NODE__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__NAME = STRUCTURED_ACTIVITY_NODE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__QUALIFIED_NAME = STRUCTURED_ACTIVITY_NODE__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__VISIBILITY = STRUCTURED_ACTIVITY_NODE__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__CLIENT_DEPENDENCY = STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__NAME_EXPRESSION = STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__REDEFINITION_CONTEXT = STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__IS_LEAF = STRUCTURED_ACTIVITY_NODE__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__OUTGOING = STRUCTURED_ACTIVITY_NODE__OUTGOING;
-
-	/**
-	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	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>Activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__REDEFINED_ELEMENT = STRUCTURED_ACTIVITY_NODE__REDEFINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__IN_STRUCTURED_NODE = STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__IN_PARTITION = STRUCTURED_ACTIVITY_NODE__IN_PARTITION;
-
-	/**
-	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__IN_INTERRUPTIBLE_REGION = STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION;
-
-	/**
-	 * The feature id for the '<em><b>Handler</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__HANDLER = STRUCTURED_ACTIVITY_NODE__HANDLER;
-
-	/**
-	 * The feature id for the '<em><b>Effect</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__EFFECT = STRUCTURED_ACTIVITY_NODE__EFFECT;
-
-	/**
-	 * The feature id for the '<em><b>Output</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__OUTPUT = STRUCTURED_ACTIVITY_NODE__OUTPUT;
-
-	/**
-	 * The feature id for the '<em><b>Input</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__INPUT = STRUCTURED_ACTIVITY_NODE__INPUT;
-
-	/**
-	 * The feature id for the '<em><b>Context</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__CONTEXT = STRUCTURED_ACTIVITY_NODE__CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Local Precondition</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__LOCAL_PRECONDITION = STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION;
-
-	/**
-	 * The feature id for the '<em><b>Local Postcondition</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__LOCAL_POSTCONDITION = STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__MEMBER = STRUCTURED_ACTIVITY_NODE__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__OWNED_RULE = STRUCTURED_ACTIVITY_NODE__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__IMPORTED_MEMBER = STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__ELEMENT_IMPORT = STRUCTURED_ACTIVITY_NODE__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 LOOP_NODE__PACKAGE_IMPORT = STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Super Group</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__SUPER_GROUP = STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
-
-	/**
-	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__ACTIVITY_GROUP_ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY_GROUP_ACTIVITY;
-
-	/**
-	 * The feature id for the '<em><b>Variable</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__VARIABLE = STRUCTURED_ACTIVITY_NODE__VARIABLE;
-
-	/**
-	 * The feature id for the '<em><b>Contained Node</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__CONTAINED_NODE = STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' containment 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 -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__MUST_ISOLATE = STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE;
-
-	/**
-	 * The feature id for the '<em><b>Is Tested First</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__IS_TESTED_FIRST = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Body Part</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__BODY_PART = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Setup Part</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__SETUP_PART = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Decider</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__DECIDER = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Test</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__TEST = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Result</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__RESULT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Loop Variable</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__LOOP_VARIABLE = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Body Output</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__BODY_OUTPUT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 7;
-
-	/**
-	 * The feature id for the '<em><b>Loop Variable Input</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__LOOP_VARIABLE_INPUT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 8;
-
-	/**
-	 * The number of structural features of the the '<em>Loop Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE_FEATURE_COUNT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 9;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int PORT__EANNOTATIONS = PROPERTY__EANNOTATIONS;
 
 	/**
@@ -29994,15 +26961,6 @@
 	int SIGNAL__REDEFINED_CLASSIFIER = BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SIGNAL__POWERTYPE_EXTENT = BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -30012,6 +26970,15 @@
 	int SIGNAL__SUBSTITUTION = BEHAVIORED_CLASSIFIER__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIGNAL__POWERTYPE_EXTENT = BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -30552,6 +27519,3039 @@
 	int ANY_TRIGGER_FEATURE_COUNT = MESSAGE_TRIGGER_FEATURE_COUNT + 0;
 
 	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__EANNOTATIONS = CONNECTABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__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 VARIABLE__OWNER = CONNECTABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__OWNED_COMMENT = CONNECTABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__TEMPLATE_BINDING = CONNECTABLE_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__OWNED_TEMPLATE_SIGNATURE = CONNECTABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__NAME = CONNECTABLE_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__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 VARIABLE__VISIBILITY = CONNECTABLE_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__CLIENT_DEPENDENCY = CONNECTABLE_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__NAME_EXPRESSION = CONNECTABLE_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__TEMPLATE_PARAMETER = CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__OWNING_PARAMETER = CONNECTABLE_ELEMENT__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>End</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__END = CONNECTABLE_ELEMENT__END;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__TYPE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Scope</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE__SCOPE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the the '<em>Variable</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE_FEATURE_COUNT = CONNECTABLE_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__EANNOTATIONS = ACTION__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT = ACTION__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__OWNER = ACTION__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT = ACTION__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__TEMPLATE_BINDING = ACTION__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__OWNED_TEMPLATE_SIGNATURE = ACTION__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__NAME = ACTION__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__QUALIFIED_NAME = ACTION__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__VISIBILITY = ACTION__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY = ACTION__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION = ACTION__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__IS_LEAF = ACTION__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__OUTGOING = ACTION__OUTGOING;
+
+	/**
+	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__ACTIVITY = ACTION__ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__REDEFINED_ELEMENT = ACTION__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE = ACTION__IN_STRUCTURED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__IN_PARTITION = ACTION__IN_PARTITION;
+
+	/**
+	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION = ACTION__IN_INTERRUPTIBLE_REGION;
+
+	/**
+	 * The feature id for the '<em><b>Handler</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__HANDLER = ACTION__HANDLER;
+
+	/**
+	 * The feature id for the '<em><b>Effect</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__EFFECT = ACTION__EFFECT;
+
+	/**
+	 * The feature id for the '<em><b>Output</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__OUTPUT = ACTION__OUTPUT;
+
+	/**
+	 * The feature id for the '<em><b>Input</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__INPUT = ACTION__INPUT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__CONTEXT = ACTION__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Local Precondition</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION = ACTION__LOCAL_PRECONDITION;
+
+	/**
+	 * The feature id for the '<em><b>Local Postcondition</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION = ACTION__LOCAL_POSTCONDITION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__MEMBER = ACTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__OWNED_RULE = ACTION_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER = ACTION_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__ELEMENT_IMPORT = ACTION_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT = ACTION_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Super Group</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__SUPER_GROUP = ACTION_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__ACTIVITY_GROUP_ACTIVITY = ACTION_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Variable</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__VARIABLE = ACTION_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>Contained Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE = ACTION_FEATURE_COUNT + 8;
+
+	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE = ACTION_FEATURE_COUNT + 9;
+
+	/**
+	 * The feature id for the '<em><b>Must Isolate</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE = ACTION_FEATURE_COUNT + 10;
+
+	/**
+	 * The number of structural features of the the '<em>Structured Activity Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT = ACTION_FEATURE_COUNT + 11;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__EANNOTATIONS = STRUCTURED_ACTIVITY_NODE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__OWNED_ELEMENT = STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__OWNER = STRUCTURED_ACTIVITY_NODE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__OWNED_COMMENT = STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__TEMPLATE_BINDING = STRUCTURED_ACTIVITY_NODE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__OWNED_TEMPLATE_SIGNATURE = STRUCTURED_ACTIVITY_NODE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__NAME = STRUCTURED_ACTIVITY_NODE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__QUALIFIED_NAME = STRUCTURED_ACTIVITY_NODE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__VISIBILITY = STRUCTURED_ACTIVITY_NODE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__CLIENT_DEPENDENCY = STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__NAME_EXPRESSION = STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__REDEFINITION_CONTEXT = STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__IS_LEAF = STRUCTURED_ACTIVITY_NODE__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__OUTGOING = STRUCTURED_ACTIVITY_NODE__OUTGOING;
+
+	/**
+	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__REDEFINED_ELEMENT = STRUCTURED_ACTIVITY_NODE__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__IN_STRUCTURED_NODE = STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__IN_PARTITION = STRUCTURED_ACTIVITY_NODE__IN_PARTITION;
+
+	/**
+	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__IN_INTERRUPTIBLE_REGION = STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION;
+
+	/**
+	 * The feature id for the '<em><b>Handler</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__HANDLER = STRUCTURED_ACTIVITY_NODE__HANDLER;
+
+	/**
+	 * The feature id for the '<em><b>Effect</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__EFFECT = STRUCTURED_ACTIVITY_NODE__EFFECT;
+
+	/**
+	 * The feature id for the '<em><b>Output</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__OUTPUT = STRUCTURED_ACTIVITY_NODE__OUTPUT;
+
+	/**
+	 * The feature id for the '<em><b>Input</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__INPUT = STRUCTURED_ACTIVITY_NODE__INPUT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__CONTEXT = STRUCTURED_ACTIVITY_NODE__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Local Precondition</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__LOCAL_PRECONDITION = STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION;
+
+	/**
+	 * The feature id for the '<em><b>Local Postcondition</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__LOCAL_POSTCONDITION = STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__MEMBER = STRUCTURED_ACTIVITY_NODE__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__OWNED_RULE = STRUCTURED_ACTIVITY_NODE__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__IMPORTED_MEMBER = STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__ELEMENT_IMPORT = STRUCTURED_ACTIVITY_NODE__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 CONDITIONAL_NODE__PACKAGE_IMPORT = STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Super Group</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__SUPER_GROUP = STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
+
+	/**
+	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__ACTIVITY_GROUP_ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY_GROUP_ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Variable</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__VARIABLE = STRUCTURED_ACTIVITY_NODE__VARIABLE;
+
+	/**
+	 * The feature id for the '<em><b>Contained Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__CONTAINED_NODE = STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' containment 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 -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__MUST_ISOLATE = STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE;
+
+	/**
+	 * The feature id for the '<em><b>Is Determinate</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__IS_DETERMINATE = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Assured</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__IS_ASSURED = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Clause</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__CLAUSE = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Result</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__RESULT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the the '<em>Conditional Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE_FEATURE_COUNT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__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 CLAUSE__OWNER = ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Test</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__TEST = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Body</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__BODY = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Predecessor Clause</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__PREDECESSOR_CLAUSE = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Successor Clause</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__SUCCESSOR_CLAUSE = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Decider</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__DECIDER = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Body Output</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE__BODY_OUTPUT = ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the the '<em>Clause</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__EANNOTATIONS = STRUCTURED_ACTIVITY_NODE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__OWNED_ELEMENT = STRUCTURED_ACTIVITY_NODE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__OWNER = STRUCTURED_ACTIVITY_NODE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__OWNED_COMMENT = STRUCTURED_ACTIVITY_NODE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__TEMPLATE_BINDING = STRUCTURED_ACTIVITY_NODE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__OWNED_TEMPLATE_SIGNATURE = STRUCTURED_ACTIVITY_NODE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__NAME = STRUCTURED_ACTIVITY_NODE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__QUALIFIED_NAME = STRUCTURED_ACTIVITY_NODE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__VISIBILITY = STRUCTURED_ACTIVITY_NODE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__CLIENT_DEPENDENCY = STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__NAME_EXPRESSION = STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__REDEFINITION_CONTEXT = STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__IS_LEAF = STRUCTURED_ACTIVITY_NODE__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__OUTGOING = STRUCTURED_ACTIVITY_NODE__OUTGOING;
+
+	/**
+	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__REDEFINED_ELEMENT = STRUCTURED_ACTIVITY_NODE__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__IN_STRUCTURED_NODE = STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__IN_PARTITION = STRUCTURED_ACTIVITY_NODE__IN_PARTITION;
+
+	/**
+	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__IN_INTERRUPTIBLE_REGION = STRUCTURED_ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION;
+
+	/**
+	 * The feature id for the '<em><b>Handler</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__HANDLER = STRUCTURED_ACTIVITY_NODE__HANDLER;
+
+	/**
+	 * The feature id for the '<em><b>Effect</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__EFFECT = STRUCTURED_ACTIVITY_NODE__EFFECT;
+
+	/**
+	 * The feature id for the '<em><b>Output</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__OUTPUT = STRUCTURED_ACTIVITY_NODE__OUTPUT;
+
+	/**
+	 * The feature id for the '<em><b>Input</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__INPUT = STRUCTURED_ACTIVITY_NODE__INPUT;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__CONTEXT = STRUCTURED_ACTIVITY_NODE__CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Local Precondition</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__LOCAL_PRECONDITION = STRUCTURED_ACTIVITY_NODE__LOCAL_PRECONDITION;
+
+	/**
+	 * The feature id for the '<em><b>Local Postcondition</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__LOCAL_POSTCONDITION = STRUCTURED_ACTIVITY_NODE__LOCAL_POSTCONDITION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__MEMBER = STRUCTURED_ACTIVITY_NODE__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__OWNED_RULE = STRUCTURED_ACTIVITY_NODE__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__IMPORTED_MEMBER = STRUCTURED_ACTIVITY_NODE__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__ELEMENT_IMPORT = STRUCTURED_ACTIVITY_NODE__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 LOOP_NODE__PACKAGE_IMPORT = STRUCTURED_ACTIVITY_NODE__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Super Group</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__SUPER_GROUP = STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
+
+	/**
+	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__ACTIVITY_GROUP_ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY_GROUP_ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Variable</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__VARIABLE = STRUCTURED_ACTIVITY_NODE__VARIABLE;
+
+	/**
+	 * The feature id for the '<em><b>Contained Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__CONTAINED_NODE = STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' containment 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 -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__MUST_ISOLATE = STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE;
+
+	/**
+	 * The feature id for the '<em><b>Is Tested First</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__IS_TESTED_FIRST = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Body Part</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__BODY_PART = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Setup Part</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__SETUP_PART = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Decider</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__DECIDER = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Test</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__TEST = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Result</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__RESULT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Loop Variable</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__LOOP_VARIABLE = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Body Output</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__BODY_OUTPUT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>Loop Variable Input</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__LOOP_VARIABLE_INPUT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 8;
+
+	/**
+	 * The number of structural features of the the '<em>Loop Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE_FEATURE_COUNT = STRUCTURED_ACTIVITY_NODE_FEATURE_COUNT + 9;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE__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 TEMPLATE_SIGNATURE__OWNER = ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Parameter</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE__PARAMETER = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Owned Parameter</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE__OWNED_PARAMETER = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Nested Signature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE__NESTED_SIGNATURE = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Nesting Signature</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE__NESTING_SIGNATURE = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Template</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE__TEMPLATE = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Template Signature</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_SIGNATURE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER__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 TEMPLATE_PARAMETER__OWNER = ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Signature</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER__SIGNATURE = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = 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 + 2;
+
+	/**
+	 * The feature id for the '<em><b>Default</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER__DEFAULT = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * 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 + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Template Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION__EANNOTATIONS = TEMPLATEABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION__OWNED_ELEMENT = TEMPLATEABLE_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION__OWNER = TEMPLATEABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION__OWNED_COMMENT = TEMPLATEABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION__TEMPLATE_BINDING = TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION__OWNED_TEMPLATE_SIGNATURE = TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Sub Expression</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION__SUB_EXPRESSION = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Owning Expression</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION__OWNING_EXPRESSION = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the the '<em>String Expression</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION_FEATURE_COUNT = TEMPLATEABLE_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_ELEMENT__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_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 PARAMETERABLE_ELEMENT__OWNER = ELEMENT__OWNER;
+
+	/**
+	 * 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__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_ELEMENT__OWNING_PARAMETER = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the the '<em>Parameterable Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__EANNOTATIONS = DIRECTED_RELATIONSHIP__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__OWNED_ELEMENT = DIRECTED_RELATIONSHIP__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__OWNER = DIRECTED_RELATIONSHIP__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__OWNED_COMMENT = DIRECTED_RELATIONSHIP__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__RELATED_ELEMENT = DIRECTED_RELATIONSHIP__RELATED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__SOURCE = DIRECTED_RELATIONSHIP__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__TARGET = DIRECTED_RELATIONSHIP__TARGET;
+
+	/**
+	 * The feature id for the '<em><b>Bound Element</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__BOUND_ELEMENT = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Signature</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__SIGNATURE = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Parameter Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING__PARAMETER_SUBSTITUTION = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the the '<em>Template Binding</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_BINDING_FEATURE_COUNT = DIRECTED_RELATIONSHIP_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_SUBSTITUTION__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_SUBSTITUTION__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 TEMPLATE_PARAMETER_SUBSTITUTION__OWNER = ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Formal</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Actual</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Owned Actual</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the the '<em>Template Parameter Substitution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER_SUBSTITUTION_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * 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;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_TEMPLATE_PARAMETER__OWNED_ELEMENT = TEMPLATE_PARAMETER__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_TEMPLATE_PARAMETER__OWNER = TEMPLATE_PARAMETER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_TEMPLATE_PARAMETER__OWNED_COMMENT = TEMPLATE_PARAMETER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Signature</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_TEMPLATE_PARAMETER__SIGNATURE = TEMPLATE_PARAMETER__SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Default</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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 number of structural features of the the '<em>Operation Template Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_TEMPLATE_PARAMETER_FEATURE_COUNT = TEMPLATE_PARAMETER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__EANNOTATIONS = TEMPLATE_PARAMETER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_ELEMENT = TEMPLATE_PARAMETER__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__OWNER = TEMPLATE_PARAMETER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_COMMENT = TEMPLATE_PARAMETER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Signature</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE = TEMPLATE_PARAMETER__SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Default</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Allow Substitutable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE = TEMPLATE_PARAMETER_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the the '<em>Classifier Template Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER_FEATURE_COUNT = TEMPLATE_PARAMETER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_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 PARAMETERABLE_CLASSIFIER__OWNER = CLASSIFIER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__NAME = CLASSIFIER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_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 PARAMETERABLE_CLASSIFIER__VISIBILITY = CLASSIFIER__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__MEMBER = CLASSIFIER__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__OWNED_RULE = CLASSIFIER__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_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 PARAMETERABLE_CLASSIFIER__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__PACKAGE = CLASSIFIER__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__IS_LEAF = CLASSIFIER__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__FEATURE = CLASSIFIER__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_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 PARAMETERABLE_CLASSIFIER__GENERALIZATION = CLASSIFIER__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__REPRESENTATION = CLASSIFIER__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER__OCCURRENCE = CLASSIFIER__OCCURRENCE;
+
+	/**
+	 * The number of structural features of the the '<em>Parameterable Classifier</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_CLASSIFIER_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__EANNOTATIONS = REDEFINABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__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 REDEFINABLE_TEMPLATE_SIGNATURE__OWNER = REDEFINABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_COMMENT = REDEFINABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE_BINDING = REDEFINABLE_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_TEMPLATE_SIGNATURE = REDEFINABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__NAME = REDEFINABLE_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__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 REDEFINABLE_TEMPLATE_SIGNATURE__VISIBILITY = REDEFINABLE_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__CLIENT_DEPENDENCY = REDEFINABLE_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__NAME_EXPRESSION = REDEFINABLE_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__REDEFINITION_CONTEXT = REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__IS_LEAF = REDEFINABLE_ELEMENT__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Parameter</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__PARAMETER = REDEFINABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Owned Parameter</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__OWNED_PARAMETER = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Nested Signature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__NESTED_SIGNATURE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Nesting Signature</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__NESTING_SIGNATURE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Template</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE__TEMPLATE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Redefinable Template Signature</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE_FEATURE_COUNT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_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 TEMPLATEABLE_CLASSIFIER__OWNER = CLASSIFIER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__NAME = CLASSIFIER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_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 TEMPLATEABLE_CLASSIFIER__VISIBILITY = CLASSIFIER__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__MEMBER = CLASSIFIER__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__OWNED_RULE = CLASSIFIER__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_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 TEMPLATEABLE_CLASSIFIER__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__OWNING_PARAMETER = CLASSIFIER__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY = CLASSIFIER__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__PACKAGE = CLASSIFIER__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__IS_LEAF = CLASSIFIER__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__FEATURE = CLASSIFIER__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_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 TEMPLATEABLE_CLASSIFIER__GENERALIZATION = CLASSIFIER__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__REPRESENTATION = CLASSIFIER__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER__OCCURRENCE = CLASSIFIER__OCCURRENCE;
+
+	/**
+	 * The number of structural features of the the '<em>Templateable Classifier</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATEABLE_CLASSIFIER_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__EANNOTATIONS = TEMPLATE_PARAMETER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_ELEMENT = TEMPLATE_PARAMETER__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNER = TEMPLATE_PARAMETER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_COMMENT = TEMPLATE_PARAMETER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Signature</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__SIGNATURE = TEMPLATE_PARAMETER__SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Default</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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 number of structural features of the the '<em>Connectable Element Template Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER_FEATURE_COUNT = TEMPLATE_PARAMETER_FEATURE_COUNT + 0;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReadExtentActionImpl <em>Read Extent Action</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -30559,7 +30559,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReadExtentAction()
 	 * @generated
 	 */
-	int READ_EXTENT_ACTION = 206;
+	int READ_EXTENT_ACTION = 204;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReclassifyObjectActionImpl <em>Reclassify Object Action</em>}' class.
@@ -30569,7 +30569,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReclassifyObjectAction()
 	 * @generated
 	 */
-	int RECLASSIFY_OBJECT_ACTION = 207;
+	int RECLASSIFY_OBJECT_ACTION = 205;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReadIsClassifiedObjectActionImpl <em>Read Is Classified Object Action</em>}' class.
@@ -30579,7 +30579,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReadIsClassifiedObjectAction()
 	 * @generated
 	 */
-	int READ_IS_CLASSIFIED_OBJECT_ACTION = 208;
+	int READ_IS_CLASSIFIED_OBJECT_ACTION = 206;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.StartOwnedBehaviorActionImpl <em>Start Owned Behavior Action</em>}' class.
@@ -30589,7 +30589,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getStartOwnedBehaviorAction()
 	 * @generated
 	 */
-	int START_OWNED_BEHAVIOR_ACTION = 209;
+	int START_OWNED_BEHAVIOR_ACTION = 207;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.QualifierValueImpl <em>Qualifier Value</em>}' class.
@@ -30599,7 +30599,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getQualifierValue()
 	 * @generated
 	 */
-	int QUALIFIER_VALUE = 210;
+	int QUALIFIER_VALUE = 208;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReadLinkObjectEndActionImpl <em>Read Link Object End Action</em>}' class.
@@ -30609,7 +30609,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReadLinkObjectEndAction()
 	 * @generated
 	 */
-	int READ_LINK_OBJECT_END_ACTION = 211;
+	int READ_LINK_OBJECT_END_ACTION = 209;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReadLinkObjectEndQualifierActionImpl <em>Read Link Object End Qualifier Action</em>}' class.
@@ -30619,7 +30619,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReadLinkObjectEndQualifierAction()
 	 * @generated
 	 */
-	int READ_LINK_OBJECT_END_QUALIFIER_ACTION = 212;
+	int READ_LINK_OBJECT_END_QUALIFIER_ACTION = 210;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CreateLinkObjectActionImpl <em>Create Link Object Action</em>}' class.
@@ -30629,7 +30629,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCreateLinkObjectAction()
 	 * @generated
 	 */
-	int CREATE_LINK_OBJECT_ACTION = 213;
+	int CREATE_LINK_OBJECT_ACTION = 211;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.AcceptEventActionImpl <em>Accept Event Action</em>}' class.
@@ -30639,7 +30639,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getAcceptEventAction()
 	 * @generated
 	 */
-	int ACCEPT_EVENT_ACTION = 214;
+	int ACCEPT_EVENT_ACTION = 212;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.AcceptCallActionImpl <em>Accept Call Action</em>}' class.
@@ -30649,7 +30649,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getAcceptCallAction()
 	 * @generated
 	 */
-	int ACCEPT_CALL_ACTION = 215;
+	int ACCEPT_CALL_ACTION = 213;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ReplyActionImpl <em>Reply Action</em>}' class.
@@ -30659,7 +30659,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getReplyAction()
 	 * @generated
 	 */
-	int REPLY_ACTION = 216;
+	int REPLY_ACTION = 214;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.RaiseExceptionActionImpl <em>Raise Exception Action</em>}' class.
@@ -30669,7 +30669,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getRaiseExceptionAction()
 	 * @generated
 	 */
-	int RAISE_EXCEPTION_ACTION = 217;
+	int RAISE_EXCEPTION_ACTION = 215;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DataStoreNodeImpl <em>Data Store Node</em>}' class.
@@ -30679,7 +30679,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDataStoreNode()
 	 * @generated
 	 */
-	int DATA_STORE_NODE = 203;
+	int DATA_STORE_NODE = 223;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InterruptibleActivityRegionImpl <em>Interruptible Activity Region</em>}' class.
@@ -30689,7 +30689,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInterruptibleActivityRegion()
 	 * @generated
 	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION = 204;
+	int INTERRUPTIBLE_ACTIVITY_REGION = 224;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ParameterSetImpl <em>Parameter Set</em>}' class.
@@ -30699,7 +30699,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getParameterSet()
 	 * @generated
 	 */
-	int PARAMETER_SET = 205;
+	int PARAMETER_SET = 225;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InteractionOccurrenceImpl <em>Interaction Occurrence</em>}' class.
@@ -30709,7 +30709,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInteractionOccurrence()
 	 * @generated
 	 */
-	int INTERACTION_OCCURRENCE = 134;
+	int INTERACTION_OCCURRENCE = 180;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.GateImpl <em>Gate</em>}' class.
@@ -30719,7 +30719,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getGate()
 	 * @generated
 	 */
-	int GATE = 135;
+	int GATE = 181;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.PartDecompositionImpl <em>Part Decomposition</em>}' class.
@@ -30729,7 +30729,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPartDecomposition()
 	 * @generated
 	 */
-	int PART_DECOMPOSITION = 136;
+	int PART_DECOMPOSITION = 182;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InteractionOperandImpl <em>Interaction Operand</em>}' class.
@@ -30739,7 +30739,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInteractionOperand()
 	 * @generated
 	 */
-	int INTERACTION_OPERAND = 137;
+	int INTERACTION_OPERAND = 183;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.InteractionConstraintImpl <em>Interaction Constraint</em>}' class.
@@ -30749,7 +30749,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInteractionConstraint()
 	 * @generated
 	 */
-	int INTERACTION_CONSTRAINT = 138;
+	int INTERACTION_CONSTRAINT = 184;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CombinedFragmentImpl <em>Combined Fragment</em>}' class.
@@ -30759,7 +30759,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCombinedFragment()
 	 * @generated
 	 */
-	int COMBINED_FRAGMENT = 139;
+	int COMBINED_FRAGMENT = 185;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ContinuationImpl <em>Continuation</em>}' class.
@@ -30769,7 +30769,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getContinuation()
 	 * @generated
 	 */
-	int CONTINUATION = 140;
+	int CONTINUATION = 186;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TimeExpressionImpl <em>Time Expression</em>}' class.
@@ -30779,7 +30779,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTimeExpression()
 	 * @generated
 	 */
-	int TIME_EXPRESSION = 193;
+	int TIME_EXPRESSION = 194;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DurationImpl <em>Duration</em>}' class.
@@ -30789,7 +30789,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDuration()
 	 * @generated
 	 */
-	int DURATION = 194;
+	int DURATION = 195;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TimeObservationActionImpl <em>Time Observation Action</em>}' class.
@@ -30799,7 +30799,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTimeObservationAction()
 	 * @generated
 	 */
-	int TIME_OBSERVATION_ACTION = 195;
+	int TIME_OBSERVATION_ACTION = 196;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.IntervalImpl <em>Interval</em>}' class.
@@ -30809,7 +30809,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInterval()
 	 * @generated
 	 */
-	int INTERVAL = 197;
+	int INTERVAL = 198;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DurationIntervalImpl <em>Duration Interval</em>}' class.
@@ -30819,7 +30819,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDurationInterval()
 	 * @generated
 	 */
-	int DURATION_INTERVAL = 196;
+	int DURATION_INTERVAL = 197;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.IntervalConstraintImpl <em>Interval Constraint</em>}' class.
@@ -30829,7 +30829,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getIntervalConstraint()
 	 * @generated
 	 */
-	int INTERVAL_CONSTRAINT = 199;
+	int INTERVAL_CONSTRAINT = 200;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TimeConstraintImpl <em>Time Constraint</em>}' class.
@@ -30839,7 +30839,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTimeConstraint()
 	 * @generated
 	 */
-	int TIME_CONSTRAINT = 198;
+	int TIME_CONSTRAINT = 199;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.TimeIntervalImpl <em>Time Interval</em>}' class.
@@ -30849,7 +30849,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTimeInterval()
 	 * @generated
 	 */
-	int TIME_INTERVAL = 200;
+	int TIME_INTERVAL = 201;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DurationObservationActionImpl <em>Duration Observation Action</em>}' class.
@@ -30859,7 +30859,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDurationObservationAction()
 	 * @generated
 	 */
-	int DURATION_OBSERVATION_ACTION = 201;
+	int DURATION_OBSERVATION_ACTION = 202;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DurationConstraintImpl <em>Duration Constraint</em>}' class.
@@ -30869,7 +30869,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDurationConstraint()
 	 * @generated
 	 */
-	int DURATION_CONSTRAINT = 202;
+	int DURATION_CONSTRAINT = 203;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ProtocolConformanceImpl <em>Protocol Conformance</em>}' class.
@@ -30908,1194 +30908,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_OCCURRENCE__EANNOTATIONS = INTERACTION_FRAGMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__OWNED_ELEMENT = INTERACTION_FRAGMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__OWNER = INTERACTION_FRAGMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__OWNED_COMMENT = INTERACTION_FRAGMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__TEMPLATE_BINDING = INTERACTION_FRAGMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__OWNED_TEMPLATE_SIGNATURE = INTERACTION_FRAGMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__NAME = INTERACTION_FRAGMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__QUALIFIED_NAME = INTERACTION_FRAGMENT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__VISIBILITY = INTERACTION_FRAGMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__CLIENT_DEPENDENCY = INTERACTION_FRAGMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__NAME_EXPRESSION = INTERACTION_FRAGMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Covered</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__COVERED = INTERACTION_FRAGMENT__COVERED;
-
-	/**
-	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__GENERAL_ORDERING = INTERACTION_FRAGMENT__GENERAL_ORDERING;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__ENCLOSING_INTERACTION = INTERACTION_FRAGMENT__ENCLOSING_INTERACTION;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__ENCLOSING_OPERAND = INTERACTION_FRAGMENT__ENCLOSING_OPERAND;
-
-	/**
-	 * The feature id for the '<em><b>Refers To</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__REFERS_TO = INTERACTION_FRAGMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Actual Gate</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__ACTUAL_GATE = INTERACTION_FRAGMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Argument</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE__ARGUMENT = INTERACTION_FRAGMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the the '<em>Interaction Occurrence</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OCCURRENCE_FEATURE_COUNT = INTERACTION_FRAGMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__EANNOTATIONS = MESSAGE_END__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__OWNED_ELEMENT = MESSAGE_END__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__OWNER = MESSAGE_END__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__OWNED_COMMENT = MESSAGE_END__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__TEMPLATE_BINDING = MESSAGE_END__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__OWNED_TEMPLATE_SIGNATURE = MESSAGE_END__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__NAME = MESSAGE_END__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__QUALIFIED_NAME = MESSAGE_END__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__VISIBILITY = MESSAGE_END__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__CLIENT_DEPENDENCY = MESSAGE_END__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__NAME_EXPRESSION = MESSAGE_END__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Receive Message</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__RECEIVE_MESSAGE = MESSAGE_END__RECEIVE_MESSAGE;
-
-	/**
-	 * The feature id for the '<em><b>Send Message</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE__SEND_MESSAGE = MESSAGE_END__SEND_MESSAGE;
-
-	/**
-	 * The number of structural features of the the '<em>Gate</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE_FEATURE_COUNT = MESSAGE_END_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__EANNOTATIONS = INTERACTION_OCCURRENCE__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__OWNED_ELEMENT = INTERACTION_OCCURRENCE__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__OWNER = INTERACTION_OCCURRENCE__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__OWNED_COMMENT = INTERACTION_OCCURRENCE__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__TEMPLATE_BINDING = INTERACTION_OCCURRENCE__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__OWNED_TEMPLATE_SIGNATURE = INTERACTION_OCCURRENCE__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__NAME = INTERACTION_OCCURRENCE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__QUALIFIED_NAME = INTERACTION_OCCURRENCE__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__VISIBILITY = INTERACTION_OCCURRENCE__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__CLIENT_DEPENDENCY = INTERACTION_OCCURRENCE__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__NAME_EXPRESSION = INTERACTION_OCCURRENCE__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Covered</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__COVERED = INTERACTION_OCCURRENCE__COVERED;
-
-	/**
-	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__GENERAL_ORDERING = INTERACTION_OCCURRENCE__GENERAL_ORDERING;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__ENCLOSING_INTERACTION = INTERACTION_OCCURRENCE__ENCLOSING_INTERACTION;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__ENCLOSING_OPERAND = INTERACTION_OCCURRENCE__ENCLOSING_OPERAND;
-
-	/**
-	 * The feature id for the '<em><b>Refers To</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__REFERS_TO = INTERACTION_OCCURRENCE__REFERS_TO;
-
-	/**
-	 * The feature id for the '<em><b>Actual Gate</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__ACTUAL_GATE = INTERACTION_OCCURRENCE__ACTUAL_GATE;
-
-	/**
-	 * The feature id for the '<em><b>Argument</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION__ARGUMENT = INTERACTION_OCCURRENCE__ARGUMENT;
-
-	/**
-	 * The number of structural features of the the '<em>Part Decomposition</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION_FEATURE_COUNT = INTERACTION_OCCURRENCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__EANNOTATIONS = NAMESPACE__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__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 INTERACTION_OPERAND__OWNER = NAMESPACE__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__OWNED_COMMENT = NAMESPACE__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__TEMPLATE_BINDING = NAMESPACE__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__OWNED_TEMPLATE_SIGNATURE = NAMESPACE__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__NAME = NAMESPACE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__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 INTERACTION_OPERAND__VISIBILITY = NAMESPACE__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__CLIENT_DEPENDENCY = NAMESPACE__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__NAME_EXPRESSION = NAMESPACE__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__MEMBER = NAMESPACE__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__OWNED_RULE = NAMESPACE__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__IMPORTED_MEMBER = NAMESPACE__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__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 INTERACTION_OPERAND__PACKAGE_IMPORT = NAMESPACE__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Covered</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__COVERED = NAMESPACE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__GENERAL_ORDERING = NAMESPACE_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__ENCLOSING_INTERACTION = NAMESPACE_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__ENCLOSING_OPERAND = NAMESPACE_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Guard</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__GUARD = NAMESPACE_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Fragment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND__FRAGMENT = NAMESPACE_FEATURE_COUNT + 5;
-
-	/**
-	 * The number of structural features of the the '<em>Interaction Operand</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND_FEATURE_COUNT = NAMESPACE_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__EANNOTATIONS = CONSTRAINT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__OWNED_ELEMENT = CONSTRAINT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__OWNER = CONSTRAINT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__OWNED_COMMENT = CONSTRAINT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__TEMPLATE_BINDING = CONSTRAINT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__OWNED_TEMPLATE_SIGNATURE = CONSTRAINT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__NAME = CONSTRAINT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__QUALIFIED_NAME = CONSTRAINT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__VISIBILITY = CONSTRAINT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__CLIENT_DEPENDENCY = CONSTRAINT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__NAME_EXPRESSION = CONSTRAINT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__TEMPLATE_PARAMETER = CONSTRAINT__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__OWNING_PARAMETER = CONSTRAINT__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__PACKAGEABLE_ELEMENT_VISIBILITY = CONSTRAINT__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Context</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__CONTEXT = CONSTRAINT__CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__NAMESPACE = CONSTRAINT__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Specification</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__SPECIFICATION = CONSTRAINT__SPECIFICATION;
-
-	/**
-	 * The feature id for the '<em><b>Constrained Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__CONSTRAINED_ELEMENT = CONSTRAINT__CONSTRAINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Minint</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__MININT = CONSTRAINT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Maxint</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT__MAXINT = CONSTRAINT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>Interaction Constraint</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT_FEATURE_COUNT = CONSTRAINT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__EANNOTATIONS = INTERACTION_FRAGMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__OWNED_ELEMENT = INTERACTION_FRAGMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__OWNER = INTERACTION_FRAGMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__OWNED_COMMENT = INTERACTION_FRAGMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__TEMPLATE_BINDING = INTERACTION_FRAGMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__OWNED_TEMPLATE_SIGNATURE = INTERACTION_FRAGMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__NAME = INTERACTION_FRAGMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__QUALIFIED_NAME = INTERACTION_FRAGMENT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__VISIBILITY = INTERACTION_FRAGMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__CLIENT_DEPENDENCY = INTERACTION_FRAGMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__NAME_EXPRESSION = INTERACTION_FRAGMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Covered</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__COVERED = INTERACTION_FRAGMENT__COVERED;
-
-	/**
-	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__GENERAL_ORDERING = INTERACTION_FRAGMENT__GENERAL_ORDERING;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__ENCLOSING_INTERACTION = INTERACTION_FRAGMENT__ENCLOSING_INTERACTION;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__ENCLOSING_OPERAND = INTERACTION_FRAGMENT__ENCLOSING_OPERAND;
-
-	/**
-	 * The feature id for the '<em><b>Interaction Operator</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__INTERACTION_OPERATOR = INTERACTION_FRAGMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Operand</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__OPERAND = INTERACTION_FRAGMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Cfragment Gate</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT__CFRAGMENT_GATE = INTERACTION_FRAGMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the the '<em>Combined Fragment</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT_FEATURE_COUNT = INTERACTION_FRAGMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__EANNOTATIONS = INTERACTION_FRAGMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__OWNED_ELEMENT = INTERACTION_FRAGMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__OWNER = INTERACTION_FRAGMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__OWNED_COMMENT = INTERACTION_FRAGMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__TEMPLATE_BINDING = INTERACTION_FRAGMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__OWNED_TEMPLATE_SIGNATURE = INTERACTION_FRAGMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__NAME = INTERACTION_FRAGMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__QUALIFIED_NAME = INTERACTION_FRAGMENT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__VISIBILITY = INTERACTION_FRAGMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__CLIENT_DEPENDENCY = INTERACTION_FRAGMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__NAME_EXPRESSION = INTERACTION_FRAGMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Covered</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__COVERED = INTERACTION_FRAGMENT__COVERED;
-
-	/**
-	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__GENERAL_ORDERING = INTERACTION_FRAGMENT__GENERAL_ORDERING;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__ENCLOSING_INTERACTION = INTERACTION_FRAGMENT__ENCLOSING_INTERACTION;
-
-	/**
-	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__ENCLOSING_OPERAND = INTERACTION_FRAGMENT__ENCLOSING_OPERAND;
-
-	/**
-	 * The feature id for the '<em><b>Setting</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION__SETTING = INTERACTION_FRAGMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the the '<em>Continuation</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION_FEATURE_COUNT = INTERACTION_FRAGMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int STATE_MACHINE__EANNOTATIONS = BEHAVIOR__EANNOTATIONS;
 
 	/**
@@ -32351,15 +31163,6 @@
 	int STATE_MACHINE__REDEFINED_CLASSIFIER = BEHAVIOR__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_MACHINE__POWERTYPE_EXTENT = BEHAVIOR__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -32369,6 +31172,15 @@
 	int STATE_MACHINE__SUBSTITUTION = BEHAVIOR__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_MACHINE__POWERTYPE_EXTENT = BEHAVIOR__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -33986,6 +32798,1050 @@
 	 * @generated
 	 * @ordered
 	 */
+	int FORK_NODE__EANNOTATIONS = CONTROL_NODE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__OWNED_ELEMENT = CONTROL_NODE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__OWNER = CONTROL_NODE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__OWNED_COMMENT = CONTROL_NODE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__TEMPLATE_BINDING = CONTROL_NODE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__OWNED_TEMPLATE_SIGNATURE = CONTROL_NODE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__NAME = CONTROL_NODE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__QUALIFIED_NAME = CONTROL_NODE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__VISIBILITY = CONTROL_NODE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__CLIENT_DEPENDENCY = CONTROL_NODE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__NAME_EXPRESSION = CONTROL_NODE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__IS_LEAF = CONTROL_NODE__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__OUTGOING = CONTROL_NODE__OUTGOING;
+
+	/**
+	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__REDEFINED_ELEMENT = CONTROL_NODE__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__IN_STRUCTURED_NODE = CONTROL_NODE__IN_STRUCTURED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__IN_PARTITION = CONTROL_NODE__IN_PARTITION;
+
+	/**
+	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__IN_INTERRUPTIBLE_REGION = CONTROL_NODE__IN_INTERRUPTIBLE_REGION;
+
+	/**
+	 * The number of structural features of the the '<em>Fork Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE_FEATURE_COUNT = CONTROL_NODE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__EANNOTATIONS = CONTROL_NODE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__OWNED_ELEMENT = CONTROL_NODE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__OWNER = CONTROL_NODE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__OWNED_COMMENT = CONTROL_NODE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__TEMPLATE_BINDING = CONTROL_NODE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__OWNED_TEMPLATE_SIGNATURE = CONTROL_NODE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__NAME = CONTROL_NODE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__QUALIFIED_NAME = CONTROL_NODE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__VISIBILITY = CONTROL_NODE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__CLIENT_DEPENDENCY = CONTROL_NODE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__NAME_EXPRESSION = CONTROL_NODE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__IS_LEAF = CONTROL_NODE__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__OUTGOING = CONTROL_NODE__OUTGOING;
+
+	/**
+	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__REDEFINED_ELEMENT = CONTROL_NODE__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__IN_STRUCTURED_NODE = CONTROL_NODE__IN_STRUCTURED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__IN_PARTITION = CONTROL_NODE__IN_PARTITION;
+
+	/**
+	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__IN_INTERRUPTIBLE_REGION = CONTROL_NODE__IN_INTERRUPTIBLE_REGION;
+
+	/**
+	 * The feature id for the '<em><b>Is Combine Duplicate</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__IS_COMBINE_DUPLICATE = CONTROL_NODE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Join Spec</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__JOIN_SPEC = CONTROL_NODE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the the '<em>Join Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE_FEATURE_COUNT = CONTROL_NODE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__EANNOTATIONS = FINAL_NODE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__OWNED_ELEMENT = FINAL_NODE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__OWNER = FINAL_NODE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__OWNED_COMMENT = FINAL_NODE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__TEMPLATE_BINDING = FINAL_NODE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__OWNED_TEMPLATE_SIGNATURE = FINAL_NODE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__NAME = FINAL_NODE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__QUALIFIED_NAME = FINAL_NODE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__VISIBILITY = FINAL_NODE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__CLIENT_DEPENDENCY = FINAL_NODE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__NAME_EXPRESSION = FINAL_NODE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__REDEFINITION_CONTEXT = FINAL_NODE__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__IS_LEAF = FINAL_NODE__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__OUTGOING = FINAL_NODE__OUTGOING;
+
+	/**
+	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__ACTIVITY = FINAL_NODE__ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__REDEFINED_ELEMENT = FINAL_NODE__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__IN_STRUCTURED_NODE = FINAL_NODE__IN_STRUCTURED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__IN_PARTITION = FINAL_NODE__IN_PARTITION;
+
+	/**
+	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__IN_INTERRUPTIBLE_REGION = FINAL_NODE__IN_INTERRUPTIBLE_REGION;
+
+	/**
+	 * The number of structural features of the the '<em>Flow Final Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE_FEATURE_COUNT = FINAL_NODE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__EANNOTATIONS = OBJECT_NODE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__OWNED_ELEMENT = OBJECT_NODE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__OWNER = OBJECT_NODE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__OWNED_COMMENT = OBJECT_NODE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__TEMPLATE_BINDING = OBJECT_NODE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__OWNED_TEMPLATE_SIGNATURE = OBJECT_NODE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__NAME = OBJECT_NODE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__QUALIFIED_NAME = OBJECT_NODE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__VISIBILITY = OBJECT_NODE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__CLIENT_DEPENDENCY = OBJECT_NODE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__NAME_EXPRESSION = OBJECT_NODE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__REDEFINITION_CONTEXT = OBJECT_NODE__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__IS_LEAF = OBJECT_NODE__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__OUTGOING = OBJECT_NODE__OUTGOING;
+
+	/**
+	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__ACTIVITY = OBJECT_NODE__ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__REDEFINED_ELEMENT = OBJECT_NODE__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__IN_STRUCTURED_NODE = OBJECT_NODE__IN_STRUCTURED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__IN_PARTITION = OBJECT_NODE__IN_PARTITION;
+
+	/**
+	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__IN_INTERRUPTIBLE_REGION = OBJECT_NODE__IN_INTERRUPTIBLE_REGION;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__TYPE = OBJECT_NODE__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Ordering</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__ORDERING = OBJECT_NODE__ORDERING;
+
+	/**
+	 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__UPPER_BOUND = OBJECT_NODE__UPPER_BOUND;
+
+	/**
+	 * The feature id for the '<em><b>In State</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__IN_STATE = OBJECT_NODE__IN_STATE;
+
+	/**
+	 * The feature id for the '<em><b>Selection</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__SELECTION = OBJECT_NODE__SELECTION;
+
+	/**
+	 * The number of structural features of the the '<em>Central Buffer Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE_FEATURE_COUNT = OBJECT_NODE_FEATURE_COUNT + 0;
+
+	/**
+	 * 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 = NAMED_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__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 ACTIVITY_PARTITION__OWNER = NAMED_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__NAME = NAMED_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__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 ACTIVITY_PARTITION__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Super Group</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__SUPER_GROUP = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__ACTIVITY_GROUP_ACTIVITY = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Is Dimension</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__IS_DIMENSION = NAMED_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Is External</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__IS_EXTERNAL = 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_PARTITION__CONTAINED_EDGE = NAMED_ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__CONTAINED_NODE = NAMED_ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Subgroup</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__SUBGROUP = NAMED_ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Super Partition</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__SUPER_PARTITION = NAMED_ELEMENT_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>Represents</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__REPRESENTS = NAMED_ELEMENT_FEATURE_COUNT + 8;
+
+	/**
+	 * The number of structural features of the the '<em>Activity Partition</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 9;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
 	int CREATE_OBJECT_ACTION__EANNOTATIONS = ACTION__EANNOTATIONS;
 
 	/**
@@ -42725,7 +42581,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__EANNOTATIONS = CONTROL_NODE__EANNOTATIONS;
+	int INTERACTION_OCCURRENCE__EANNOTATIONS = INTERACTION_FRAGMENT__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -42734,7 +42590,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__OWNED_ELEMENT = CONTROL_NODE__OWNED_ELEMENT;
+	int INTERACTION_OCCURRENCE__OWNED_ELEMENT = INTERACTION_FRAGMENT__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -42743,7 +42599,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__OWNER = CONTROL_NODE__OWNER;
+	int INTERACTION_OCCURRENCE__OWNER = INTERACTION_FRAGMENT__OWNER;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -42752,7 +42608,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__OWNED_COMMENT = CONTROL_NODE__OWNED_COMMENT;
+	int INTERACTION_OCCURRENCE__OWNED_COMMENT = INTERACTION_FRAGMENT__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
@@ -42761,7 +42617,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__TEMPLATE_BINDING = CONTROL_NODE__TEMPLATE_BINDING;
+	int INTERACTION_OCCURRENCE__TEMPLATE_BINDING = INTERACTION_FRAGMENT__TEMPLATE_BINDING;
 
 	/**
 	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
@@ -42770,7 +42626,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__OWNED_TEMPLATE_SIGNATURE = CONTROL_NODE__OWNED_TEMPLATE_SIGNATURE;
+	int INTERACTION_OCCURRENCE__OWNED_TEMPLATE_SIGNATURE = INTERACTION_FRAGMENT__OWNED_TEMPLATE_SIGNATURE;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -42779,7 +42635,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__NAME = CONTROL_NODE__NAME;
+	int INTERACTION_OCCURRENCE__NAME = INTERACTION_FRAGMENT__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
@@ -42788,7 +42644,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__QUALIFIED_NAME = CONTROL_NODE__QUALIFIED_NAME;
+	int INTERACTION_OCCURRENCE__QUALIFIED_NAME = INTERACTION_FRAGMENT__QUALIFIED_NAME;
 
 	/**
 	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
@@ -42797,7 +42653,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__VISIBILITY = CONTROL_NODE__VISIBILITY;
+	int INTERACTION_OCCURRENCE__VISIBILITY = INTERACTION_FRAGMENT__VISIBILITY;
 
 	/**
 	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
@@ -42806,7 +42662,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__CLIENT_DEPENDENCY = CONTROL_NODE__CLIENT_DEPENDENCY;
+	int INTERACTION_OCCURRENCE__CLIENT_DEPENDENCY = INTERACTION_FRAGMENT__CLIENT_DEPENDENCY;
 
 	/**
 	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
@@ -42815,106 +42671,79 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__NAME_EXPRESSION = CONTROL_NODE__NAME_EXPRESSION;
+	int INTERACTION_OCCURRENCE__NAME_EXPRESSION = INTERACTION_FRAGMENT__NAME_EXPRESSION;
 
 	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * The feature id for the '<em><b>Covered</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
+	int INTERACTION_OCCURRENCE__COVERED = INTERACTION_FRAGMENT__COVERED;
 
 	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__IS_LEAF = CONTROL_NODE__IS_LEAF;
+	int INTERACTION_OCCURRENCE__GENERAL_ORDERING = INTERACTION_FRAGMENT__GENERAL_ORDERING;
 
 	/**
-	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__OUTGOING = CONTROL_NODE__OUTGOING;
+	int INTERACTION_OCCURRENCE__ENCLOSING_INTERACTION = INTERACTION_FRAGMENT__ENCLOSING_INTERACTION;
 
 	/**
-	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__INCOMING = CONTROL_NODE__INCOMING;
+	int INTERACTION_OCCURRENCE__ENCLOSING_OPERAND = INTERACTION_FRAGMENT__ENCLOSING_OPERAND;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * The feature id for the '<em><b>Refers To</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
+	int INTERACTION_OCCURRENCE__REFERS_TO = INTERACTION_FRAGMENT_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Actual Gate</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
+	int INTERACTION_OCCURRENCE__ACTUAL_GATE = INTERACTION_FRAGMENT_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * The feature id for the '<em><b>Argument</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__REDEFINED_ELEMENT = CONTROL_NODE__REDEFINED_ELEMENT;
+	int INTERACTION_OCCURRENCE__ARGUMENT = INTERACTION_FRAGMENT_FEATURE_COUNT + 2;
 
 	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * The number of structural features of the the '<em>Interaction Occurrence</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FORK_NODE__IN_STRUCTURED_NODE = CONTROL_NODE__IN_STRUCTURED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORK_NODE__IN_PARTITION = CONTROL_NODE__IN_PARTITION;
-
-	/**
-	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORK_NODE__IN_INTERRUPTIBLE_REGION = CONTROL_NODE__IN_INTERRUPTIBLE_REGION;
-
-	/**
-	 * The number of structural features of the the '<em>Fork Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORK_NODE_FEATURE_COUNT = CONTROL_NODE_FEATURE_COUNT + 0;
+	int INTERACTION_OCCURRENCE_FEATURE_COUNT = INTERACTION_FRAGMENT_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -42923,7 +42752,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__EANNOTATIONS = CONTROL_NODE__EANNOTATIONS;
+	int GATE__EANNOTATIONS = MESSAGE_END__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -42932,7 +42761,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__OWNED_ELEMENT = CONTROL_NODE__OWNED_ELEMENT;
+	int GATE__OWNED_ELEMENT = MESSAGE_END__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -42941,7 +42770,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__OWNER = CONTROL_NODE__OWNER;
+	int GATE__OWNER = MESSAGE_END__OWNER;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -42950,7 +42779,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__OWNED_COMMENT = CONTROL_NODE__OWNED_COMMENT;
+	int GATE__OWNED_COMMENT = MESSAGE_END__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
@@ -42959,7 +42788,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__TEMPLATE_BINDING = CONTROL_NODE__TEMPLATE_BINDING;
+	int GATE__TEMPLATE_BINDING = MESSAGE_END__TEMPLATE_BINDING;
 
 	/**
 	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
@@ -42968,7 +42797,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__OWNED_TEMPLATE_SIGNATURE = CONTROL_NODE__OWNED_TEMPLATE_SIGNATURE;
+	int GATE__OWNED_TEMPLATE_SIGNATURE = MESSAGE_END__OWNED_TEMPLATE_SIGNATURE;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -42977,7 +42806,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__NAME = CONTROL_NODE__NAME;
+	int GATE__NAME = MESSAGE_END__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
@@ -42986,7 +42815,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__QUALIFIED_NAME = CONTROL_NODE__QUALIFIED_NAME;
+	int GATE__QUALIFIED_NAME = MESSAGE_END__QUALIFIED_NAME;
 
 	/**
 	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
@@ -42995,7 +42824,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__VISIBILITY = CONTROL_NODE__VISIBILITY;
+	int GATE__VISIBILITY = MESSAGE_END__VISIBILITY;
 
 	/**
 	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
@@ -43004,7 +42833,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__CLIENT_DEPENDENCY = CONTROL_NODE__CLIENT_DEPENDENCY;
+	int GATE__CLIENT_DEPENDENCY = MESSAGE_END__CLIENT_DEPENDENCY;
 
 	/**
 	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
@@ -43013,124 +42842,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__NAME_EXPRESSION = CONTROL_NODE__NAME_EXPRESSION;
+	int GATE__NAME_EXPRESSION = MESSAGE_END__NAME_EXPRESSION;
 
 	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * The feature id for the '<em><b>Receive Message</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
+	int GATE__RECEIVE_MESSAGE = MESSAGE_END__RECEIVE_MESSAGE;
 
 	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * The feature id for the '<em><b>Send Message</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__IS_LEAF = CONTROL_NODE__IS_LEAF;
+	int GATE__SEND_MESSAGE = MESSAGE_END__SEND_MESSAGE;
 
 	/**
-	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * The number of structural features of the the '<em>Gate</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int JOIN_NODE__OUTGOING = CONTROL_NODE__OUTGOING;
-
-	/**
-	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	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>Activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE__REDEFINED_ELEMENT = CONTROL_NODE__REDEFINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE__IN_STRUCTURED_NODE = CONTROL_NODE__IN_STRUCTURED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE__IN_PARTITION = CONTROL_NODE__IN_PARTITION;
-
-	/**
-	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE__IN_INTERRUPTIBLE_REGION = CONTROL_NODE__IN_INTERRUPTIBLE_REGION;
-
-	/**
-	 * The feature id for the '<em><b>Is Combine Duplicate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE__IS_COMBINE_DUPLICATE = CONTROL_NODE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Join Spec</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE__JOIN_SPEC = CONTROL_NODE_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>Join Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE_FEATURE_COUNT = CONTROL_NODE_FEATURE_COUNT + 2;
+	int GATE_FEATURE_COUNT = MESSAGE_END_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -43139,7 +42878,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__EANNOTATIONS = FINAL_NODE__EANNOTATIONS;
+	int PART_DECOMPOSITION__EANNOTATIONS = INTERACTION_OCCURRENCE__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -43148,7 +42887,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__OWNED_ELEMENT = FINAL_NODE__OWNED_ELEMENT;
+	int PART_DECOMPOSITION__OWNED_ELEMENT = INTERACTION_OCCURRENCE__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -43157,7 +42896,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__OWNER = FINAL_NODE__OWNER;
+	int PART_DECOMPOSITION__OWNER = INTERACTION_OCCURRENCE__OWNER;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -43166,7 +42905,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__OWNED_COMMENT = FINAL_NODE__OWNED_COMMENT;
+	int PART_DECOMPOSITION__OWNED_COMMENT = INTERACTION_OCCURRENCE__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
@@ -43175,7 +42914,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__TEMPLATE_BINDING = FINAL_NODE__TEMPLATE_BINDING;
+	int PART_DECOMPOSITION__TEMPLATE_BINDING = INTERACTION_OCCURRENCE__TEMPLATE_BINDING;
 
 	/**
 	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
@@ -43184,7 +42923,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__OWNED_TEMPLATE_SIGNATURE = FINAL_NODE__OWNED_TEMPLATE_SIGNATURE;
+	int PART_DECOMPOSITION__OWNED_TEMPLATE_SIGNATURE = INTERACTION_OCCURRENCE__OWNED_TEMPLATE_SIGNATURE;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -43193,7 +42932,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__NAME = FINAL_NODE__NAME;
+	int PART_DECOMPOSITION__NAME = INTERACTION_OCCURRENCE__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
@@ -43202,7 +42941,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__QUALIFIED_NAME = FINAL_NODE__QUALIFIED_NAME;
+	int PART_DECOMPOSITION__QUALIFIED_NAME = INTERACTION_OCCURRENCE__QUALIFIED_NAME;
 
 	/**
 	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
@@ -43211,7 +42950,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__VISIBILITY = FINAL_NODE__VISIBILITY;
+	int PART_DECOMPOSITION__VISIBILITY = INTERACTION_OCCURRENCE__VISIBILITY;
 
 	/**
 	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
@@ -43220,7 +42959,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__CLIENT_DEPENDENCY = FINAL_NODE__CLIENT_DEPENDENCY;
+	int PART_DECOMPOSITION__CLIENT_DEPENDENCY = INTERACTION_OCCURRENCE__CLIENT_DEPENDENCY;
 
 	/**
 	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
@@ -43229,106 +42968,79 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__NAME_EXPRESSION = FINAL_NODE__NAME_EXPRESSION;
+	int PART_DECOMPOSITION__NAME_EXPRESSION = INTERACTION_OCCURRENCE__NAME_EXPRESSION;
 
 	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * The feature id for the '<em><b>Covered</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__REDEFINITION_CONTEXT = FINAL_NODE__REDEFINITION_CONTEXT;
+	int PART_DECOMPOSITION__COVERED = INTERACTION_OCCURRENCE__COVERED;
 
 	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__IS_LEAF = FINAL_NODE__IS_LEAF;
+	int PART_DECOMPOSITION__GENERAL_ORDERING = INTERACTION_OCCURRENCE__GENERAL_ORDERING;
 
 	/**
-	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__OUTGOING = FINAL_NODE__OUTGOING;
+	int PART_DECOMPOSITION__ENCLOSING_INTERACTION = INTERACTION_OCCURRENCE__ENCLOSING_INTERACTION;
 
 	/**
-	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__INCOMING = FINAL_NODE__INCOMING;
+	int PART_DECOMPOSITION__ENCLOSING_OPERAND = INTERACTION_OCCURRENCE__ENCLOSING_OPERAND;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * The feature id for the '<em><b>Refers To</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__IN_GROUP = FINAL_NODE__IN_GROUP;
+	int PART_DECOMPOSITION__REFERS_TO = INTERACTION_OCCURRENCE__REFERS_TO;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Actual Gate</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__ACTIVITY = FINAL_NODE__ACTIVITY;
+	int PART_DECOMPOSITION__ACTUAL_GATE = INTERACTION_OCCURRENCE__ACTUAL_GATE;
 
 	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * The feature id for the '<em><b>Argument</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__REDEFINED_ELEMENT = FINAL_NODE__REDEFINED_ELEMENT;
+	int PART_DECOMPOSITION__ARGUMENT = INTERACTION_OCCURRENCE__ARGUMENT;
 
 	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * The number of structural features of the the '<em>Part Decomposition</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FLOW_FINAL_NODE__IN_STRUCTURED_NODE = FINAL_NODE__IN_STRUCTURED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FLOW_FINAL_NODE__IN_PARTITION = FINAL_NODE__IN_PARTITION;
-
-	/**
-	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FLOW_FINAL_NODE__IN_INTERRUPTIBLE_REGION = FINAL_NODE__IN_INTERRUPTIBLE_REGION;
-
-	/**
-	 * The number of structural features of the the '<em>Flow Final Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FLOW_FINAL_NODE_FEATURE_COUNT = FINAL_NODE_FEATURE_COUNT + 0;
+	int PART_DECOMPOSITION_FEATURE_COUNT = INTERACTION_OCCURRENCE_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -43337,7 +43049,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__EANNOTATIONS = OBJECT_NODE__EANNOTATIONS;
+	int INTERACTION_OPERAND__EANNOTATIONS = NAMESPACE__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -43346,7 +43058,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__OWNED_ELEMENT = OBJECT_NODE__OWNED_ELEMENT;
+	int INTERACTION_OPERAND__OWNED_ELEMENT = NAMESPACE__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -43355,7 +43067,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__OWNER = OBJECT_NODE__OWNER;
+	int INTERACTION_OPERAND__OWNER = NAMESPACE__OWNER;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -43364,7 +43076,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__OWNED_COMMENT = OBJECT_NODE__OWNED_COMMENT;
+	int INTERACTION_OPERAND__OWNED_COMMENT = NAMESPACE__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
@@ -43373,7 +43085,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__TEMPLATE_BINDING = OBJECT_NODE__TEMPLATE_BINDING;
+	int INTERACTION_OPERAND__TEMPLATE_BINDING = NAMESPACE__TEMPLATE_BINDING;
 
 	/**
 	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
@@ -43382,7 +43094,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__OWNED_TEMPLATE_SIGNATURE = OBJECT_NODE__OWNED_TEMPLATE_SIGNATURE;
+	int INTERACTION_OPERAND__OWNED_TEMPLATE_SIGNATURE = NAMESPACE__OWNED_TEMPLATE_SIGNATURE;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -43391,7 +43103,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__NAME = OBJECT_NODE__NAME;
+	int INTERACTION_OPERAND__NAME = NAMESPACE__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
@@ -43400,7 +43112,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__QUALIFIED_NAME = OBJECT_NODE__QUALIFIED_NAME;
+	int INTERACTION_OPERAND__QUALIFIED_NAME = NAMESPACE__QUALIFIED_NAME;
 
 	/**
 	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
@@ -43409,7 +43121,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__VISIBILITY = OBJECT_NODE__VISIBILITY;
+	int INTERACTION_OPERAND__VISIBILITY = NAMESPACE__VISIBILITY;
 
 	/**
 	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
@@ -43418,7 +43130,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__CLIENT_DEPENDENCY = OBJECT_NODE__CLIENT_DEPENDENCY;
+	int INTERACTION_OPERAND__CLIENT_DEPENDENCY = NAMESPACE__CLIENT_DEPENDENCY;
 
 	/**
 	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
@@ -43427,151 +43139,115 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__NAME_EXPRESSION = OBJECT_NODE__NAME_EXPRESSION;
+	int INTERACTION_OPERAND__NAME_EXPRESSION = NAMESPACE__NAME_EXPRESSION;
 
 	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__REDEFINITION_CONTEXT = OBJECT_NODE__REDEFINITION_CONTEXT;
+	int INTERACTION_OPERAND__MEMBER = NAMESPACE__MEMBER;
 
 	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__IS_LEAF = OBJECT_NODE__IS_LEAF;
+	int INTERACTION_OPERAND__OWNED_RULE = NAMESPACE__OWNED_RULE;
 
 	/**
-	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__OUTGOING = OBJECT_NODE__OUTGOING;
+	int INTERACTION_OPERAND__IMPORTED_MEMBER = NAMESPACE__IMPORTED_MEMBER;
 
 	/**
-	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__INCOMING = OBJECT_NODE__INCOMING;
+	int INTERACTION_OPERAND__ELEMENT_IMPORT = NAMESPACE__ELEMENT_IMPORT;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__IN_GROUP = OBJECT_NODE__IN_GROUP;
+	int INTERACTION_OPERAND__PACKAGE_IMPORT = NAMESPACE__PACKAGE_IMPORT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Covered</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__ACTIVITY = OBJECT_NODE__ACTIVITY;
+	int INTERACTION_OPERAND__COVERED = NAMESPACE_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__REDEFINED_ELEMENT = OBJECT_NODE__REDEFINED_ELEMENT;
+	int INTERACTION_OPERAND__GENERAL_ORDERING = NAMESPACE_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__IN_STRUCTURED_NODE = OBJECT_NODE__IN_STRUCTURED_NODE;
+	int INTERACTION_OPERAND__ENCLOSING_INTERACTION = NAMESPACE_FEATURE_COUNT + 2;
 
 	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__IN_PARTITION = OBJECT_NODE__IN_PARTITION;
+	int INTERACTION_OPERAND__ENCLOSING_OPERAND = NAMESPACE_FEATURE_COUNT + 3;
 
 	/**
-	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * The feature id for the '<em><b>Guard</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__IN_INTERRUPTIBLE_REGION = OBJECT_NODE__IN_INTERRUPTIBLE_REGION;
+	int INTERACTION_OPERAND__GUARD = NAMESPACE_FEATURE_COUNT + 4;
 
 	/**
-	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * The feature id for the '<em><b>Fragment</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__TYPE = OBJECT_NODE__TYPE;
+	int INTERACTION_OPERAND__FRAGMENT = NAMESPACE_FEATURE_COUNT + 5;
 
 	/**
-	 * The feature id for the '<em><b>Ordering</b></em>' attribute.
+	 * The number of structural features of the the '<em>Interaction Operand</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE__ORDERING = OBJECT_NODE__ORDERING;
-
-	/**
-	 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CENTRAL_BUFFER_NODE__UPPER_BOUND = OBJECT_NODE__UPPER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>In State</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CENTRAL_BUFFER_NODE__IN_STATE = OBJECT_NODE__IN_STATE;
-
-	/**
-	 * The feature id for the '<em><b>Selection</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CENTRAL_BUFFER_NODE__SELECTION = OBJECT_NODE__SELECTION;
-
-	/**
-	 * The number of structural features of the the '<em>Central Buffer Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CENTRAL_BUFFER_NODE_FEATURE_COUNT = OBJECT_NODE_FEATURE_COUNT + 0;
+	int INTERACTION_OPERAND_FEATURE_COUNT = NAMESPACE_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -43580,7 +43256,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
+	int INTERACTION_CONSTRAINT__EANNOTATIONS = CONSTRAINT__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -43589,7 +43265,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__OWNED_ELEMENT = NAMED_ELEMENT__OWNED_ELEMENT;
+	int INTERACTION_CONSTRAINT__OWNED_ELEMENT = CONSTRAINT__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -43598,7 +43274,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__OWNER = NAMED_ELEMENT__OWNER;
+	int INTERACTION_CONSTRAINT__OWNER = CONSTRAINT__OWNER;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -43607,7 +43283,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
+	int INTERACTION_CONSTRAINT__OWNED_COMMENT = CONSTRAINT__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
@@ -43616,7 +43292,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
+	int INTERACTION_CONSTRAINT__TEMPLATE_BINDING = CONSTRAINT__TEMPLATE_BINDING;
 
 	/**
 	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
@@ -43625,7 +43301,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+	int INTERACTION_CONSTRAINT__OWNED_TEMPLATE_SIGNATURE = CONSTRAINT__OWNED_TEMPLATE_SIGNATURE;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -43634,7 +43310,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__NAME = NAMED_ELEMENT__NAME;
+	int INTERACTION_CONSTRAINT__NAME = CONSTRAINT__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
@@ -43643,7 +43319,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__QUALIFIED_NAME = NAMED_ELEMENT__QUALIFIED_NAME;
+	int INTERACTION_CONSTRAINT__QUALIFIED_NAME = CONSTRAINT__QUALIFIED_NAME;
 
 	/**
 	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
@@ -43652,7 +43328,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
+	int INTERACTION_CONSTRAINT__VISIBILITY = CONSTRAINT__VISIBILITY;
 
 	/**
 	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
@@ -43661,7 +43337,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
+	int INTERACTION_CONSTRAINT__CLIENT_DEPENDENCY = CONSTRAINT__CLIENT_DEPENDENCY;
 
 	/**
 	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
@@ -43670,97 +43346,421 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
+	int INTERACTION_CONSTRAINT__NAME_EXPRESSION = CONSTRAINT__NAME_EXPRESSION;
 
 	/**
-	 * The feature id for the '<em><b>Super Group</b></em>' reference.
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__SUPER_GROUP = NAMED_ELEMENT_FEATURE_COUNT + 0;
+	int INTERACTION_CONSTRAINT__TEMPLATE_PARAMETER = CONSTRAINT__TEMPLATE_PARAMETER;
 
 	/**
-	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__ACTIVITY_GROUP_ACTIVITY = NAMED_ELEMENT_FEATURE_COUNT + 1;
+	int INTERACTION_CONSTRAINT__OWNING_PARAMETER = CONSTRAINT__OWNING_PARAMETER;
 
 	/**
-	 * The feature id for the '<em><b>Is Dimension</b></em>' attribute.
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__IS_DIMENSION = NAMED_ELEMENT_FEATURE_COUNT + 2;
+	int INTERACTION_CONSTRAINT__PACKAGEABLE_ELEMENT_VISIBILITY = CONSTRAINT__PACKAGEABLE_ELEMENT_VISIBILITY;
 
 	/**
-	 * The feature id for the '<em><b>Is External</b></em>' attribute.
+	 * The feature id for the '<em><b>Context</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__IS_EXTERNAL = NAMED_ELEMENT_FEATURE_COUNT + 3;
+	int INTERACTION_CONSTRAINT__CONTEXT = CONSTRAINT__CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * The feature id for the '<em><b>Namespace</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__CONTAINED_EDGE = NAMED_ELEMENT_FEATURE_COUNT + 4;
+	int INTERACTION_CONSTRAINT__NAMESPACE = CONSTRAINT__NAMESPACE;
 
 	/**
-	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
+	 * The feature id for the '<em><b>Specification</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__CONTAINED_NODE = NAMED_ELEMENT_FEATURE_COUNT + 5;
+	int INTERACTION_CONSTRAINT__SPECIFICATION = CONSTRAINT__SPECIFICATION;
 
 	/**
-	 * The feature id for the '<em><b>Subgroup</b></em>' containment reference list.
+	 * The feature id for the '<em><b>Constrained Element</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__SUBGROUP = NAMED_ELEMENT_FEATURE_COUNT + 6;
+	int INTERACTION_CONSTRAINT__CONSTRAINED_ELEMENT = CONSTRAINT__CONSTRAINED_ELEMENT;
 
 	/**
-	 * The feature id for the '<em><b>Super Partition</b></em>' container reference.
+	 * The feature id for the '<em><b>Minint</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__SUPER_PARTITION = NAMED_ELEMENT_FEATURE_COUNT + 7;
+	int INTERACTION_CONSTRAINT__MININT = CONSTRAINT_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Represents</b></em>' reference.
+	 * The feature id for the '<em><b>Maxint</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION__REPRESENTS = NAMED_ELEMENT_FEATURE_COUNT + 8;
+	int INTERACTION_CONSTRAINT__MAXINT = CONSTRAINT_FEATURE_COUNT + 1;
 
 	/**
-	 * The number of structural features of the the '<em>Activity Partition</em>' class.
+	 * The number of structural features of the the '<em>Interaction Constraint</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 9;
+	int INTERACTION_CONSTRAINT_FEATURE_COUNT = CONSTRAINT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__EANNOTATIONS = INTERACTION_FRAGMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__OWNED_ELEMENT = INTERACTION_FRAGMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__OWNER = INTERACTION_FRAGMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__OWNED_COMMENT = INTERACTION_FRAGMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__TEMPLATE_BINDING = INTERACTION_FRAGMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__OWNED_TEMPLATE_SIGNATURE = INTERACTION_FRAGMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__NAME = INTERACTION_FRAGMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__QUALIFIED_NAME = INTERACTION_FRAGMENT__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__VISIBILITY = INTERACTION_FRAGMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__CLIENT_DEPENDENCY = INTERACTION_FRAGMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__NAME_EXPRESSION = INTERACTION_FRAGMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Covered</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__COVERED = INTERACTION_FRAGMENT__COVERED;
+
+	/**
+	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__GENERAL_ORDERING = INTERACTION_FRAGMENT__GENERAL_ORDERING;
+
+	/**
+	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__ENCLOSING_INTERACTION = INTERACTION_FRAGMENT__ENCLOSING_INTERACTION;
+
+	/**
+	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__ENCLOSING_OPERAND = INTERACTION_FRAGMENT__ENCLOSING_OPERAND;
+
+	/**
+	 * The feature id for the '<em><b>Interaction Operator</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__INTERACTION_OPERATOR = INTERACTION_FRAGMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Operand</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__OPERAND = INTERACTION_FRAGMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Cfragment Gate</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT__CFRAGMENT_GATE = INTERACTION_FRAGMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the the '<em>Combined Fragment</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT_FEATURE_COUNT = INTERACTION_FRAGMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__EANNOTATIONS = INTERACTION_FRAGMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__OWNED_ELEMENT = INTERACTION_FRAGMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__OWNER = INTERACTION_FRAGMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__OWNED_COMMENT = INTERACTION_FRAGMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__TEMPLATE_BINDING = INTERACTION_FRAGMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__OWNED_TEMPLATE_SIGNATURE = INTERACTION_FRAGMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__NAME = INTERACTION_FRAGMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__QUALIFIED_NAME = INTERACTION_FRAGMENT__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__VISIBILITY = INTERACTION_FRAGMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__CLIENT_DEPENDENCY = INTERACTION_FRAGMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__NAME_EXPRESSION = INTERACTION_FRAGMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Covered</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__COVERED = INTERACTION_FRAGMENT__COVERED;
+
+	/**
+	 * The feature id for the '<em><b>General Ordering</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__GENERAL_ORDERING = INTERACTION_FRAGMENT__GENERAL_ORDERING;
+
+	/**
+	 * The feature id for the '<em><b>Enclosing Interaction</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__ENCLOSING_INTERACTION = INTERACTION_FRAGMENT__ENCLOSING_INTERACTION;
+
+	/**
+	 * The feature id for the '<em><b>Enclosing Operand</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__ENCLOSING_OPERAND = INTERACTION_FRAGMENT__ENCLOSING_OPERAND;
+
+	/**
+	 * The feature id for the '<em><b>Setting</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION__SETTING = INTERACTION_FRAGMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the the '<em>Continuation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION_FEATURE_COUNT = INTERACTION_FRAGMENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -44499,7 +44499,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getComponent()
 	 * @generated
 	 */
-	int COMPONENT = 218;
+	int COMPONENT = 193;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DeploymentImpl <em>Deployment</em>}' class.
@@ -44509,7 +44509,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDeployment()
 	 * @generated
 	 */
-	int DEPLOYMENT = 219;
+	int DEPLOYMENT = 216;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DeployedArtifactImpl <em>Deployed Artifact</em>}' class.
@@ -44519,7 +44519,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDeployedArtifact()
 	 * @generated
 	 */
-	int DEPLOYED_ARTIFACT = 220;
+	int DEPLOYED_ARTIFACT = 217;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DeploymentTargetImpl <em>Deployment Target</em>}' class.
@@ -44529,7 +44529,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDeploymentTarget()
 	 * @generated
 	 */
-	int DEPLOYMENT_TARGET = 221;
+	int DEPLOYMENT_TARGET = 218;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.NodeImpl <em>Node</em>}' class.
@@ -44539,7 +44539,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getNode()
 	 * @generated
 	 */
-	int NODE = 222;
+	int NODE = 219;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.DeviceImpl <em>Device</em>}' class.
@@ -44549,7 +44549,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getDevice()
 	 * @generated
 	 */
-	int DEVICE = 223;
+	int DEVICE = 220;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.ExecutionEnvironmentImpl <em>Execution Environment</em>}' class.
@@ -44559,7 +44559,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getExecutionEnvironment()
 	 * @generated
 	 */
-	int EXECUTION_ENVIRONMENT = 224;
+	int EXECUTION_ENVIRONMENT = 221;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.impl.CommunicationPathImpl <em>Communication Path</em>}' class.
@@ -44569,7 +44569,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getCommunicationPath()
 	 * @generated
 	 */
-	int COMMUNICATION_PATH = 225;
+	int COMMUNICATION_PATH = 222;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -44923,15 +44923,6 @@
 	int PROTOCOL_STATE_MACHINE__REDEFINED_CLASSIFIER = STATE_MACHINE__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT = STATE_MACHINE__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -44941,6 +44932,15 @@
 	int PROTOCOL_STATE_MACHINE__SUBSTITUTION = STATE_MACHINE__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT = STATE_MACHINE__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -45469,6 +45469,501 @@
 	 * @generated
 	 * @ordered
 	 */
+	int COMPONENT__EANNOTATIONS = CLASS__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_ELEMENT = CLASS__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNER = CLASS__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_COMMENT = CLASS__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__TEMPLATE_BINDING = CLASS__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_TEMPLATE_SIGNATURE = CLASS__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__NAME = CLASS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__QUALIFIED_NAME = CLASS__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__VISIBILITY = CLASS__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__CLIENT_DEPENDENCY = CLASS__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__NAME_EXPRESSION = CLASS__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__MEMBER = CLASS__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_RULE = CLASS__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__IMPORTED_MEMBER = CLASS__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__ELEMENT_IMPORT = CLASS__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 COMPONENT__PACKAGE_IMPORT = CLASS__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__TEMPLATE_PARAMETER = CLASS__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNING_PARAMETER = CLASS__OWNING_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__PACKAGEABLE_ELEMENT_VISIBILITY = CLASS__PACKAGEABLE_ELEMENT_VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__PACKAGE = CLASS__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__REDEFINITION_CONTEXT = CLASS__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__IS_LEAF = CLASS__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__FEATURE = CLASS__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__IS_ABSTRACT = CLASS__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__INHERITED_MEMBER = CLASS__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__GENERAL = CLASS__GENERAL;
+
+	/**
+	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__GENERALIZATION = CLASS__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__ATTRIBUTE = CLASS__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__REDEFINED_CLASSIFIER = CLASS__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__SUBSTITUTION = CLASS__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_USE_CASE = CLASS__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__REPRESENTATION = CLASS__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OCCURRENCE = CLASS__OCCURRENCE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_ATTRIBUTE = CLASS__OWNED_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Part</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__PART = CLASS__PART;
+
+	/**
+	 * The feature id for the '<em><b>Role</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__ROLE = CLASS__ROLE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Connector</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_CONNECTOR = CLASS__OWNED_CONNECTOR;
+
+	/**
+	 * The feature id for the '<em><b>Owned Port</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_PORT = CLASS__OWNED_PORT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Behavior</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_BEHAVIOR = CLASS__OWNED_BEHAVIOR;
+
+	/**
+	 * The feature id for the '<em><b>Classifier Behavior</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__CLASSIFIER_BEHAVIOR = CLASS__CLASSIFIER_BEHAVIOR;
+
+	/**
+	 * The feature id for the '<em><b>Implementation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__IMPLEMENTATION = CLASS__IMPLEMENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Owned State Machine</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_STATE_MACHINE = CLASS__OWNED_STATE_MACHINE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_OPERATION = CLASS__OWNED_OPERATION;
+
+	/**
+	 * The feature id for the '<em><b>Super Class</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__SUPER_CLASS = CLASS__SUPER_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Extension</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__EXTENSION = CLASS__EXTENSION;
+
+	/**
+	 * The feature id for the '<em><b>Nested Classifier</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__NESTED_CLASSIFIER = CLASS__NESTED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Is Active</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__IS_ACTIVE = CLASS__IS_ACTIVE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Reception</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_RECEPTION = CLASS__OWNED_RECEPTION;
+
+	/**
+	 * The feature id for the '<em><b>Is Indirectly Instantiated</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__IS_INDIRECTLY_INSTANTIATED = CLASS_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Required</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__REQUIRED = CLASS_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Provided</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__PROVIDED = CLASS_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Realization</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__REALIZATION = CLASS_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__OWNED_MEMBER = CLASS_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the the '<em>Component</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_FEATURE_COUNT = CLASS_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
 	int TIME_EXPRESSION__EANNOTATIONS = VALUE_SPECIFICATION__EANNOTATIONS;
 
 	/**
@@ -47341,456 +47836,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_STORE_NODE__EANNOTATIONS = CENTRAL_BUFFER_NODE__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__OWNED_ELEMENT = CENTRAL_BUFFER_NODE__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__OWNER = CENTRAL_BUFFER_NODE__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__OWNED_COMMENT = CENTRAL_BUFFER_NODE__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__TEMPLATE_BINDING = CENTRAL_BUFFER_NODE__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__OWNED_TEMPLATE_SIGNATURE = CENTRAL_BUFFER_NODE__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__NAME = CENTRAL_BUFFER_NODE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__QUALIFIED_NAME = CENTRAL_BUFFER_NODE__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__VISIBILITY = CENTRAL_BUFFER_NODE__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__CLIENT_DEPENDENCY = CENTRAL_BUFFER_NODE__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__NAME_EXPRESSION = CENTRAL_BUFFER_NODE__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__REDEFINITION_CONTEXT = CENTRAL_BUFFER_NODE__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__IS_LEAF = CENTRAL_BUFFER_NODE__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__OUTGOING = CENTRAL_BUFFER_NODE__OUTGOING;
-
-	/**
-	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	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>Activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__ACTIVITY = CENTRAL_BUFFER_NODE__ACTIVITY;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__REDEFINED_ELEMENT = CENTRAL_BUFFER_NODE__REDEFINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__IN_STRUCTURED_NODE = CENTRAL_BUFFER_NODE__IN_STRUCTURED_NODE;
-
-	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__IN_PARTITION = CENTRAL_BUFFER_NODE__IN_PARTITION;
-
-	/**
-	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__IN_INTERRUPTIBLE_REGION = CENTRAL_BUFFER_NODE__IN_INTERRUPTIBLE_REGION;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__TYPE = CENTRAL_BUFFER_NODE__TYPE;
-
-	/**
-	 * The feature id for the '<em><b>Ordering</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__ORDERING = CENTRAL_BUFFER_NODE__ORDERING;
-
-	/**
-	 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__UPPER_BOUND = CENTRAL_BUFFER_NODE__UPPER_BOUND;
-
-	/**
-	 * The feature id for the '<em><b>In State</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__IN_STATE = CENTRAL_BUFFER_NODE__IN_STATE;
-
-	/**
-	 * The feature id for the '<em><b>Selection</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__SELECTION = CENTRAL_BUFFER_NODE__SELECTION;
-
-	/**
-	 * The number of structural features of the the '<em>Data Store Node</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE_FEATURE_COUNT = CENTRAL_BUFFER_NODE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION__EANNOTATIONS = ACTIVITY_GROUP__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION__OWNED_ELEMENT = ACTIVITY_GROUP__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION__OWNER = ACTIVITY_GROUP__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION__OWNED_COMMENT = ACTIVITY_GROUP__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Super Group</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION__SUPER_GROUP = ACTIVITY_GROUP__SUPER_GROUP;
-
-	/**
-	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION__ACTIVITY_GROUP_ACTIVITY = ACTIVITY_GROUP__ACTIVITY_GROUP_ACTIVITY;
-
-	/**
-	 * The feature id for the '<em><b>Interrupting Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE = ACTIVITY_GROUP_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 INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE = ACTIVITY_GROUP_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the the '<em>Interruptible Activity Region</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION_FEATURE_COUNT = ACTIVITY_GROUP_FEATURE_COUNT + 2;
-
-	/**
-	 * 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 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>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>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * 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>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>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 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>Parameter</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__PARAMETER = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * 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 + 1;
-
-	/**
-	 * The number of structural features of the 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 feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int READ_EXTENT_ACTION__EANNOTATIONS = ACTION__EANNOTATIONS;
 
 	/**
@@ -50977,501 +51022,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__EANNOTATIONS = CLASS__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_ELEMENT = CLASS__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNER = CLASS__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_COMMENT = CLASS__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__TEMPLATE_BINDING = CLASS__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_TEMPLATE_SIGNATURE = CLASS__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__NAME = CLASS__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__QUALIFIED_NAME = CLASS__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__VISIBILITY = CLASS__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__CLIENT_DEPENDENCY = CLASS__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__NAME_EXPRESSION = CLASS__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__MEMBER = CLASS__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_RULE = CLASS__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__IMPORTED_MEMBER = CLASS__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__ELEMENT_IMPORT = CLASS__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 COMPONENT__PACKAGE_IMPORT = CLASS__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__TEMPLATE_PARAMETER = CLASS__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNING_PARAMETER = CLASS__OWNING_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Packageable Element visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__PACKAGEABLE_ELEMENT_VISIBILITY = CLASS__PACKAGEABLE_ELEMENT_VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__PACKAGE = CLASS__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__REDEFINITION_CONTEXT = CLASS__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__IS_LEAF = CLASS__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__FEATURE = CLASS__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__IS_ABSTRACT = CLASS__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__INHERITED_MEMBER = CLASS__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__GENERAL = CLASS__GENERAL;
-
-	/**
-	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__GENERALIZATION = CLASS__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__ATTRIBUTE = CLASS__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__REDEFINED_CLASSIFIER = CLASS__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__SUBSTITUTION = CLASS__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_USE_CASE = CLASS__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__REPRESENTATION = CLASS__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Occurrence</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OCCURRENCE = CLASS__OCCURRENCE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_ATTRIBUTE = CLASS__OWNED_ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Part</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__PART = CLASS__PART;
-
-	/**
-	 * The feature id for the '<em><b>Role</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__ROLE = CLASS__ROLE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Connector</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_CONNECTOR = CLASS__OWNED_CONNECTOR;
-
-	/**
-	 * The feature id for the '<em><b>Owned Port</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_PORT = CLASS__OWNED_PORT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Behavior</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_BEHAVIOR = CLASS__OWNED_BEHAVIOR;
-
-	/**
-	 * The feature id for the '<em><b>Classifier Behavior</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__CLASSIFIER_BEHAVIOR = CLASS__CLASSIFIER_BEHAVIOR;
-
-	/**
-	 * The feature id for the '<em><b>Implementation</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__IMPLEMENTATION = CLASS__IMPLEMENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Owned State Machine</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_STATE_MACHINE = CLASS__OWNED_STATE_MACHINE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_OPERATION = CLASS__OWNED_OPERATION;
-
-	/**
-	 * The feature id for the '<em><b>Super Class</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__SUPER_CLASS = CLASS__SUPER_CLASS;
-
-	/**
-	 * The feature id for the '<em><b>Extension</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__EXTENSION = CLASS__EXTENSION;
-
-	/**
-	 * The feature id for the '<em><b>Nested Classifier</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__NESTED_CLASSIFIER = CLASS__NESTED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Is Active</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__IS_ACTIVE = CLASS__IS_ACTIVE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Reception</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_RECEPTION = CLASS__OWNED_RECEPTION;
-
-	/**
-	 * The feature id for the '<em><b>Is Indirectly Instantiated</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__IS_INDIRECTLY_INSTANTIATED = CLASS_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Required</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__REQUIRED = CLASS_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Provided</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__PROVIDED = CLASS_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Realization</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__REALIZATION = CLASS_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT__OWNED_MEMBER = CLASS_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the the '<em>Component</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_FEATURE_COUNT = CLASS_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int DEPLOYMENT__EANNOTATIONS = DEPENDENCY__EANNOTATIONS;
 
 	/**
@@ -52168,15 +51718,6 @@
 	int NODE__REDEFINED_CLASSIFIER = CLASS__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NODE__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52186,6 +51727,15 @@
 	int NODE__SUBSTITUTION = CLASS__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NODE__POWERTYPE_EXTENT = CLASS__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52645,15 +52195,6 @@
 	int DEVICE__REDEFINED_CLASSIFIER = NODE__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE__POWERTYPE_EXTENT = NODE__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52663,6 +52204,15 @@
 	int DEVICE__SUBSTITUTION = NODE__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEVICE__POWERTYPE_EXTENT = NODE__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53122,15 +52672,6 @@
 	int EXECUTION_ENVIRONMENT__REDEFINED_CLASSIFIER = NODE__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT = NODE__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53140,6 +52681,15 @@
 	int EXECUTION_ENVIRONMENT__SUBSTITUTION = NODE__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT = NODE__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53599,15 +53149,6 @@
 	int COMMUNICATION_PATH__REDEFINED_CLASSIFIER = ASSOCIATION__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMUNICATION_PATH__POWERTYPE_EXTENT = ASSOCIATION__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53617,6 +53158,15 @@
 	int COMMUNICATION_PATH__SUBSTITUTION = ASSOCIATION__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMUNICATION_PATH__POWERTYPE_EXTENT = ASSOCIATION__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53698,6 +53248,456 @@
 	int COMMUNICATION_PATH_FEATURE_COUNT = ASSOCIATION_FEATURE_COUNT + 0;
 
 	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__EANNOTATIONS = CENTRAL_BUFFER_NODE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__OWNED_ELEMENT = CENTRAL_BUFFER_NODE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__OWNER = CENTRAL_BUFFER_NODE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__OWNED_COMMENT = CENTRAL_BUFFER_NODE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__TEMPLATE_BINDING = CENTRAL_BUFFER_NODE__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__OWNED_TEMPLATE_SIGNATURE = CENTRAL_BUFFER_NODE__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__NAME = CENTRAL_BUFFER_NODE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__QUALIFIED_NAME = CENTRAL_BUFFER_NODE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__VISIBILITY = CENTRAL_BUFFER_NODE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__CLIENT_DEPENDENCY = CENTRAL_BUFFER_NODE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__NAME_EXPRESSION = CENTRAL_BUFFER_NODE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__REDEFINITION_CONTEXT = CENTRAL_BUFFER_NODE__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__IS_LEAF = CENTRAL_BUFFER_NODE__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__OUTGOING = CENTRAL_BUFFER_NODE__OUTGOING;
+
+	/**
+	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	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>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__ACTIVITY = CENTRAL_BUFFER_NODE__ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__REDEFINED_ELEMENT = CENTRAL_BUFFER_NODE__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__IN_STRUCTURED_NODE = CENTRAL_BUFFER_NODE__IN_STRUCTURED_NODE;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__IN_PARTITION = CENTRAL_BUFFER_NODE__IN_PARTITION;
+
+	/**
+	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__IN_INTERRUPTIBLE_REGION = CENTRAL_BUFFER_NODE__IN_INTERRUPTIBLE_REGION;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__TYPE = CENTRAL_BUFFER_NODE__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Ordering</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__ORDERING = CENTRAL_BUFFER_NODE__ORDERING;
+
+	/**
+	 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__UPPER_BOUND = CENTRAL_BUFFER_NODE__UPPER_BOUND;
+
+	/**
+	 * The feature id for the '<em><b>In State</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__IN_STATE = CENTRAL_BUFFER_NODE__IN_STATE;
+
+	/**
+	 * The feature id for the '<em><b>Selection</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__SELECTION = CENTRAL_BUFFER_NODE__SELECTION;
+
+	/**
+	 * The number of structural features of the the '<em>Data Store Node</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE_FEATURE_COUNT = CENTRAL_BUFFER_NODE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION__EANNOTATIONS = ACTIVITY_GROUP__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION__OWNED_ELEMENT = ACTIVITY_GROUP__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION__OWNER = ACTIVITY_GROUP__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION__OWNED_COMMENT = ACTIVITY_GROUP__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Super Group</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION__SUPER_GROUP = ACTIVITY_GROUP__SUPER_GROUP;
+
+	/**
+	 * The feature id for the '<em><b>Activity Group activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION__ACTIVITY_GROUP_ACTIVITY = ACTIVITY_GROUP__ACTIVITY_GROUP_ACTIVITY;
+
+	/**
+	 * The feature id for the '<em><b>Interrupting Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE = ACTIVITY_GROUP_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 INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE = ACTIVITY_GROUP_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the the '<em>Interruptible Activity Region</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION_FEATURE_COUNT = ACTIVITY_GROUP_FEATURE_COUNT + 2;
+
+	/**
+	 * 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 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>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>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__TEMPLATE_BINDING = NAMED_ELEMENT__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__OWNED_TEMPLATE_SIGNATURE = NAMED_ELEMENT__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * 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>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>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 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>Parameter</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__PARAMETER = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * 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 + 1;
+
+	/**
+	 * The number of structural features of the 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 meta object id for the '{@link org.eclipse.uml2.impl.DeploymentSpecificationImpl <em>Deployment Specification</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53969,15 +53969,6 @@
 	int DEPLOYMENT_SPECIFICATION__REDEFINED_CLASSIFIER = ARTIFACT__REDEFINED_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT = ARTIFACT__POWERTYPE_EXTENT;
-
-	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53987,6 +53978,15 @@
 	int DEPLOYMENT_SPECIFICATION__SUBSTITUTION = ARTIFACT__SUBSTITUTION;
 
 	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT = ARTIFACT__POWERTYPE_EXTENT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -54163,7 +54163,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getTransitionKind()
 	 * @generated
 	 */
-	int TRANSITION_KIND = 234;
+	int TRANSITION_KIND = 233;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.PseudostateKind <em>Pseudostate Kind</em>}' enum.
@@ -54173,7 +54173,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getPseudostateKind()
 	 * @generated
 	 */
-	int PSEUDOSTATE_KIND = 235;
+	int PSEUDOSTATE_KIND = 234;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.ObjectNodeOrderingKind <em>Object Node Ordering Kind</em>}' enum.
@@ -54183,7 +54183,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getObjectNodeOrderingKind()
 	 * @generated
 	 */
-	int OBJECT_NODE_ORDERING_KIND = 238;
+	int OBJECT_NODE_ORDERING_KIND = 239;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.InteractionOperator <em>Interaction Operator</em>}' enum.
@@ -54193,7 +54193,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getInteractionOperator()
 	 * @generated
 	 */
-	int INTERACTION_OPERATOR = 233;
+	int INTERACTION_OPERATOR = 235;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.ConnectorKind <em>Connector Kind</em>}' enum.
@@ -54203,7 +54203,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getConnectorKind()
 	 * @generated
 	 */
-	int CONNECTOR_KIND = 239;
+	int CONNECTOR_KIND = 237;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.ParameterEffectKind <em>Parameter Effect Kind</em>}' enum.
@@ -54213,7 +54213,7 @@
 	 * @see org.eclipse.uml2.impl.UML2PackageImpl#getParameterEffectKind()
 	 * @generated
 	 */
-	int PARAMETER_EFFECT_KIND = 237;
+	int PARAMETER_EFFECT_KIND = 238;
 
 	/**
 	 * The meta object id for the '<em>Integer</em>' data type.
@@ -58835,11 +58835,11 @@
 	EReference getTemplateParameterSubstitution_Actual();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.uml2.TemplateParameterSubstitution#getOwnedActual <em>Owned Actual</em>}'.
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.uml2.TemplateParameterSubstitution#getOwnedActuals <em>Owned Actual</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Owned Actual</em>'.
-	 * @see org.eclipse.uml2.TemplateParameterSubstitution#getOwnedActual()
+	 * @return the meta object for the containment reference list '<em>Owned Actual</em>'.
+	 * @see org.eclipse.uml2.TemplateParameterSubstitution#getOwnedActuals()
 	 * @see #getTemplateParameterSubstitution()
 	 * @generated
 	 */
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ActivityImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ActivityImpl.java
index 8a26559..f1510a3 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ActivityImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ActivityImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActivityImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ActivityImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -630,10 +630,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.ACTIVITY__OWNING_PARAMETER, msgs);
 				case UML2Package.ACTIVITY__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ACTIVITY__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ACTIVITY__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.ACTIVITY__IMPLEMENTATION:
@@ -709,10 +709,10 @@
 					return eBasicSetContainer(null, UML2Package.ACTIVITY__OWNING_PARAMETER, msgs);
 				case UML2Package.ACTIVITY__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ACTIVITY__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ACTIVITY__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.ACTIVITY__OCCURRENCE:
@@ -853,10 +853,10 @@
 				return getAttributes();
 			case UML2Package.ACTIVITY__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.ACTIVITY__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.ACTIVITY__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.ACTIVITY__REPRESENTATION:
@@ -1004,14 +1004,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.ACTIVITY__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.ACTIVITY__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -1183,12 +1183,12 @@
 			case UML2Package.ACTIVITY__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.ACTIVITY__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.ACTIVITY__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -1345,10 +1345,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.ACTIVITY__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ACTIVITY__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.ACTIVITY__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ACTIVITY__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.ACTIVITY__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ActorImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ActorImpl.java
index 16dbb6a..5ba3138 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ActorImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ActorImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ActorImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ActorImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -96,10 +96,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.ACTOR__OWNING_PARAMETER, msgs);
 				case UML2Package.ACTOR__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.ACTOR__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ACTOR__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.ACTOR__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -141,10 +141,10 @@
 					return eBasicSetContainer(null, UML2Package.ACTOR__OWNING_PARAMETER, msgs);
 				case UML2Package.ACTOR__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.ACTOR__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ACTOR__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.ACTOR__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ACTOR__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.ACTOR__OCCURRENCE:
@@ -241,10 +241,10 @@
 				return getAttributes();
 			case UML2Package.ACTOR__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.ACTOR__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.ACTOR__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.ACTOR__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.ACTOR__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.ACTOR__REPRESENTATION:
@@ -325,14 +325,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.ACTOR__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.ACTOR__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.ACTOR__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.ACTOR__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -409,12 +409,12 @@
 			case UML2Package.ACTOR__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.ACTOR__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.ACTOR__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.ACTOR__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.ACTOR__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -493,10 +493,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.ACTOR__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.ACTOR__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ACTOR__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.ACTOR__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ACTOR__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.ACTOR__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ArtifactImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ArtifactImpl.java
index e84c3c7..1d1e752 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ArtifactImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ArtifactImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ArtifactImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ArtifactImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -514,10 +514,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.ARTIFACT__OWNING_PARAMETER, msgs);
 				case UML2Package.ARTIFACT__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ARTIFACT__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -559,10 +559,10 @@
 					return eBasicSetContainer(null, UML2Package.ARTIFACT__OWNING_PARAMETER, msgs);
 				case UML2Package.ARTIFACT__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ARTIFACT__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ARTIFACT__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.ARTIFACT__OCCURRENCE:
@@ -667,10 +667,10 @@
 				return getAttributes();
 			case UML2Package.ARTIFACT__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.ARTIFACT__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.ARTIFACT__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.ARTIFACT__REPRESENTATION:
@@ -761,14 +761,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.ARTIFACT__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.ARTIFACT__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -864,12 +864,12 @@
 			case UML2Package.ARTIFACT__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.ARTIFACT__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.ARTIFACT__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -963,10 +963,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.ARTIFACT__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ARTIFACT__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.ARTIFACT__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ARTIFACT__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.ARTIFACT__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/AssociationClassImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/AssociationClassImpl.java
index 49e10d6..0d46776 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/AssociationClassImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/AssociationClassImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AssociationClassImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: AssociationClassImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -425,10 +425,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.ASSOCIATION_CLASS__OWNING_PARAMETER, msgs);
 				case UML2Package.ASSOCIATION_CLASS__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ASSOCIATION_CLASS__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ASSOCIATION_CLASS__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.ASSOCIATION_CLASS__IMPLEMENTATION:
@@ -482,10 +482,10 @@
 					return eBasicSetContainer(null, UML2Package.ASSOCIATION_CLASS__OWNING_PARAMETER, msgs);
 				case UML2Package.ASSOCIATION_CLASS__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ASSOCIATION_CLASS__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ASSOCIATION_CLASS__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.ASSOCIATION_CLASS__OCCURRENCE:
@@ -604,10 +604,10 @@
 				return getAttributes();
 			case UML2Package.ASSOCIATION_CLASS__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.ASSOCIATION_CLASS__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.ASSOCIATION_CLASS__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.ASSOCIATION_CLASS__REPRESENTATION:
@@ -728,14 +728,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.ASSOCIATION_CLASS__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.ASSOCIATION_CLASS__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -865,12 +865,12 @@
 			case UML2Package.ASSOCIATION_CLASS__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.ASSOCIATION_CLASS__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.ASSOCIATION_CLASS__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -991,10 +991,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.ASSOCIATION_CLASS__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ASSOCIATION_CLASS__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.ASSOCIATION_CLASS__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ASSOCIATION_CLASS__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.ASSOCIATION_CLASS__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/AssociationImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/AssociationImpl.java
index 72a15ab..8b77872 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/AssociationImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/AssociationImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AssociationImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: AssociationImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -418,10 +418,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.ASSOCIATION__OWNING_PARAMETER, msgs);
 				case UML2Package.ASSOCIATION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ASSOCIATION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ASSOCIATION__OWNED_END:
 					return ((InternalEList)getOwnedEnds()).basicAdd(otherEnd, msgs);
 				case UML2Package.ASSOCIATION__MEMBER_END:
@@ -467,10 +467,10 @@
 					return eBasicSetContainer(null, UML2Package.ASSOCIATION__OWNING_PARAMETER, msgs);
 				case UML2Package.ASSOCIATION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ASSOCIATION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ASSOCIATION__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.ASSOCIATION__OCCURRENCE:
@@ -571,10 +571,10 @@
 				return getAttributes();
 			case UML2Package.ASSOCIATION__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.ASSOCIATION__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.ASSOCIATION__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.ASSOCIATION__REPRESENTATION:
@@ -665,14 +665,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.ASSOCIATION__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.ASSOCIATION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -760,12 +760,12 @@
 			case UML2Package.ASSOCIATION__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.ASSOCIATION__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.ASSOCIATION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -853,10 +853,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.ASSOCIATION__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ASSOCIATION__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.ASSOCIATION__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ASSOCIATION__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.ASSOCIATION__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/BehaviorImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/BehaviorImpl.java
index da1cfc3..4ce3361 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/BehaviorImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/BehaviorImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: BehaviorImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: BehaviorImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -644,10 +644,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.BEHAVIOR__OWNING_PARAMETER, msgs);
 				case UML2Package.BEHAVIOR__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.BEHAVIOR__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.BEHAVIOR__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.BEHAVIOR__IMPLEMENTATION:
@@ -705,10 +705,10 @@
 					return eBasicSetContainer(null, UML2Package.BEHAVIOR__OWNING_PARAMETER, msgs);
 				case UML2Package.BEHAVIOR__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.BEHAVIOR__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.BEHAVIOR__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.BEHAVIOR__OCCURRENCE:
@@ -831,10 +831,10 @@
 				return getAttributes();
 			case UML2Package.BEHAVIOR__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.BEHAVIOR__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.BEHAVIOR__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.BEHAVIOR__REPRESENTATION:
@@ -964,14 +964,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.BEHAVIOR__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.BEHAVIOR__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -1115,12 +1115,12 @@
 			case UML2Package.BEHAVIOR__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.BEHAVIOR__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.BEHAVIOR__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -1253,10 +1253,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.BEHAVIOR__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.BEHAVIOR__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.BEHAVIOR__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.BEHAVIOR__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.BEHAVIOR__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/BehavioredClassifierImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/BehavioredClassifierImpl.java
index a21e3e1..0b334d4 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/BehavioredClassifierImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/BehavioredClassifierImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: BehavioredClassifierImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: BehavioredClassifierImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -412,10 +412,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.BEHAVIORED_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.BEHAVIORED_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.BEHAVIORED_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.BEHAVIORED_CLASSIFIER__IMPLEMENTATION:
@@ -463,10 +463,10 @@
 					return eBasicSetContainer(null, UML2Package.BEHAVIORED_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.BEHAVIORED_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.BEHAVIORED_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.BEHAVIORED_CLASSIFIER__OCCURRENCE:
@@ -569,10 +569,10 @@
 				return getAttributes();
 			case UML2Package.BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.BEHAVIORED_CLASSIFIER__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.BEHAVIORED_CLASSIFIER__REPRESENTATION:
@@ -661,14 +661,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.BEHAVIORED_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -760,12 +760,12 @@
 			case UML2Package.BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.BEHAVIORED_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -856,10 +856,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.BEHAVIORED_CLASSIFIER__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.BEHAVIORED_CLASSIFIER__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.BEHAVIORED_CLASSIFIER__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ClassImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ClassImpl.java
index 9620150..66d3f8e 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ClassImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ClassImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClassImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ClassImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -894,10 +894,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.CLASS__OWNING_PARAMETER, msgs);
 				case UML2Package.CLASS__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.CLASS__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.CLASS__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.CLASS__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.CLASS__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.CLASS__IMPLEMENTATION:
@@ -947,10 +947,10 @@
 					return eBasicSetContainer(null, UML2Package.CLASS__OWNING_PARAMETER, msgs);
 				case UML2Package.CLASS__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.CLASS__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.CLASS__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.CLASS__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.CLASS__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.CLASS__OCCURRENCE:
@@ -1065,10 +1065,10 @@
 				return getAttributes();
 			case UML2Package.CLASS__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.CLASS__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.CLASS__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.CLASS__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.CLASS__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.CLASS__REPRESENTATION:
@@ -1179,14 +1179,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.CLASS__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.CLASS__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.CLASS__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.CLASS__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -1305,12 +1305,12 @@
 			case UML2Package.CLASS__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.CLASS__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.CLASS__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.CLASS__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.CLASS__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -1422,10 +1422,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.CLASS__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.CLASS__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.CLASS__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.CLASS__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.CLASS__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.CLASS__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ClassifierImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ClassifierImpl.java
index 93d66c8..654658c 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ClassifierImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ClassifierImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ClassifierImpl.java,v 1.5 2004/04/27 16:43:13 khussey Exp $
+ * $Id: ClassifierImpl.java,v 1.6 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -84,8 +84,8 @@
  *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getGeneralizations <em>Generalization</em>}</li>
  *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getAttributes <em>Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getRedefinedClassifiers <em>Redefined Classifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getPowertypeExtents <em>Powertype Extent</em>}</li>
  *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getSubstitutions <em>Substitution</em>}</li>
+ *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getPowertypeExtents <em>Powertype Extent</em>}</li>
  *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getOwnedUseCases <em>Owned Use Case</em>}</li>
  *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getRepresentation <em>Representation</em>}</li>
  *   <li>{@link org.eclipse.uml2.impl.ClassifierImpl#getOccurrences <em>Occurrence</em>}</li>
@@ -193,16 +193,6 @@
 	protected EList redefinedClassifier = null;
 
 	/**
-	 * The cached value of the '{@link #getPowertypeExtents() <em>Powertype Extent</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPowertypeExtents()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList powertypeExtent = null;
-
-	/**
 	 * The cached value of the '{@link #getSubstitutions() <em>Substitution</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -213,6 +203,16 @@
 	protected EList substitution = null;
 
 	/**
+	 * The cached value of the '{@link #getPowertypeExtents() <em>Powertype Extent</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPowertypeExtents()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList powertypeExtent = null;
+
+	/**
 	 * The cached value of the '{@link #getOwnedUseCases() <em>Owned Use Case</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1450,10 +1450,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -1495,10 +1495,10 @@
 					return eBasicSetContainer(null, UML2Package.CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.CLASSIFIER__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.CLASSIFIER__OCCURRENCE:
@@ -1595,10 +1595,10 @@
 				return getAttributes();
 			case UML2Package.CLASSIFIER__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.CLASSIFIER__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.CLASSIFIER__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.CLASSIFIER__REPRESENTATION:
@@ -1679,14 +1679,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -1763,12 +1763,12 @@
 			case UML2Package.CLASSIFIER__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -1847,10 +1847,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.CLASSIFIER__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.CLASSIFIER__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.CLASSIFIER__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.CLASSIFIER__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.CLASSIFIER__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/CollaborationImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/CollaborationImpl.java
index 9eb4fd7..5ec515a 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/CollaborationImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/CollaborationImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CollaborationImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: CollaborationImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -471,10 +471,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.COLLABORATION__OWNING_PARAMETER, msgs);
 				case UML2Package.COLLABORATION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.COLLABORATION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.COLLABORATION__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.COLLABORATION__IMPLEMENTATION:
@@ -522,10 +522,10 @@
 					return eBasicSetContainer(null, UML2Package.COLLABORATION__OWNING_PARAMETER, msgs);
 				case UML2Package.COLLABORATION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.COLLABORATION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.COLLABORATION__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.COLLABORATION__OCCURRENCE:
@@ -632,10 +632,10 @@
 				return getAttributes();
 			case UML2Package.COLLABORATION__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.COLLABORATION__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.COLLABORATION__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.COLLABORATION__REPRESENTATION:
@@ -734,14 +734,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.COLLABORATION__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.COLLABORATION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -845,12 +845,12 @@
 			case UML2Package.COLLABORATION__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.COLLABORATION__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.COLLABORATION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -950,10 +950,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.COLLABORATION__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.COLLABORATION__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.COLLABORATION__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.COLLABORATION__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.COLLABORATION__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/CommunicationPathImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/CommunicationPathImpl.java
index 223d422..e13e9de 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/CommunicationPathImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/CommunicationPathImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CommunicationPathImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: CommunicationPathImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -96,10 +96,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.COMMUNICATION_PATH__OWNING_PARAMETER, msgs);
 				case UML2Package.COMMUNICATION_PATH__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.COMMUNICATION_PATH__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.COMMUNICATION_PATH__OWNED_END:
 					return ((InternalEList)getOwnedEnds()).basicAdd(otherEnd, msgs);
 				case UML2Package.COMMUNICATION_PATH__MEMBER_END:
@@ -145,10 +145,10 @@
 					return eBasicSetContainer(null, UML2Package.COMMUNICATION_PATH__OWNING_PARAMETER, msgs);
 				case UML2Package.COMMUNICATION_PATH__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.COMMUNICATION_PATH__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.COMMUNICATION_PATH__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.COMMUNICATION_PATH__OCCURRENCE:
@@ -249,10 +249,10 @@
 				return getAttributes();
 			case UML2Package.COMMUNICATION_PATH__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.COMMUNICATION_PATH__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.COMMUNICATION_PATH__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.COMMUNICATION_PATH__REPRESENTATION:
@@ -343,14 +343,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.COMMUNICATION_PATH__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.COMMUNICATION_PATH__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -438,12 +438,12 @@
 			case UML2Package.COMMUNICATION_PATH__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.COMMUNICATION_PATH__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.COMMUNICATION_PATH__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -531,10 +531,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.COMMUNICATION_PATH__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.COMMUNICATION_PATH__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.COMMUNICATION_PATH__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.COMMUNICATION_PATH__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.COMMUNICATION_PATH__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ComponentImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ComponentImpl.java
index 4435869..27b4ea4 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ComponentImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ComponentImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ComponentImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ComponentImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -485,10 +485,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.COMPONENT__OWNING_PARAMETER, msgs);
 				case UML2Package.COMPONENT__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.COMPONENT__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.COMPONENT__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.COMPONENT__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.COMPONENT__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.COMPONENT__IMPLEMENTATION:
@@ -540,10 +540,10 @@
 					return eBasicSetContainer(null, UML2Package.COMPONENT__OWNING_PARAMETER, msgs);
 				case UML2Package.COMPONENT__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.COMPONENT__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.COMPONENT__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.COMPONENT__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.COMPONENT__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.COMPONENT__OCCURRENCE:
@@ -662,10 +662,10 @@
 				return getAttributes();
 			case UML2Package.COMPONENT__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.COMPONENT__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.COMPONENT__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.COMPONENT__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.COMPONENT__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.COMPONENT__REPRESENTATION:
@@ -786,14 +786,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.COMPONENT__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.COMPONENT__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.COMPONENT__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.COMPONENT__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -923,12 +923,12 @@
 			case UML2Package.COMPONENT__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.COMPONENT__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.COMPONENT__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.COMPONENT__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.COMPONENT__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -1049,10 +1049,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.COMPONENT__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.COMPONENT__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.COMPONENT__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.COMPONENT__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.COMPONENT__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.COMPONENT__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DataTypeImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DataTypeImpl.java
index c568ff5..7477be2 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DataTypeImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DataTypeImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DataTypeImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: DataTypeImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -317,10 +317,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.DATA_TYPE__OWNING_PARAMETER, msgs);
 				case UML2Package.DATA_TYPE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.DATA_TYPE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.DATA_TYPE__OWNED_ATTRIBUTE:
 					return ((InternalEList)getOwnedAttributes()).basicAdd(otherEnd, msgs);
 				case UML2Package.DATA_TYPE__OWNED_OPERATION:
@@ -366,10 +366,10 @@
 					return eBasicSetContainer(null, UML2Package.DATA_TYPE__OWNING_PARAMETER, msgs);
 				case UML2Package.DATA_TYPE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.DATA_TYPE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.DATA_TYPE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.DATA_TYPE__OCCURRENCE:
@@ -470,10 +470,10 @@
 				return getAttributes();
 			case UML2Package.DATA_TYPE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.DATA_TYPE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.DATA_TYPE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.DATA_TYPE__REPRESENTATION:
@@ -558,14 +558,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.DATA_TYPE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.DATA_TYPE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -650,12 +650,12 @@
 			case UML2Package.DATA_TYPE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.DATA_TYPE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.DATA_TYPE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -740,10 +740,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.DATA_TYPE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.DATA_TYPE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.DATA_TYPE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.DATA_TYPE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.DATA_TYPE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DeploymentSpecificationImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DeploymentSpecificationImpl.java
index b855bbd..b1b4dce 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DeploymentSpecificationImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DeploymentSpecificationImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DeploymentSpecificationImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: DeploymentSpecificationImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -187,10 +187,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.DEPLOYMENT_SPECIFICATION__OWNING_PARAMETER, msgs);
 				case UML2Package.DEPLOYMENT_SPECIFICATION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.DEPLOYMENT_SPECIFICATION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -232,10 +232,10 @@
 					return eBasicSetContainer(null, UML2Package.DEPLOYMENT_SPECIFICATION__OWNING_PARAMETER, msgs);
 				case UML2Package.DEPLOYMENT_SPECIFICATION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.DEPLOYMENT_SPECIFICATION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.DEPLOYMENT_SPECIFICATION__OCCURRENCE:
@@ -340,10 +340,10 @@
 				return getAttributes();
 			case UML2Package.DEPLOYMENT_SPECIFICATION__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.DEPLOYMENT_SPECIFICATION__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.DEPLOYMENT_SPECIFICATION__REPRESENTATION:
@@ -438,14 +438,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.DEPLOYMENT_SPECIFICATION__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -547,12 +547,12 @@
 			case UML2Package.DEPLOYMENT_SPECIFICATION__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.DEPLOYMENT_SPECIFICATION__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -652,10 +652,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.DEPLOYMENT_SPECIFICATION__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.DEPLOYMENT_SPECIFICATION__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.DEPLOYMENT_SPECIFICATION__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.DEPLOYMENT_SPECIFICATION__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.DEPLOYMENT_SPECIFICATION__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DeviceImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DeviceImpl.java
index 4c2b96a..8e12221 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DeviceImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/DeviceImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: DeviceImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: DeviceImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -97,10 +97,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.DEVICE__OWNING_PARAMETER, msgs);
 				case UML2Package.DEVICE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.DEVICE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.DEVICE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.DEVICE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.DEVICE__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.DEVICE__IMPLEMENTATION:
@@ -152,10 +152,10 @@
 					return eBasicSetContainer(null, UML2Package.DEVICE__OWNING_PARAMETER, msgs);
 				case UML2Package.DEVICE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.DEVICE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.DEVICE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.DEVICE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.DEVICE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.DEVICE__OCCURRENCE:
@@ -274,10 +274,10 @@
 				return getAttributes();
 			case UML2Package.DEVICE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.DEVICE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.DEVICE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.DEVICE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.DEVICE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.DEVICE__REPRESENTATION:
@@ -394,14 +394,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.DEVICE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.DEVICE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.DEVICE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.DEVICE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -528,12 +528,12 @@
 			case UML2Package.DEVICE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.DEVICE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.DEVICE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.DEVICE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.DEVICE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -651,10 +651,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.DEVICE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.DEVICE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.DEVICE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.DEVICE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.DEVICE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.DEVICE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/EncapsulatedClassifierImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/EncapsulatedClassifierImpl.java
index fc17a50..3a23a23 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/EncapsulatedClassifierImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/EncapsulatedClassifierImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: EncapsulatedClassifierImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: EncapsulatedClassifierImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -219,10 +219,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.ENCAPSULATED_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.ENCAPSULATED_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ENCAPSULATED_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -264,10 +264,10 @@
 					return eBasicSetContainer(null, UML2Package.ENCAPSULATED_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.ENCAPSULATED_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ENCAPSULATED_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.ENCAPSULATED_CLASSIFIER__OCCURRENCE:
@@ -370,10 +370,10 @@
 				return getAttributes();
 			case UML2Package.ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.ENCAPSULATED_CLASSIFIER__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.ENCAPSULATED_CLASSIFIER__REPRESENTATION:
@@ -464,14 +464,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.ENCAPSULATED_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -560,12 +560,12 @@
 			case UML2Package.ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.ENCAPSULATED_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -653,10 +653,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.ENCAPSULATED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ENCAPSULATED_CLASSIFIER__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.ENCAPSULATED_CLASSIFIER__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ENCAPSULATED_CLASSIFIER__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.ENCAPSULATED_CLASSIFIER__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/EnumerationImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/EnumerationImpl.java
index 8481a30..d3fa970 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/EnumerationImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/EnumerationImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: EnumerationImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: EnumerationImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -192,10 +192,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.ENUMERATION__OWNING_PARAMETER, msgs);
 				case UML2Package.ENUMERATION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ENUMERATION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.ENUMERATION__OWNED_ATTRIBUTE:
 					return ((InternalEList)getOwnedAttributes()).basicAdd(otherEnd, msgs);
 				case UML2Package.ENUMERATION__OWNED_OPERATION:
@@ -243,10 +243,10 @@
 					return eBasicSetContainer(null, UML2Package.ENUMERATION__OWNING_PARAMETER, msgs);
 				case UML2Package.ENUMERATION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ENUMERATION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.ENUMERATION__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.ENUMERATION__OCCURRENCE:
@@ -349,10 +349,10 @@
 				return getAttributes();
 			case UML2Package.ENUMERATION__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.ENUMERATION__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.ENUMERATION__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.ENUMERATION__REPRESENTATION:
@@ -439,14 +439,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.ENUMERATION__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.ENUMERATION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -535,12 +535,12 @@
 			case UML2Package.ENUMERATION__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.ENUMERATION__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.ENUMERATION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -628,10 +628,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.ENUMERATION__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ENUMERATION__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.ENUMERATION__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.ENUMERATION__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.ENUMERATION__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ExecutionEnvironmentImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ExecutionEnvironmentImpl.java
index 702101b..1bf9613 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ExecutionEnvironmentImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ExecutionEnvironmentImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExecutionEnvironmentImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ExecutionEnvironmentImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -97,10 +97,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.EXECUTION_ENVIRONMENT__OWNING_PARAMETER, msgs);
 				case UML2Package.EXECUTION_ENVIRONMENT__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.EXECUTION_ENVIRONMENT__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.EXECUTION_ENVIRONMENT__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.EXECUTION_ENVIRONMENT__IMPLEMENTATION:
@@ -152,10 +152,10 @@
 					return eBasicSetContainer(null, UML2Package.EXECUTION_ENVIRONMENT__OWNING_PARAMETER, msgs);
 				case UML2Package.EXECUTION_ENVIRONMENT__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.EXECUTION_ENVIRONMENT__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.EXECUTION_ENVIRONMENT__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.EXECUTION_ENVIRONMENT__OCCURRENCE:
@@ -274,10 +274,10 @@
 				return getAttributes();
 			case UML2Package.EXECUTION_ENVIRONMENT__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.EXECUTION_ENVIRONMENT__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.EXECUTION_ENVIRONMENT__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.EXECUTION_ENVIRONMENT__REPRESENTATION:
@@ -394,14 +394,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.EXECUTION_ENVIRONMENT__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.EXECUTION_ENVIRONMENT__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -528,12 +528,12 @@
 			case UML2Package.EXECUTION_ENVIRONMENT__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.EXECUTION_ENVIRONMENT__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.EXECUTION_ENVIRONMENT__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -651,10 +651,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.EXECUTION_ENVIRONMENT__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.EXECUTION_ENVIRONMENT__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.EXECUTION_ENVIRONMENT__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.EXECUTION_ENVIRONMENT__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.EXECUTION_ENVIRONMENT__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ExtensionImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ExtensionImpl.java
index 637e7a4..51c6f29 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ExtensionImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ExtensionImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ExtensionImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ExtensionImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -203,10 +203,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.EXTENSION__OWNING_PARAMETER, msgs);
 				case UML2Package.EXTENSION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.EXTENSION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.EXTENSION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.EXTENSION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.EXTENSION__OWNED_END:
 					return ((InternalEList)getOwnedEnds()).basicAdd(otherEnd, msgs);
 				case UML2Package.EXTENSION__MEMBER_END:
@@ -252,10 +252,10 @@
 					return eBasicSetContainer(null, UML2Package.EXTENSION__OWNING_PARAMETER, msgs);
 				case UML2Package.EXTENSION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.EXTENSION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.EXTENSION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.EXTENSION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.EXTENSION__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.EXTENSION__OCCURRENCE:
@@ -356,10 +356,10 @@
 				return getAttributes();
 			case UML2Package.EXTENSION__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.EXTENSION__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.EXTENSION__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.EXTENSION__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.EXTENSION__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.EXTENSION__REPRESENTATION:
@@ -455,14 +455,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.EXTENSION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.EXTENSION__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.EXTENSION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.EXTENSION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -550,12 +550,12 @@
 			case UML2Package.EXTENSION__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.EXTENSION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.EXTENSION__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.EXTENSION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.EXTENSION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -643,10 +643,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.EXTENSION__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.EXTENSION__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.EXTENSION__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.EXTENSION__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.EXTENSION__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.EXTENSION__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InformationItemImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InformationItemImpl.java
index 7421967..e7dd8c7 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InformationItemImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InformationItemImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InformationItemImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: InformationItemImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -145,10 +145,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.INFORMATION_ITEM__OWNING_PARAMETER, msgs);
 				case UML2Package.INFORMATION_ITEM__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.INFORMATION_ITEM__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -190,10 +190,10 @@
 					return eBasicSetContainer(null, UML2Package.INFORMATION_ITEM__OWNING_PARAMETER, msgs);
 				case UML2Package.INFORMATION_ITEM__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.INFORMATION_ITEM__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.INFORMATION_ITEM__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.INFORMATION_ITEM__OCCURRENCE:
@@ -290,10 +290,10 @@
 				return getAttributes();
 			case UML2Package.INFORMATION_ITEM__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.INFORMATION_ITEM__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.INFORMATION_ITEM__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.INFORMATION_ITEM__REPRESENTATION:
@@ -376,14 +376,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.INFORMATION_ITEM__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.INFORMATION_ITEM__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -464,12 +464,12 @@
 			case UML2Package.INFORMATION_ITEM__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.INFORMATION_ITEM__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.INFORMATION_ITEM__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -551,10 +551,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.INFORMATION_ITEM__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.INFORMATION_ITEM__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.INFORMATION_ITEM__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.INFORMATION_ITEM__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.INFORMATION_ITEM__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InteractionImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InteractionImpl.java
index 25c3f73..1f2c6d3 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InteractionImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InteractionImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InteractionImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: InteractionImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -619,10 +619,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.INTERACTION__OWNING_PARAMETER, msgs);
 				case UML2Package.INTERACTION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.INTERACTION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.INTERACTION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.INTERACTION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.INTERACTION__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.INTERACTION__IMPLEMENTATION:
@@ -696,10 +696,10 @@
 					return eBasicSetContainer(null, UML2Package.INTERACTION__OWNING_PARAMETER, msgs);
 				case UML2Package.INTERACTION__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.INTERACTION__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.INTERACTION__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.INTERACTION__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.INTERACTION__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.INTERACTION__OCCURRENCE:
@@ -842,10 +842,10 @@
 				return getAttributes();
 			case UML2Package.INTERACTION__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.INTERACTION__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.INTERACTION__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.INTERACTION__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.INTERACTION__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.INTERACTION__REPRESENTATION:
@@ -991,14 +991,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.INTERACTION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.INTERACTION__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.INTERACTION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.INTERACTION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -1172,12 +1172,12 @@
 			case UML2Package.INTERACTION__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.INTERACTION__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.INTERACTION__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.INTERACTION__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.INTERACTION__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -1334,10 +1334,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.INTERACTION__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.INTERACTION__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.INTERACTION__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.INTERACTION__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.INTERACTION__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.INTERACTION__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InterfaceImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InterfaceImpl.java
index 7fb1d36..5653f01 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InterfaceImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InterfaceImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InterfaceImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: InterfaceImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -582,10 +582,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.INTERFACE__OWNING_PARAMETER, msgs);
 				case UML2Package.INTERFACE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.INTERFACE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.INTERFACE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.INTERFACE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -627,10 +627,10 @@
 					return eBasicSetContainer(null, UML2Package.INTERFACE__OWNING_PARAMETER, msgs);
 				case UML2Package.INTERFACE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.INTERFACE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.INTERFACE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.INTERFACE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.INTERFACE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.INTERFACE__OCCURRENCE:
@@ -737,10 +737,10 @@
 				return getAttributes();
 			case UML2Package.INTERFACE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.INTERFACE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.INTERFACE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.INTERFACE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.INTERFACE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.INTERFACE__REPRESENTATION:
@@ -833,14 +833,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.INTERFACE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.INTERFACE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.INTERFACE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.INTERFACE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -940,12 +940,12 @@
 			case UML2Package.INTERFACE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.INTERFACE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.INTERFACE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.INTERFACE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.INTERFACE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -1042,10 +1042,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.INTERFACE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.INTERFACE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.INTERFACE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.INTERFACE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.INTERFACE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.INTERFACE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/NodeImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/NodeImpl.java
index 56d384a..161e20d 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/NodeImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/NodeImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: NodeImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: NodeImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -357,10 +357,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.NODE__OWNING_PARAMETER, msgs);
 				case UML2Package.NODE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.NODE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.NODE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.NODE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.NODE__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.NODE__IMPLEMENTATION:
@@ -412,10 +412,10 @@
 					return eBasicSetContainer(null, UML2Package.NODE__OWNING_PARAMETER, msgs);
 				case UML2Package.NODE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.NODE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.NODE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.NODE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.NODE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.NODE__OCCURRENCE:
@@ -534,10 +534,10 @@
 				return getAttributes();
 			case UML2Package.NODE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.NODE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.NODE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.NODE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.NODE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.NODE__REPRESENTATION:
@@ -654,14 +654,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.NODE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.NODE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.NODE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.NODE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -788,12 +788,12 @@
 			case UML2Package.NODE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.NODE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.NODE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.NODE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.NODE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -911,10 +911,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.NODE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.NODE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.NODE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.NODE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.NODE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.NODE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ParameterableClassifierImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ParameterableClassifierImpl.java
index 6a89f41..70345ad 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ParameterableClassifierImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ParameterableClassifierImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ParameterableClassifierImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ParameterableClassifierImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -96,10 +96,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.PARAMETERABLE_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.PARAMETERABLE_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.PARAMETERABLE_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -141,10 +141,10 @@
 					return eBasicSetContainer(null, UML2Package.PARAMETERABLE_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.PARAMETERABLE_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.PARAMETERABLE_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.PARAMETERABLE_CLASSIFIER__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.PARAMETERABLE_CLASSIFIER__OCCURRENCE:
@@ -241,10 +241,10 @@
 				return getAttributes();
 			case UML2Package.PARAMETERABLE_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.PARAMETERABLE_CLASSIFIER__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.PARAMETERABLE_CLASSIFIER__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.PARAMETERABLE_CLASSIFIER__REPRESENTATION:
@@ -325,14 +325,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.PARAMETERABLE_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.PARAMETERABLE_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -409,12 +409,12 @@
 			case UML2Package.PARAMETERABLE_CLASSIFIER__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.PARAMETERABLE_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.PARAMETERABLE_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -493,10 +493,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.PARAMETERABLE_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.PARAMETERABLE_CLASSIFIER__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.PARAMETERABLE_CLASSIFIER__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.PARAMETERABLE_CLASSIFIER__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.PARAMETERABLE_CLASSIFIER__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/PrimitiveTypeImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/PrimitiveTypeImpl.java
index 93bd2bf..f977571 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/PrimitiveTypeImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/PrimitiveTypeImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PrimitiveTypeImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: PrimitiveTypeImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -96,10 +96,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.PRIMITIVE_TYPE__OWNING_PARAMETER, msgs);
 				case UML2Package.PRIMITIVE_TYPE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.PRIMITIVE_TYPE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.PRIMITIVE_TYPE__OWNED_ATTRIBUTE:
 					return ((InternalEList)getOwnedAttributes()).basicAdd(otherEnd, msgs);
 				case UML2Package.PRIMITIVE_TYPE__OWNED_OPERATION:
@@ -145,10 +145,10 @@
 					return eBasicSetContainer(null, UML2Package.PRIMITIVE_TYPE__OWNING_PARAMETER, msgs);
 				case UML2Package.PRIMITIVE_TYPE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.PRIMITIVE_TYPE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.PRIMITIVE_TYPE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.PRIMITIVE_TYPE__OCCURRENCE:
@@ -249,10 +249,10 @@
 				return getAttributes();
 			case UML2Package.PRIMITIVE_TYPE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.PRIMITIVE_TYPE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.PRIMITIVE_TYPE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.PRIMITIVE_TYPE__REPRESENTATION:
@@ -337,14 +337,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.PRIMITIVE_TYPE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.PRIMITIVE_TYPE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -429,12 +429,12 @@
 			case UML2Package.PRIMITIVE_TYPE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.PRIMITIVE_TYPE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.PRIMITIVE_TYPE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -519,10 +519,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.PRIMITIVE_TYPE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.PRIMITIVE_TYPE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.PRIMITIVE_TYPE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.PRIMITIVE_TYPE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.PRIMITIVE_TYPE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ProtocolStateMachineImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ProtocolStateMachineImpl.java
index f517ab6..c5eaabf 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ProtocolStateMachineImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ProtocolStateMachineImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProtocolStateMachineImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: ProtocolStateMachineImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -181,10 +181,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.PROTOCOL_STATE_MACHINE__OWNING_PARAMETER, msgs);
 				case UML2Package.PROTOCOL_STATE_MACHINE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.PROTOCOL_STATE_MACHINE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.PROTOCOL_STATE_MACHINE__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.PROTOCOL_STATE_MACHINE__IMPLEMENTATION:
@@ -248,10 +248,10 @@
 					return eBasicSetContainer(null, UML2Package.PROTOCOL_STATE_MACHINE__OWNING_PARAMETER, msgs);
 				case UML2Package.PROTOCOL_STATE_MACHINE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.PROTOCOL_STATE_MACHINE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.PROTOCOL_STATE_MACHINE__OCCURRENCE:
@@ -384,10 +384,10 @@
 				return getAttributes();
 			case UML2Package.PROTOCOL_STATE_MACHINE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.PROTOCOL_STATE_MACHINE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.PROTOCOL_STATE_MACHINE__REPRESENTATION:
@@ -528,14 +528,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.PROTOCOL_STATE_MACHINE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -697,12 +697,12 @@
 			case UML2Package.PROTOCOL_STATE_MACHINE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.PROTOCOL_STATE_MACHINE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -850,10 +850,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.PROTOCOL_STATE_MACHINE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.PROTOCOL_STATE_MACHINE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.PROTOCOL_STATE_MACHINE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.PROTOCOL_STATE_MACHINE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.PROTOCOL_STATE_MACHINE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/SignalImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/SignalImpl.java
index bcd74db..c123b1c 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/SignalImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/SignalImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: SignalImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: SignalImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -219,10 +219,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.SIGNAL__OWNING_PARAMETER, msgs);
 				case UML2Package.SIGNAL__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.SIGNAL__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.SIGNAL__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.SIGNAL__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.SIGNAL__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.SIGNAL__IMPLEMENTATION:
@@ -270,10 +270,10 @@
 					return eBasicSetContainer(null, UML2Package.SIGNAL__OWNING_PARAMETER, msgs);
 				case UML2Package.SIGNAL__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.SIGNAL__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.SIGNAL__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.SIGNAL__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.SIGNAL__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.SIGNAL__OCCURRENCE:
@@ -378,10 +378,10 @@
 				return getAttributes();
 			case UML2Package.SIGNAL__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.SIGNAL__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.SIGNAL__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.SIGNAL__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.SIGNAL__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.SIGNAL__REPRESENTATION:
@@ -472,14 +472,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.SIGNAL__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.SIGNAL__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.SIGNAL__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.SIGNAL__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -575,12 +575,12 @@
 			case UML2Package.SIGNAL__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.SIGNAL__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.SIGNAL__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.SIGNAL__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.SIGNAL__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -674,10 +674,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.SIGNAL__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.SIGNAL__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.SIGNAL__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.SIGNAL__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.SIGNAL__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.SIGNAL__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StateMachineImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StateMachineImpl.java
index 01ea0dd..5db4e2f 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StateMachineImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StateMachineImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StateMachineImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: StateMachineImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -393,10 +393,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.STATE_MACHINE__OWNING_PARAMETER, msgs);
 				case UML2Package.STATE_MACHINE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.STATE_MACHINE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.STATE_MACHINE__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.STATE_MACHINE__IMPLEMENTATION:
@@ -458,10 +458,10 @@
 					return eBasicSetContainer(null, UML2Package.STATE_MACHINE__OWNING_PARAMETER, msgs);
 				case UML2Package.STATE_MACHINE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.STATE_MACHINE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.STATE_MACHINE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.STATE_MACHINE__OCCURRENCE:
@@ -592,10 +592,10 @@
 				return getAttributes();
 			case UML2Package.STATE_MACHINE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.STATE_MACHINE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.STATE_MACHINE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.STATE_MACHINE__REPRESENTATION:
@@ -734,14 +734,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.STATE_MACHINE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.STATE_MACHINE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -899,12 +899,12 @@
 			case UML2Package.STATE_MACHINE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.STATE_MACHINE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.STATE_MACHINE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -1049,10 +1049,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.STATE_MACHINE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.STATE_MACHINE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.STATE_MACHINE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.STATE_MACHINE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.STATE_MACHINE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StereotypeImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StereotypeImpl.java
index 5ecf925..37c6134 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StereotypeImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StereotypeImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StereotypeImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: StereotypeImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -101,10 +101,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.STEREOTYPE__OWNING_PARAMETER, msgs);
 				case UML2Package.STEREOTYPE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.STEREOTYPE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.STEREOTYPE__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.STEREOTYPE__IMPLEMENTATION:
@@ -154,10 +154,10 @@
 					return eBasicSetContainer(null, UML2Package.STEREOTYPE__OWNING_PARAMETER, msgs);
 				case UML2Package.STEREOTYPE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.STEREOTYPE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.STEREOTYPE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.STEREOTYPE__OCCURRENCE:
@@ -272,10 +272,10 @@
 				return getAttributes();
 			case UML2Package.STEREOTYPE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.STEREOTYPE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.STEREOTYPE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.STEREOTYPE__REPRESENTATION:
@@ -386,14 +386,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.STEREOTYPE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.STEREOTYPE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -512,12 +512,12 @@
 			case UML2Package.STEREOTYPE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.STEREOTYPE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.STEREOTYPE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -629,10 +629,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.STEREOTYPE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.STEREOTYPE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.STEREOTYPE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.STEREOTYPE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.STEREOTYPE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StructuredClassifierImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StructuredClassifierImpl.java
index 8fb5a91..38e8709 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StructuredClassifierImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StructuredClassifierImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StructuredClassifierImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: StructuredClassifierImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -431,10 +431,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.STRUCTURED_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.STRUCTURED_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.STRUCTURED_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -476,10 +476,10 @@
 					return eBasicSetContainer(null, UML2Package.STRUCTURED_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.STRUCTURED_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.STRUCTURED_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.STRUCTURED_CLASSIFIER__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.STRUCTURED_CLASSIFIER__OCCURRENCE:
@@ -580,10 +580,10 @@
 				return getAttributes();
 			case UML2Package.STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.STRUCTURED_CLASSIFIER__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.STRUCTURED_CLASSIFIER__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.STRUCTURED_CLASSIFIER__REPRESENTATION:
@@ -672,14 +672,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.STRUCTURED_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.STRUCTURED_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -764,12 +764,12 @@
 			case UML2Package.STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.STRUCTURED_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.STRUCTURED_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -854,10 +854,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.STRUCTURED_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.STRUCTURED_CLASSIFIER__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.STRUCTURED_CLASSIFIER__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.STRUCTURED_CLASSIFIER__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.STRUCTURED_CLASSIFIER__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/TemplateParameterSubstitutionImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/TemplateParameterSubstitutionImpl.java
index 1e2aa91..16152ad 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/TemplateParameterSubstitutionImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/TemplateParameterSubstitutionImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateParameterSubstitutionImpl.java,v 1.2 2004/04/10 04:09:49 khussey Exp $
+ * $Id: TemplateParameterSubstitutionImpl.java,v 1.3 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -33,6 +33,7 @@
 import org.eclipse.uml2.TemplateParameterSubstitution;
 import org.eclipse.uml2.UML2Package;
 
+import org.eclipse.uml2.internal.util.SubsetEObjectContainmentEList;
 import org.eclipse.uml2.internal.util.SupersetEObjectResolvingEList;
 
 /**
@@ -45,7 +46,7 @@
  *   <li>{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getFormal <em>Formal</em>}</li>
  *   <li>{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getTemplateBinding <em>Template Binding</em>}</li>
  *   <li>{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getActuals <em>Actual</em>}</li>
- *   <li>{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getOwnedActual <em>Owned Actual</em>}</li>
+ *   <li>{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getOwnedActuals <em>Owned Actual</em>}</li>
  * </ul>
  * </p>
  *
@@ -80,14 +81,14 @@
 	protected EList actual = null;
 
 	/**
-	 * The cached value of the '{@link #getOwnedActual() <em>Owned Actual</em>}' containment reference.
+	 * The cached value of the '{@link #getOwnedActuals() <em>Owned Actual</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getOwnedActual()
+	 * @see #getOwnedActuals()
 	 * @generated
 	 * @ordered
 	 */
-	protected ParameterableElement ownedActual = null;
+	protected EList ownedActual = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -203,7 +204,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * Returns the value of the '<em><b>Owned Actual</b></em>' containment reference.
+	 * Returns the value of the '<em><b>Owned Actual</b></em>' containment reference list.
 	 * <p>
 	 * Subsets the following features:
 	 * <ul>
@@ -213,51 +214,12 @@
 	 * </p>
 	 * @generated
 	 */
-	public ParameterableElement getOwnedActual() {
+	public EList getOwnedActuals() {
+		// TODO: test this subset getter
+		if (ownedActual == null) {
+			ownedActual = new SubsetEObjectContainmentEList(ParameterableElement.class, this, UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL, new int[] {UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL});
+		}
 		return ownedActual;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetOwnedActual(ParameterableElement newOwnedActual, NotificationChain msgs) {
-		// TODO: test this subset basic setter
-		if (null != newOwnedActual && !getActuals().contains(newOwnedActual)) {
-			getActuals().add(newOwnedActual);
-		}
-		ParameterableElement oldOwnedActual = ownedActual;
-		ownedActual = newOwnedActual;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL, oldOwnedActual, newOwnedActual);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOwnedActual(ParameterableElement newOwnedActual) {
-		if (newOwnedActual != ownedActual) {
-			NotificationChain msgs = null;
-			if (null != ownedActual) {
-				msgs = ((InternalEObject) ownedActual).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL, null, msgs);
-			}
-			if (null != newOwnedActual) {
-				msgs = ((InternalEObject) newOwnedActual).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL, null, msgs);
-			}
-			msgs = basicSetOwnedActual(newOwnedActual, msgs);
-			if (null != msgs) {
-				msgs.dispatch();
-			}
-		} else if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL, newOwnedActual, newOwnedActual));
-		}
 
 	}
 
@@ -271,7 +233,7 @@
 		if (eNotificationRequired()) {
 			eNotify(new ENotificationImpl(this, Notification.CREATE, UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL, null, newOwnedActual));
 		}
-        setOwnedActual(newOwnedActual);
+		getOwnedActuals().add(newOwnedActual);
 		return newOwnedActual;
 	}
 
@@ -303,9 +265,7 @@
 		if (!getCacheAdapter().containsKey(this, UML2Package.eINSTANCE.getElement_OwnedElement())) {
 			Set union = new LinkedHashSet();
 			union.addAll(super.getOwnedElements());
-			if (null != getOwnedActual()) {
-				union.add(getOwnedActual());
-			}
+			union.addAll(getOwnedActuals());
 			getCacheAdapter().put(
 				this,
 				UML2Package.eINSTANCE.getElement_OwnedElement(),
@@ -355,7 +315,7 @@
 				case UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING:
 					return eBasicSetContainer(null, UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING, msgs);
 				case UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL:
-					return basicSetOwnedActual(null, msgs);
+					return ((InternalEList)getOwnedActuals()).basicRemove(otherEnd, msgs);
 				default:
 					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
 			}
@@ -404,7 +364,7 @@
 			case UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL:
 				return getActuals();
 			case UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL:
-				return getOwnedActual();
+				return getOwnedActuals();
 		}
 		return eDynamicGet(eFeature, resolve);
 	}
@@ -435,7 +395,8 @@
 				getActuals().addAll((Collection)newValue);
 				return;
 			case UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL:
-				setOwnedActual((ParameterableElement)newValue);
+				getOwnedActuals().clear();
+				getOwnedActuals().addAll((Collection)newValue);
 				return;
 		}
 		eDynamicSet(eFeature, newValue);
@@ -464,7 +425,7 @@
 				getActuals().clear();
 				return;
 			case UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL:
-				setOwnedActual((ParameterableElement)null);
+				getOwnedActuals().clear();
 				return;
 		}
 		eDynamicUnset(eFeature);
@@ -492,7 +453,7 @@
 			case UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL:
 				return actual != null && !actual.isEmpty();
 			case UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL:
-				return ownedActual != null;
+				return ownedActual != null && !ownedActual.isEmpty();
 		}
 		return eDynamicIsSet(eFeature);
 	}
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/TemplateableClassifierImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/TemplateableClassifierImpl.java
index 8cad70e..b315c26 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/TemplateableClassifierImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/TemplateableClassifierImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateableClassifierImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: TemplateableClassifierImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -96,10 +96,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.TEMPLATEABLE_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.TEMPLATEABLE_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.TEMPLATEABLE_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				default:
 					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
 			}
@@ -141,10 +141,10 @@
 					return eBasicSetContainer(null, UML2Package.TEMPLATEABLE_CLASSIFIER__OWNING_PARAMETER, msgs);
 				case UML2Package.TEMPLATEABLE_CLASSIFIER__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.TEMPLATEABLE_CLASSIFIER__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.TEMPLATEABLE_CLASSIFIER__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.TEMPLATEABLE_CLASSIFIER__OCCURRENCE:
@@ -241,10 +241,10 @@
 				return getAttributes();
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__REPRESENTATION:
@@ -325,14 +325,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -409,12 +409,12 @@
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -493,10 +493,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.TEMPLATEABLE_CLASSIFIER__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.TEMPLATEABLE_CLASSIFIER__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UML2FactoryImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UML2FactoryImpl.java
index 3c170a5..91ad19b 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UML2FactoryImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UML2FactoryImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML2FactoryImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: UML2FactoryImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -244,9 +244,9 @@
 	 */
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
+			case UML2Package.COMMENT: return createComment();
 			case UML2Package.OPAQUE_EXPRESSION: return createOpaqueExpression();
 			case UML2Package.EXPRESSION: return createExpression();
-			case UML2Package.COMMENT: return createComment();
 			case UML2Package.CLASS: return createClass();
 			case UML2Package.PROPERTY: return createProperty();
 			case UML2Package.OPERATION: return createOperation();
@@ -275,11 +275,6 @@
 			case UML2Package.PROFILE_APPLICATION: return createProfileApplication();
 			case UML2Package.EXTENSION: return createExtension();
 			case UML2Package.EXTENSION_END: return createExtensionEnd();
-			case UML2Package.ASSOCIATION_CLASS: return createAssociationClass();
-			case UML2Package.GENERALIZATION_SET: return createGeneralizationSet();
-			case UML2Package.INFORMATION_ITEM: return createInformationItem();
-			case UML2Package.INFORMATION_FLOW: return createInformationFlow();
-			case UML2Package.MODEL: return createModel();
 			case UML2Package.PERMISSION: return createPermission();
 			case UML2Package.DEPENDENCY: return createDependency();
 			case UML2Package.USAGE: return createUsage();
@@ -287,6 +282,22 @@
 			case UML2Package.REALIZATION: return createRealization();
 			case UML2Package.SUBSTITUTION: return createSubstitution();
 			case UML2Package.ACTIVITY: return createActivity();
+			case UML2Package.ASSOCIATION_CLASS: return createAssociationClass();
+			case UML2Package.MODEL: return createModel();
+			case UML2Package.INFORMATION_ITEM: return createInformationItem();
+			case UML2Package.INFORMATION_FLOW: return createInformationFlow();
+			case UML2Package.GENERALIZATION_SET: return createGeneralizationSet();
+			case UML2Package.CONNECTOR_END: return createConnectorEnd();
+			case UML2Package.CONNECTOR: return createConnector();
+			case UML2Package.INTERFACE: return createInterface();
+			case UML2Package.IMPLEMENTATION: return createImplementation();
+			case UML2Package.ACTOR: return createActor();
+			case UML2Package.EXTEND: return createExtend();
+			case UML2Package.USE_CASE: return createUseCase();
+			case UML2Package.EXTENSION_POINT: return createExtensionPoint();
+			case UML2Package.INCLUDE: return createInclude();
+			case UML2Package.ARTIFACT: return createArtifact();
+			case UML2Package.MANIFESTATION: return createManifestation();
 			case UML2Package.ACTION: return createAction();
 			case UML2Package.CONTROL_FLOW: return createControlFlow();
 			case UML2Package.OBJECT_FLOW: return createObjectFlow();
@@ -298,19 +309,29 @@
 			case UML2Package.INPUT_PIN: return createInputPin();
 			case UML2Package.ACTIVITY_PARAMETER_NODE: return createActivityParameterNode();
 			case UML2Package.VALUE_PIN: return createValuePin();
-			case UML2Package.INTERFACE: return createInterface();
-			case UML2Package.IMPLEMENTATION: return createImplementation();
-			case UML2Package.ACTOR: return createActor();
-			case UML2Package.EXTEND: return createExtend();
-			case UML2Package.USE_CASE: return createUseCase();
-			case UML2Package.EXTENSION_POINT: return createExtensionPoint();
-			case UML2Package.INCLUDE: return createInclude();
-			case UML2Package.ARTIFACT: return createArtifact();
-			case UML2Package.MANIFESTATION: return createManifestation();
-			case UML2Package.CONNECTOR_END: return createConnectorEnd();
-			case UML2Package.CONNECTOR: return createConnector();
 			case UML2Package.COLLABORATION_OCCURRENCE: return createCollaborationOccurrence();
 			case UML2Package.COLLABORATION: return createCollaboration();
+			case UML2Package.INTERACTION: return createInteraction();
+			case UML2Package.LIFELINE: return createLifeline();
+			case UML2Package.MESSAGE: return createMessage();
+			case UML2Package.GENERAL_ORDERING: return createGeneralOrdering();
+			case UML2Package.EVENT_OCCURRENCE: return createEventOccurrence();
+			case UML2Package.EXECUTION_OCCURRENCE: return createExecutionOccurrence();
+			case UML2Package.STATE_INVARIANT: return createStateInvariant();
+			case UML2Package.STOP: return createStop();
+			case UML2Package.PORT: return createPort();
+			case UML2Package.CALL_TRIGGER: return createCallTrigger();
+			case UML2Package.CHANGE_TRIGGER: return createChangeTrigger();
+			case UML2Package.RECEPTION: return createReception();
+			case UML2Package.SIGNAL: return createSignal();
+			case UML2Package.SIGNAL_TRIGGER: return createSignalTrigger();
+			case UML2Package.TIME_TRIGGER: return createTimeTrigger();
+			case UML2Package.ANY_TRIGGER: return createAnyTrigger();
+			case UML2Package.VARIABLE: return createVariable();
+			case UML2Package.STRUCTURED_ACTIVITY_NODE: return createStructuredActivityNode();
+			case UML2Package.CONDITIONAL_NODE: return createConditionalNode();
+			case UML2Package.CLAUSE: return createClause();
+			case UML2Package.LOOP_NODE: return createLoopNode();
 			case UML2Package.TEMPLATE_SIGNATURE: return createTemplateSignature();
 			case UML2Package.TEMPLATE_PARAMETER: return createTemplateParameter();
 			case UML2Package.STRING_EXPRESSION: return createStringExpression();
@@ -320,34 +341,6 @@
 			case UML2Package.CLASSIFIER_TEMPLATE_PARAMETER: return createClassifierTemplateParameter();
 			case UML2Package.REDEFINABLE_TEMPLATE_SIGNATURE: return createRedefinableTemplateSignature();
 			case UML2Package.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER: return createConnectableElementTemplateParameter();
-			case UML2Package.INTERACTION: return createInteraction();
-			case UML2Package.LIFELINE: return createLifeline();
-			case UML2Package.MESSAGE: return createMessage();
-			case UML2Package.GENERAL_ORDERING: return createGeneralOrdering();
-			case UML2Package.EVENT_OCCURRENCE: return createEventOccurrence();
-			case UML2Package.EXECUTION_OCCURRENCE: return createExecutionOccurrence();
-			case UML2Package.STATE_INVARIANT: return createStateInvariant();
-			case UML2Package.STOP: return createStop();
-			case UML2Package.VARIABLE: return createVariable();
-			case UML2Package.STRUCTURED_ACTIVITY_NODE: return createStructuredActivityNode();
-			case UML2Package.CONDITIONAL_NODE: return createConditionalNode();
-			case UML2Package.CLAUSE: return createClause();
-			case UML2Package.LOOP_NODE: return createLoopNode();
-			case UML2Package.PORT: return createPort();
-			case UML2Package.CALL_TRIGGER: return createCallTrigger();
-			case UML2Package.CHANGE_TRIGGER: return createChangeTrigger();
-			case UML2Package.RECEPTION: return createReception();
-			case UML2Package.SIGNAL: return createSignal();
-			case UML2Package.SIGNAL_TRIGGER: return createSignalTrigger();
-			case UML2Package.TIME_TRIGGER: return createTimeTrigger();
-			case UML2Package.ANY_TRIGGER: return createAnyTrigger();
-			case UML2Package.INTERACTION_OCCURRENCE: return createInteractionOccurrence();
-			case UML2Package.GATE: return createGate();
-			case UML2Package.PART_DECOMPOSITION: return createPartDecomposition();
-			case UML2Package.INTERACTION_OPERAND: return createInteractionOperand();
-			case UML2Package.INTERACTION_CONSTRAINT: return createInteractionConstraint();
-			case UML2Package.COMBINED_FRAGMENT: return createCombinedFragment();
-			case UML2Package.CONTINUATION: return createContinuation();
 			case UML2Package.STATE_MACHINE: return createStateMachine();
 			case UML2Package.REGION: return createRegion();
 			case UML2Package.PSEUDOSTATE: return createPseudostate();
@@ -355,6 +348,11 @@
 			case UML2Package.CONNECTION_POINT_REFERENCE: return createConnectionPointReference();
 			case UML2Package.TRANSITION: return createTransition();
 			case UML2Package.FINAL_STATE: return createFinalState();
+			case UML2Package.FORK_NODE: return createForkNode();
+			case UML2Package.JOIN_NODE: return createJoinNode();
+			case UML2Package.FLOW_FINAL_NODE: return createFlowFinalNode();
+			case UML2Package.CENTRAL_BUFFER_NODE: return createCentralBufferNode();
+			case UML2Package.ACTIVITY_PARTITION: return createActivityPartition();
 			case UML2Package.CREATE_OBJECT_ACTION: return createCreateObjectAction();
 			case UML2Package.DESTROY_OBJECT_ACTION: return createDestroyObjectAction();
 			case UML2Package.TEST_IDENTITY_ACTION: return createTestIdentityAction();
@@ -380,17 +378,20 @@
 			case UML2Package.SEND_OBJECT_ACTION: return createSendObjectAction();
 			case UML2Package.CALL_OPERATION_ACTION: return createCallOperationAction();
 			case UML2Package.CALL_BEHAVIOR_ACTION: return createCallBehaviorAction();
-			case UML2Package.FORK_NODE: return createForkNode();
-			case UML2Package.JOIN_NODE: return createJoinNode();
-			case UML2Package.FLOW_FINAL_NODE: return createFlowFinalNode();
-			case UML2Package.CENTRAL_BUFFER_NODE: return createCentralBufferNode();
-			case UML2Package.ACTIVITY_PARTITION: return createActivityPartition();
+			case UML2Package.INTERACTION_OCCURRENCE: return createInteractionOccurrence();
+			case UML2Package.GATE: return createGate();
+			case UML2Package.PART_DECOMPOSITION: return createPartDecomposition();
+			case UML2Package.INTERACTION_OPERAND: return createInteractionOperand();
+			case UML2Package.INTERACTION_CONSTRAINT: return createInteractionConstraint();
+			case UML2Package.COMBINED_FRAGMENT: return createCombinedFragment();
+			case UML2Package.CONTINUATION: return createContinuation();
 			case UML2Package.EXPANSION_NODE: return createExpansionNode();
 			case UML2Package.EXPANSION_REGION: return createExpansionRegion();
 			case UML2Package.EXCEPTION_HANDLER: return createExceptionHandler();
 			case UML2Package.PROTOCOL_CONFORMANCE: return createProtocolConformance();
 			case UML2Package.PROTOCOL_STATE_MACHINE: return createProtocolStateMachine();
 			case UML2Package.PROTOCOL_TRANSITION: return createProtocolTransition();
+			case UML2Package.COMPONENT: return createComponent();
 			case UML2Package.TIME_EXPRESSION: return createTimeExpression();
 			case UML2Package.DURATION: return createDuration();
 			case UML2Package.TIME_OBSERVATION_ACTION: return createTimeObservationAction();
@@ -401,9 +402,6 @@
 			case UML2Package.TIME_INTERVAL: return createTimeInterval();
 			case UML2Package.DURATION_OBSERVATION_ACTION: return createDurationObservationAction();
 			case UML2Package.DURATION_CONSTRAINT: return createDurationConstraint();
-			case UML2Package.DATA_STORE_NODE: return createDataStoreNode();
-			case UML2Package.INTERRUPTIBLE_ACTIVITY_REGION: return createInterruptibleActivityRegion();
-			case UML2Package.PARAMETER_SET: return createParameterSet();
 			case UML2Package.READ_EXTENT_ACTION: return createReadExtentAction();
 			case UML2Package.RECLASSIFY_OBJECT_ACTION: return createReclassifyObjectAction();
 			case UML2Package.READ_IS_CLASSIFIED_OBJECT_ACTION: return createReadIsClassifiedObjectAction();
@@ -416,12 +414,14 @@
 			case UML2Package.ACCEPT_CALL_ACTION: return createAcceptCallAction();
 			case UML2Package.REPLY_ACTION: return createReplyAction();
 			case UML2Package.RAISE_EXCEPTION_ACTION: return createRaiseExceptionAction();
-			case UML2Package.COMPONENT: return createComponent();
 			case UML2Package.DEPLOYMENT: return createDeployment();
 			case UML2Package.NODE: return createNode();
 			case UML2Package.DEVICE: return createDevice();
 			case UML2Package.EXECUTION_ENVIRONMENT: return createExecutionEnvironment();
 			case UML2Package.COMMUNICATION_PATH: return createCommunicationPath();
+			case UML2Package.DATA_STORE_NODE: return createDataStoreNode();
+			case UML2Package.INTERRUPTIBLE_ACTIVITY_REGION: return createInterruptibleActivityRegion();
+			case UML2Package.PARAMETER_SET: return createParameterSet();
 			case UML2Package.DEPLOYMENT_SPECIFICATION: return createDeploymentSpecification();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -435,32 +435,71 @@
 	 */
 	public Object createFromString(EDataType eDataType, String initialValue) {
 		switch (eDataType.getClassifierID()) {
-			case UML2Package.VISIBILITY_KIND:
-				return VisibilityKind.get(initialValue);
-			case UML2Package.PARAMETER_DIRECTION_KIND:
-				return ParameterDirectionKind.get(initialValue);
-			case UML2Package.AGGREGATION_KIND:
-				return AggregationKind.get(initialValue);
-			case UML2Package.MESSAGE_KIND:
-				return MessageKind.get(initialValue);
-			case UML2Package.MESSAGE_SORT:
-				return MessageSort.get(initialValue);
-			case UML2Package.CALL_CONCURRENCY_KIND:
-				return CallConcurrencyKind.get(initialValue);
-			case UML2Package.INTERACTION_OPERATOR:
-				return InteractionOperator.get(initialValue);
-			case UML2Package.TRANSITION_KIND:
-				return TransitionKind.get(initialValue);
-			case UML2Package.PSEUDOSTATE_KIND:
-				return PseudostateKind.get(initialValue);
-			case UML2Package.EXPANSION_KIND:
-				return ExpansionKind.get(initialValue);
-			case UML2Package.PARAMETER_EFFECT_KIND:
-				return ParameterEffectKind.get(initialValue);
-			case UML2Package.OBJECT_NODE_ORDERING_KIND:
-				return ObjectNodeOrderingKind.get(initialValue);
-			case UML2Package.CONNECTOR_KIND:
-				return ConnectorKind.get(initialValue);
+			case UML2Package.VISIBILITY_KIND: {
+					VisibilityKind result = VisibilityKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.PARAMETER_DIRECTION_KIND: {
+					ParameterDirectionKind result = ParameterDirectionKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.AGGREGATION_KIND: {
+					AggregationKind result = AggregationKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.MESSAGE_KIND: {
+					MessageKind result = MessageKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.MESSAGE_SORT: {
+					MessageSort result = MessageSort.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.CALL_CONCURRENCY_KIND: {
+					CallConcurrencyKind result = CallConcurrencyKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.TRANSITION_KIND: {
+					TransitionKind result = TransitionKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.PSEUDOSTATE_KIND: {
+					PseudostateKind result = PseudostateKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.INTERACTION_OPERATOR: {
+					InteractionOperator result = InteractionOperator.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.EXPANSION_KIND: {
+					ExpansionKind result = ExpansionKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.CONNECTOR_KIND: {
+					ConnectorKind result = ConnectorKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.PARAMETER_EFFECT_KIND: {
+					ParameterEffectKind result = ParameterEffectKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
+			case UML2Package.OBJECT_NODE_ORDERING_KIND: {
+					ObjectNodeOrderingKind result = ObjectNodeOrderingKind.get(initialValue);
+					if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					return result;
+				}
 			case UML2Package.INTEGER:
 				return createIntegerFromString(eDataType, initialValue);
 			case UML2Package.BOOLEAN:
@@ -497,20 +536,20 @@
 				return instanceValue == null ? null : instanceValue.toString();
 			case UML2Package.CALL_CONCURRENCY_KIND:
 				return instanceValue == null ? null : instanceValue.toString();
-			case UML2Package.INTERACTION_OPERATOR:
-				return instanceValue == null ? null : instanceValue.toString();
 			case UML2Package.TRANSITION_KIND:
 				return instanceValue == null ? null : instanceValue.toString();
 			case UML2Package.PSEUDOSTATE_KIND:
 				return instanceValue == null ? null : instanceValue.toString();
+			case UML2Package.INTERACTION_OPERATOR:
+				return instanceValue == null ? null : instanceValue.toString();
 			case UML2Package.EXPANSION_KIND:
 				return instanceValue == null ? null : instanceValue.toString();
+			case UML2Package.CONNECTOR_KIND:
+				return instanceValue == null ? null : instanceValue.toString();
 			case UML2Package.PARAMETER_EFFECT_KIND:
 				return instanceValue == null ? null : instanceValue.toString();
 			case UML2Package.OBJECT_NODE_ORDERING_KIND:
 				return instanceValue == null ? null : instanceValue.toString();
-			case UML2Package.CONNECTOR_KIND:
-				return instanceValue == null ? null : instanceValue.toString();
 			case UML2Package.INTEGER:
 				return convertIntegerToString(eDataType, instanceValue);
 			case UML2Package.BOOLEAN:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UML2PackageImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UML2PackageImpl.java
index 137d293..5bffe20 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UML2PackageImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UML2PackageImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML2PackageImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: UML2PackageImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -3205,7 +3205,7 @@
 	 * @generated
 	 */
 	public EReference getClassifier_PowertypeExtent() {
-		return (EReference)classifierEClass.getEStructuralFeatures().get(7);
+		return (EReference)classifierEClass.getEStructuralFeatures().get(8);
 	}
 
 	/**
@@ -3214,7 +3214,7 @@
 	 * @generated
 	 */
 	public EReference getClassifier_Substitution() {
-		return (EReference)classifierEClass.getEStructuralFeatures().get(8);
+		return (EReference)classifierEClass.getEStructuralFeatures().get(7);
 	}
 
 	/**
@@ -9018,6 +9018,32 @@
 		createEReference(multiplicityElementEClass, MULTIPLICITY_ELEMENT__UPPER_VALUE);
 		createEReference(multiplicityElementEClass, MULTIPLICITY_ELEMENT__LOWER_VALUE);
 
+		namedElementEClass = createEClass(NAMED_ELEMENT);
+		createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
+		createEAttribute(namedElementEClass, NAMED_ELEMENT__QUALIFIED_NAME);
+		createEAttribute(namedElementEClass, NAMED_ELEMENT__VISIBILITY);
+		createEReference(namedElementEClass, NAMED_ELEMENT__CLIENT_DEPENDENCY);
+		createEReference(namedElementEClass, NAMED_ELEMENT__NAME_EXPRESSION);
+
+		namespaceEClass = createEClass(NAMESPACE);
+		createEReference(namespaceEClass, NAMESPACE__MEMBER);
+		createEReference(namespaceEClass, NAMESPACE__OWNED_RULE);
+		createEReference(namespaceEClass, NAMESPACE__IMPORTED_MEMBER);
+		createEReference(namespaceEClass, NAMESPACE__ELEMENT_IMPORT);
+		createEReference(namespaceEClass, NAMESPACE__PACKAGE_IMPORT);
+
+		commentEClass = createEClass(COMMENT);
+		createEAttribute(commentEClass, COMMENT__BODY);
+		createEReference(commentEClass, COMMENT__ANNOTATED_ELEMENT);
+		createEReference(commentEClass, COMMENT__BODY_EXPRESSION);
+
+		directedRelationshipEClass = createEClass(DIRECTED_RELATIONSHIP);
+		createEReference(directedRelationshipEClass, DIRECTED_RELATIONSHIP__SOURCE);
+		createEReference(directedRelationshipEClass, DIRECTED_RELATIONSHIP__TARGET);
+
+		relationshipEClass = createEClass(RELATIONSHIP);
+		createEReference(relationshipEClass, RELATIONSHIP__RELATED_ELEMENT);
+
 		opaqueExpressionEClass = createEClass(OPAQUE_EXPRESSION);
 		createEAttribute(opaqueExpressionEClass, OPAQUE_EXPRESSION__BODY);
 		createEAttribute(opaqueExpressionEClass, OPAQUE_EXPRESSION__LANGUAGE);
@@ -9030,11 +9056,6 @@
 		createEAttribute(expressionEClass, EXPRESSION__SYMBOL);
 		createEReference(expressionEClass, EXPRESSION__OPERAND);
 
-		commentEClass = createEClass(COMMENT);
-		createEAttribute(commentEClass, COMMENT__BODY);
-		createEReference(commentEClass, COMMENT__ANNOTATED_ELEMENT);
-		createEReference(commentEClass, COMMENT__BODY_EXPRESSION);
-
 		classEClass = createEClass(CLASS);
 		createEReference(classEClass, CLASS__OWNED_OPERATION);
 		createEReference(classEClass, CLASS__SUPER_CLASS);
@@ -9086,13 +9107,6 @@
 		createEAttribute(parameterEClass, PARAMETER__EFFECT);
 		createEReference(parameterEClass, PARAMETER__PARAMETER_SET);
 
-		namedElementEClass = createEClass(NAMED_ELEMENT);
-		createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
-		createEAttribute(namedElementEClass, NAMED_ELEMENT__QUALIFIED_NAME);
-		createEAttribute(namedElementEClass, NAMED_ELEMENT__VISIBILITY);
-		createEReference(namedElementEClass, NAMED_ELEMENT__CLIENT_DEPENDENCY);
-		createEReference(namedElementEClass, NAMED_ELEMENT__NAME_EXPRESSION);
-
 		packageEClass = createEClass(PACKAGE);
 		createEReference(packageEClass, PACKAGE__NESTED_PACKAGE);
 		createEReference(packageEClass, PACKAGE__NESTING_PACKAGE);
@@ -9114,20 +9128,6 @@
 
 		primitiveTypeEClass = createEClass(PRIMITIVE_TYPE);
 
-		namespaceEClass = createEClass(NAMESPACE);
-		createEReference(namespaceEClass, NAMESPACE__MEMBER);
-		createEReference(namespaceEClass, NAMESPACE__OWNED_RULE);
-		createEReference(namespaceEClass, NAMESPACE__IMPORTED_MEMBER);
-		createEReference(namespaceEClass, NAMESPACE__ELEMENT_IMPORT);
-		createEReference(namespaceEClass, NAMESPACE__PACKAGE_IMPORT);
-
-		directedRelationshipEClass = createEClass(DIRECTED_RELATIONSHIP);
-		createEReference(directedRelationshipEClass, DIRECTED_RELATIONSHIP__SOURCE);
-		createEReference(directedRelationshipEClass, DIRECTED_RELATIONSHIP__TARGET);
-
-		relationshipEClass = createEClass(RELATIONSHIP);
-		createEReference(relationshipEClass, RELATIONSHIP__RELATED_ELEMENT);
-
 		constraintEClass = createEClass(CONSTRAINT);
 		createEReference(constraintEClass, CONSTRAINT__CONTEXT);
 		createEReference(constraintEClass, CONSTRAINT__NAMESPACE);
@@ -9158,8 +9158,8 @@
 		createEReference(classifierEClass, CLASSIFIER__GENERALIZATION);
 		createEReference(classifierEClass, CLASSIFIER__ATTRIBUTE);
 		createEReference(classifierEClass, CLASSIFIER__REDEFINED_CLASSIFIER);
-		createEReference(classifierEClass, CLASSIFIER__POWERTYPE_EXTENT);
 		createEReference(classifierEClass, CLASSIFIER__SUBSTITUTION);
+		createEReference(classifierEClass, CLASSIFIER__POWERTYPE_EXTENT);
 		createEReference(classifierEClass, CLASSIFIER__OWNED_USE_CASE);
 		createEReference(classifierEClass, CLASSIFIER__REPRESENTATION);
 		createEReference(classifierEClass, CLASSIFIER__OCCURRENCE);
@@ -9186,6 +9186,10 @@
 		createEAttribute(generalizationEClass, GENERALIZATION__IS_SUBSTITUTABLE);
 		createEReference(generalizationEClass, GENERALIZATION__GENERALIZATION_SET);
 
+		redefinableElementEClass = createEClass(REDEFINABLE_ELEMENT);
+		createEReference(redefinableElementEClass, REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
+		createEAttribute(redefinableElementEClass, REDEFINABLE_ELEMENT__IS_LEAF);
+
 		instanceSpecificationEClass = createEClass(INSTANCE_SPECIFICATION);
 		createEReference(instanceSpecificationEClass, INSTANCE_SPECIFICATION__SLOT);
 		createEReference(instanceSpecificationEClass, INSTANCE_SPECIFICATION__CLASSIFIER);
@@ -9199,10 +9203,6 @@
 		instanceValueEClass = createEClass(INSTANCE_VALUE);
 		createEReference(instanceValueEClass, INSTANCE_VALUE__INSTANCE);
 
-		redefinableElementEClass = createEClass(REDEFINABLE_ELEMENT);
-		createEReference(redefinableElementEClass, REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT);
-		createEAttribute(redefinableElementEClass, REDEFINABLE_ELEMENT__IS_LEAF);
-
 		packageableElementEClass = createEClass(PACKAGEABLE_ELEMENT);
 		createEAttribute(packageableElementEClass, PACKAGEABLE_ELEMENT__PACKAGEABLE_ELEMENT_VISIBILITY);
 
@@ -9243,24 +9243,6 @@
 
 		extensionEndEClass = createEClass(EXTENSION_END);
 
-		associationClassEClass = createEClass(ASSOCIATION_CLASS);
-
-		generalizationSetEClass = createEClass(GENERALIZATION_SET);
-		createEAttribute(generalizationSetEClass, GENERALIZATION_SET__IS_COVERING);
-		createEAttribute(generalizationSetEClass, GENERALIZATION_SET__IS_DISJOINT);
-		createEReference(generalizationSetEClass, GENERALIZATION_SET__POWERTYPE);
-		createEReference(generalizationSetEClass, GENERALIZATION_SET__GENERALIZATION);
-
-		informationItemEClass = createEClass(INFORMATION_ITEM);
-		createEReference(informationItemEClass, INFORMATION_ITEM__REPRESENTED);
-
-		informationFlowEClass = createEClass(INFORMATION_FLOW);
-		createEReference(informationFlowEClass, INFORMATION_FLOW__REALIZATION);
-		createEReference(informationFlowEClass, INFORMATION_FLOW__CONVEYED);
-
-		modelEClass = createEClass(MODEL);
-		createEAttribute(modelEClass, MODEL__VIEWPOINT);
-
 		permissionEClass = createEClass(PERMISSION);
 
 		dependencyEClass = createEClass(DEPENDENCY);
@@ -9308,6 +9290,88 @@
 		createEAttribute(activityEClass, ACTIVITY__IS_SINGLE_EXECUTION);
 		createEAttribute(activityEClass, ACTIVITY__IS_READ_ONLY);
 
+		associationClassEClass = createEClass(ASSOCIATION_CLASS);
+
+		modelEClass = createEClass(MODEL);
+		createEAttribute(modelEClass, MODEL__VIEWPOINT);
+
+		informationItemEClass = createEClass(INFORMATION_ITEM);
+		createEReference(informationItemEClass, INFORMATION_ITEM__REPRESENTED);
+
+		informationFlowEClass = createEClass(INFORMATION_FLOW);
+		createEReference(informationFlowEClass, INFORMATION_FLOW__REALIZATION);
+		createEReference(informationFlowEClass, INFORMATION_FLOW__CONVEYED);
+
+		generalizationSetEClass = createEClass(GENERALIZATION_SET);
+		createEAttribute(generalizationSetEClass, GENERALIZATION_SET__IS_COVERING);
+		createEAttribute(generalizationSetEClass, GENERALIZATION_SET__IS_DISJOINT);
+		createEReference(generalizationSetEClass, GENERALIZATION_SET__POWERTYPE);
+		createEReference(generalizationSetEClass, GENERALIZATION_SET__GENERALIZATION);
+
+		connectorEndEClass = createEClass(CONNECTOR_END);
+		createEReference(connectorEndEClass, CONNECTOR_END__DEFINING_END);
+		createEReference(connectorEndEClass, CONNECTOR_END__ROLE);
+		createEReference(connectorEndEClass, CONNECTOR_END__PART_WITH_PORT);
+
+		connectableElementEClass = createEClass(CONNECTABLE_ELEMENT);
+		createEReference(connectableElementEClass, CONNECTABLE_ELEMENT__END);
+
+		connectorEClass = createEClass(CONNECTOR);
+		createEReference(connectorEClass, CONNECTOR__TYPE);
+		createEReference(connectorEClass, CONNECTOR__REDEFINED_CONNECTOR);
+		createEReference(connectorEClass, CONNECTOR__END);
+		createEAttribute(connectorEClass, CONNECTOR__KIND);
+		createEReference(connectorEClass, CONNECTOR__CONTRACT);
+
+		structuredClassifierEClass = createEClass(STRUCTURED_CLASSIFIER);
+		createEReference(structuredClassifierEClass, STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE);
+		createEReference(structuredClassifierEClass, STRUCTURED_CLASSIFIER__PART);
+		createEReference(structuredClassifierEClass, STRUCTURED_CLASSIFIER__ROLE);
+		createEReference(structuredClassifierEClass, STRUCTURED_CLASSIFIER__OWNED_CONNECTOR);
+
+		interfaceEClass = createEClass(INTERFACE);
+		createEReference(interfaceEClass, INTERFACE__OWNED_ATTRIBUTE);
+		createEReference(interfaceEClass, INTERFACE__OWNED_OPERATION);
+		createEReference(interfaceEClass, INTERFACE__REDEFINED_INTERFACE);
+		createEReference(interfaceEClass, INTERFACE__NESTED_CLASSIFIER);
+		createEReference(interfaceEClass, INTERFACE__OWNED_RECEPTION);
+		createEReference(interfaceEClass, INTERFACE__PROTOCOL);
+
+		implementationEClass = createEClass(IMPLEMENTATION);
+		createEReference(implementationEClass, IMPLEMENTATION__CONTRACT);
+		createEReference(implementationEClass, IMPLEMENTATION__IMPLEMENTING_CLASSIFIER);
+
+		actorEClass = createEClass(ACTOR);
+
+		extendEClass = createEClass(EXTEND);
+		createEReference(extendEClass, EXTEND__EXTENDED_CASE);
+		createEReference(extendEClass, EXTEND__EXTENSION);
+		createEReference(extendEClass, EXTEND__CONDITION);
+		createEReference(extendEClass, EXTEND__EXTENSION_LOCATION);
+
+		useCaseEClass = createEClass(USE_CASE);
+		createEReference(useCaseEClass, USE_CASE__INCLUDE);
+		createEReference(useCaseEClass, USE_CASE__EXTEND);
+		createEReference(useCaseEClass, USE_CASE__EXTENSION_POINT);
+		createEReference(useCaseEClass, USE_CASE__SUBJECT);
+
+		extensionPointEClass = createEClass(EXTENSION_POINT);
+		createEReference(extensionPointEClass, EXTENSION_POINT__USE_CASE);
+
+		includeEClass = createEClass(INCLUDE);
+		createEReference(includeEClass, INCLUDE__INCLUDING_CASE);
+		createEReference(includeEClass, INCLUDE__ADDITION);
+
+		artifactEClass = createEClass(ARTIFACT);
+		createEAttribute(artifactEClass, ARTIFACT__FILE_NAME);
+		createEReference(artifactEClass, ARTIFACT__NESTED_ARTIFACT);
+		createEReference(artifactEClass, ARTIFACT__MANIFESTATION);
+		createEReference(artifactEClass, ARTIFACT__OWNED_OPERATION);
+		createEReference(artifactEClass, ARTIFACT__OWNED_ATTRIBUTE);
+
+		manifestationEClass = createEClass(MANIFESTATION);
+		createEReference(manifestationEClass, MANIFESTATION__UTILIZED_ELEMENT);
+
 		activityEdgeEClass = createEClass(ACTIVITY_EDGE);
 		createEReference(activityEdgeEClass, ACTIVITY_EDGE__ACTIVITY);
 		createEReference(activityEdgeEClass, ACTIVITY_EDGE__SOURCE);
@@ -9384,70 +9448,6 @@
 		valuePinEClass = createEClass(VALUE_PIN);
 		createEReference(valuePinEClass, VALUE_PIN__VALUE);
 
-		interfaceEClass = createEClass(INTERFACE);
-		createEReference(interfaceEClass, INTERFACE__OWNED_ATTRIBUTE);
-		createEReference(interfaceEClass, INTERFACE__OWNED_OPERATION);
-		createEReference(interfaceEClass, INTERFACE__REDEFINED_INTERFACE);
-		createEReference(interfaceEClass, INTERFACE__NESTED_CLASSIFIER);
-		createEReference(interfaceEClass, INTERFACE__OWNED_RECEPTION);
-		createEReference(interfaceEClass, INTERFACE__PROTOCOL);
-
-		implementationEClass = createEClass(IMPLEMENTATION);
-		createEReference(implementationEClass, IMPLEMENTATION__CONTRACT);
-		createEReference(implementationEClass, IMPLEMENTATION__IMPLEMENTING_CLASSIFIER);
-
-		actorEClass = createEClass(ACTOR);
-
-		extendEClass = createEClass(EXTEND);
-		createEReference(extendEClass, EXTEND__EXTENDED_CASE);
-		createEReference(extendEClass, EXTEND__EXTENSION);
-		createEReference(extendEClass, EXTEND__CONDITION);
-		createEReference(extendEClass, EXTEND__EXTENSION_LOCATION);
-
-		useCaseEClass = createEClass(USE_CASE);
-		createEReference(useCaseEClass, USE_CASE__INCLUDE);
-		createEReference(useCaseEClass, USE_CASE__EXTEND);
-		createEReference(useCaseEClass, USE_CASE__EXTENSION_POINT);
-		createEReference(useCaseEClass, USE_CASE__SUBJECT);
-
-		extensionPointEClass = createEClass(EXTENSION_POINT);
-		createEReference(extensionPointEClass, EXTENSION_POINT__USE_CASE);
-
-		includeEClass = createEClass(INCLUDE);
-		createEReference(includeEClass, INCLUDE__INCLUDING_CASE);
-		createEReference(includeEClass, INCLUDE__ADDITION);
-
-		artifactEClass = createEClass(ARTIFACT);
-		createEAttribute(artifactEClass, ARTIFACT__FILE_NAME);
-		createEReference(artifactEClass, ARTIFACT__NESTED_ARTIFACT);
-		createEReference(artifactEClass, ARTIFACT__MANIFESTATION);
-		createEReference(artifactEClass, ARTIFACT__OWNED_OPERATION);
-		createEReference(artifactEClass, ARTIFACT__OWNED_ATTRIBUTE);
-
-		manifestationEClass = createEClass(MANIFESTATION);
-		createEReference(manifestationEClass, MANIFESTATION__UTILIZED_ELEMENT);
-
-		connectorEndEClass = createEClass(CONNECTOR_END);
-		createEReference(connectorEndEClass, CONNECTOR_END__DEFINING_END);
-		createEReference(connectorEndEClass, CONNECTOR_END__ROLE);
-		createEReference(connectorEndEClass, CONNECTOR_END__PART_WITH_PORT);
-
-		connectableElementEClass = createEClass(CONNECTABLE_ELEMENT);
-		createEReference(connectableElementEClass, CONNECTABLE_ELEMENT__END);
-
-		connectorEClass = createEClass(CONNECTOR);
-		createEReference(connectorEClass, CONNECTOR__TYPE);
-		createEReference(connectorEClass, CONNECTOR__REDEFINED_CONNECTOR);
-		createEReference(connectorEClass, CONNECTOR__END);
-		createEAttribute(connectorEClass, CONNECTOR__KIND);
-		createEReference(connectorEClass, CONNECTOR__CONTRACT);
-
-		structuredClassifierEClass = createEClass(STRUCTURED_CLASSIFIER);
-		createEReference(structuredClassifierEClass, STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE);
-		createEReference(structuredClassifierEClass, STRUCTURED_CLASSIFIER__PART);
-		createEReference(structuredClassifierEClass, STRUCTURED_CLASSIFIER__ROLE);
-		createEReference(structuredClassifierEClass, STRUCTURED_CLASSIFIER__OWNED_CONNECTOR);
-
 		collaborationOccurrenceEClass = createEClass(COLLABORATION_OCCURRENCE);
 		createEReference(collaborationOccurrenceEClass, COLLABORATION_OCCURRENCE__TYPE);
 		createEReference(collaborationOccurrenceEClass, COLLABORATION_OCCURRENCE__ROLE_BINDING);
@@ -9455,56 +9455,6 @@
 		collaborationEClass = createEClass(COLLABORATION);
 		createEReference(collaborationEClass, COLLABORATION__COLLABORATION_ROLE);
 
-		templateSignatureEClass = createEClass(TEMPLATE_SIGNATURE);
-		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__PARAMETER);
-		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__OWNED_PARAMETER);
-		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__NESTED_SIGNATURE);
-		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__NESTING_SIGNATURE);
-		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__TEMPLATE);
-
-		templateParameterEClass = createEClass(TEMPLATE_PARAMETER);
-		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__SIGNATURE);
-		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__PARAMETERED_ELEMENT);
-		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT);
-		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__DEFAULT);
-		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__OWNED_DEFAULT);
-
-		templateableElementEClass = createEClass(TEMPLATEABLE_ELEMENT);
-		createEReference(templateableElementEClass, TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING);
-		createEReference(templateableElementEClass, TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE);
-
-		stringExpressionEClass = createEClass(STRING_EXPRESSION);
-		createEReference(stringExpressionEClass, STRING_EXPRESSION__SUB_EXPRESSION);
-		createEReference(stringExpressionEClass, STRING_EXPRESSION__OWNING_EXPRESSION);
-
-		parameterableElementEClass = createEClass(PARAMETERABLE_ELEMENT);
-		createEReference(parameterableElementEClass, PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER);
-		createEReference(parameterableElementEClass, PARAMETERABLE_ELEMENT__OWNING_PARAMETER);
-
-		templateBindingEClass = createEClass(TEMPLATE_BINDING);
-		createEReference(templateBindingEClass, TEMPLATE_BINDING__BOUND_ELEMENT);
-		createEReference(templateBindingEClass, TEMPLATE_BINDING__SIGNATURE);
-		createEReference(templateBindingEClass, TEMPLATE_BINDING__PARAMETER_SUBSTITUTION);
-
-		templateParameterSubstitutionEClass = createEClass(TEMPLATE_PARAMETER_SUBSTITUTION);
-		createEReference(templateParameterSubstitutionEClass, TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL);
-		createEReference(templateParameterSubstitutionEClass, TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING);
-		createEReference(templateParameterSubstitutionEClass, TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL);
-		createEReference(templateParameterSubstitutionEClass, TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL);
-
-		operationTemplateParameterEClass = createEClass(OPERATION_TEMPLATE_PARAMETER);
-
-		classifierTemplateParameterEClass = createEClass(CLASSIFIER_TEMPLATE_PARAMETER);
-		createEAttribute(classifierTemplateParameterEClass, CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE);
-
-		parameterableClassifierEClass = createEClass(PARAMETERABLE_CLASSIFIER);
-
-		redefinableTemplateSignatureEClass = createEClass(REDEFINABLE_TEMPLATE_SIGNATURE);
-
-		templateableClassifierEClass = createEClass(TEMPLATEABLE_CLASSIFIER);
-
-		connectableElementTemplateParameterEClass = createEClass(CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER);
-
 		interactionEClass = createEClass(INTERACTION);
 		createEReference(interactionEClass, INTERACTION__LIFELINE);
 		createEReference(interactionEClass, INTERACTION__MESSAGE);
@@ -9558,40 +9508,6 @@
 
 		stopEClass = createEClass(STOP);
 
-		variableEClass = createEClass(VARIABLE);
-		createEReference(variableEClass, VARIABLE__SCOPE);
-
-		structuredActivityNodeEClass = createEClass(STRUCTURED_ACTIVITY_NODE);
-		createEReference(structuredActivityNodeEClass, STRUCTURED_ACTIVITY_NODE__VARIABLE);
-		createEReference(structuredActivityNodeEClass, STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE);
-		createEReference(structuredActivityNodeEClass, STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE);
-		createEAttribute(structuredActivityNodeEClass, STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE);
-
-		conditionalNodeEClass = createEClass(CONDITIONAL_NODE);
-		createEAttribute(conditionalNodeEClass, CONDITIONAL_NODE__IS_DETERMINATE);
-		createEAttribute(conditionalNodeEClass, CONDITIONAL_NODE__IS_ASSURED);
-		createEReference(conditionalNodeEClass, CONDITIONAL_NODE__CLAUSE);
-		createEReference(conditionalNodeEClass, CONDITIONAL_NODE__RESULT);
-
-		clauseEClass = createEClass(CLAUSE);
-		createEReference(clauseEClass, CLAUSE__TEST);
-		createEReference(clauseEClass, CLAUSE__BODY);
-		createEReference(clauseEClass, CLAUSE__PREDECESSOR_CLAUSE);
-		createEReference(clauseEClass, CLAUSE__SUCCESSOR_CLAUSE);
-		createEReference(clauseEClass, CLAUSE__DECIDER);
-		createEReference(clauseEClass, CLAUSE__BODY_OUTPUT);
-
-		loopNodeEClass = createEClass(LOOP_NODE);
-		createEAttribute(loopNodeEClass, LOOP_NODE__IS_TESTED_FIRST);
-		createEReference(loopNodeEClass, LOOP_NODE__BODY_PART);
-		createEReference(loopNodeEClass, LOOP_NODE__SETUP_PART);
-		createEReference(loopNodeEClass, LOOP_NODE__DECIDER);
-		createEReference(loopNodeEClass, LOOP_NODE__TEST);
-		createEReference(loopNodeEClass, LOOP_NODE__RESULT);
-		createEReference(loopNodeEClass, LOOP_NODE__LOOP_VARIABLE);
-		createEReference(loopNodeEClass, LOOP_NODE__BODY_OUTPUT);
-		createEReference(loopNodeEClass, LOOP_NODE__LOOP_VARIABLE_INPUT);
-
 		portEClass = createEClass(PORT);
 		createEAttribute(portEClass, PORT__IS_BEHAVIOR);
 		createEAttribute(portEClass, PORT__IS_SERVICE);
@@ -9629,30 +9545,89 @@
 
 		anyTriggerEClass = createEClass(ANY_TRIGGER);
 
-		interactionOccurrenceEClass = createEClass(INTERACTION_OCCURRENCE);
-		createEReference(interactionOccurrenceEClass, INTERACTION_OCCURRENCE__REFERS_TO);
-		createEReference(interactionOccurrenceEClass, INTERACTION_OCCURRENCE__ACTUAL_GATE);
-		createEReference(interactionOccurrenceEClass, INTERACTION_OCCURRENCE__ARGUMENT);
+		variableEClass = createEClass(VARIABLE);
+		createEReference(variableEClass, VARIABLE__SCOPE);
 
-		gateEClass = createEClass(GATE);
+		structuredActivityNodeEClass = createEClass(STRUCTURED_ACTIVITY_NODE);
+		createEReference(structuredActivityNodeEClass, STRUCTURED_ACTIVITY_NODE__VARIABLE);
+		createEReference(structuredActivityNodeEClass, STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE);
+		createEReference(structuredActivityNodeEClass, STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE);
+		createEAttribute(structuredActivityNodeEClass, STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE);
 
-		partDecompositionEClass = createEClass(PART_DECOMPOSITION);
+		conditionalNodeEClass = createEClass(CONDITIONAL_NODE);
+		createEAttribute(conditionalNodeEClass, CONDITIONAL_NODE__IS_DETERMINATE);
+		createEAttribute(conditionalNodeEClass, CONDITIONAL_NODE__IS_ASSURED);
+		createEReference(conditionalNodeEClass, CONDITIONAL_NODE__CLAUSE);
+		createEReference(conditionalNodeEClass, CONDITIONAL_NODE__RESULT);
 
-		interactionOperandEClass = createEClass(INTERACTION_OPERAND);
-		createEReference(interactionOperandEClass, INTERACTION_OPERAND__GUARD);
-		createEReference(interactionOperandEClass, INTERACTION_OPERAND__FRAGMENT);
+		clauseEClass = createEClass(CLAUSE);
+		createEReference(clauseEClass, CLAUSE__TEST);
+		createEReference(clauseEClass, CLAUSE__BODY);
+		createEReference(clauseEClass, CLAUSE__PREDECESSOR_CLAUSE);
+		createEReference(clauseEClass, CLAUSE__SUCCESSOR_CLAUSE);
+		createEReference(clauseEClass, CLAUSE__DECIDER);
+		createEReference(clauseEClass, CLAUSE__BODY_OUTPUT);
 
-		interactionConstraintEClass = createEClass(INTERACTION_CONSTRAINT);
-		createEReference(interactionConstraintEClass, INTERACTION_CONSTRAINT__MININT);
-		createEReference(interactionConstraintEClass, INTERACTION_CONSTRAINT__MAXINT);
+		loopNodeEClass = createEClass(LOOP_NODE);
+		createEAttribute(loopNodeEClass, LOOP_NODE__IS_TESTED_FIRST);
+		createEReference(loopNodeEClass, LOOP_NODE__BODY_PART);
+		createEReference(loopNodeEClass, LOOP_NODE__SETUP_PART);
+		createEReference(loopNodeEClass, LOOP_NODE__DECIDER);
+		createEReference(loopNodeEClass, LOOP_NODE__TEST);
+		createEReference(loopNodeEClass, LOOP_NODE__RESULT);
+		createEReference(loopNodeEClass, LOOP_NODE__LOOP_VARIABLE);
+		createEReference(loopNodeEClass, LOOP_NODE__BODY_OUTPUT);
+		createEReference(loopNodeEClass, LOOP_NODE__LOOP_VARIABLE_INPUT);
 
-		combinedFragmentEClass = createEClass(COMBINED_FRAGMENT);
-		createEAttribute(combinedFragmentEClass, COMBINED_FRAGMENT__INTERACTION_OPERATOR);
-		createEReference(combinedFragmentEClass, COMBINED_FRAGMENT__OPERAND);
-		createEReference(combinedFragmentEClass, COMBINED_FRAGMENT__CFRAGMENT_GATE);
+		templateSignatureEClass = createEClass(TEMPLATE_SIGNATURE);
+		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__PARAMETER);
+		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__OWNED_PARAMETER);
+		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__NESTED_SIGNATURE);
+		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__NESTING_SIGNATURE);
+		createEReference(templateSignatureEClass, TEMPLATE_SIGNATURE__TEMPLATE);
 
-		continuationEClass = createEClass(CONTINUATION);
-		createEAttribute(continuationEClass, CONTINUATION__SETTING);
+		templateParameterEClass = createEClass(TEMPLATE_PARAMETER);
+		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__SIGNATURE);
+		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__PARAMETERED_ELEMENT);
+		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT);
+		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__DEFAULT);
+		createEReference(templateParameterEClass, TEMPLATE_PARAMETER__OWNED_DEFAULT);
+
+		templateableElementEClass = createEClass(TEMPLATEABLE_ELEMENT);
+		createEReference(templateableElementEClass, TEMPLATEABLE_ELEMENT__TEMPLATE_BINDING);
+		createEReference(templateableElementEClass, TEMPLATEABLE_ELEMENT__OWNED_TEMPLATE_SIGNATURE);
+
+		stringExpressionEClass = createEClass(STRING_EXPRESSION);
+		createEReference(stringExpressionEClass, STRING_EXPRESSION__SUB_EXPRESSION);
+		createEReference(stringExpressionEClass, STRING_EXPRESSION__OWNING_EXPRESSION);
+
+		parameterableElementEClass = createEClass(PARAMETERABLE_ELEMENT);
+		createEReference(parameterableElementEClass, PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER);
+		createEReference(parameterableElementEClass, PARAMETERABLE_ELEMENT__OWNING_PARAMETER);
+
+		templateBindingEClass = createEClass(TEMPLATE_BINDING);
+		createEReference(templateBindingEClass, TEMPLATE_BINDING__BOUND_ELEMENT);
+		createEReference(templateBindingEClass, TEMPLATE_BINDING__SIGNATURE);
+		createEReference(templateBindingEClass, TEMPLATE_BINDING__PARAMETER_SUBSTITUTION);
+
+		templateParameterSubstitutionEClass = createEClass(TEMPLATE_PARAMETER_SUBSTITUTION);
+		createEReference(templateParameterSubstitutionEClass, TEMPLATE_PARAMETER_SUBSTITUTION__FORMAL);
+		createEReference(templateParameterSubstitutionEClass, TEMPLATE_PARAMETER_SUBSTITUTION__TEMPLATE_BINDING);
+		createEReference(templateParameterSubstitutionEClass, TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL);
+		createEReference(templateParameterSubstitutionEClass, TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL);
+
+		operationTemplateParameterEClass = createEClass(OPERATION_TEMPLATE_PARAMETER);
+
+		classifierTemplateParameterEClass = createEClass(CLASSIFIER_TEMPLATE_PARAMETER);
+		createEAttribute(classifierTemplateParameterEClass, CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE);
+
+		parameterableClassifierEClass = createEClass(PARAMETERABLE_CLASSIFIER);
+
+		redefinableTemplateSignatureEClass = createEClass(REDEFINABLE_TEMPLATE_SIGNATURE);
+
+		templateableClassifierEClass = createEClass(TEMPLATEABLE_CLASSIFIER);
+
+		connectableElementTemplateParameterEClass = createEClass(CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER);
 
 		stateMachineEClass = createEClass(STATE_MACHINE);
 		createEReference(stateMachineEClass, STATE_MACHINE__REGION);
@@ -9704,6 +9679,25 @@
 
 		finalStateEClass = createEClass(FINAL_STATE);
 
+		forkNodeEClass = createEClass(FORK_NODE);
+
+		joinNodeEClass = createEClass(JOIN_NODE);
+		createEAttribute(joinNodeEClass, JOIN_NODE__IS_COMBINE_DUPLICATE);
+		createEReference(joinNodeEClass, JOIN_NODE__JOIN_SPEC);
+
+		flowFinalNodeEClass = createEClass(FLOW_FINAL_NODE);
+
+		centralBufferNodeEClass = createEClass(CENTRAL_BUFFER_NODE);
+
+		activityPartitionEClass = createEClass(ACTIVITY_PARTITION);
+		createEAttribute(activityPartitionEClass, ACTIVITY_PARTITION__IS_DIMENSION);
+		createEAttribute(activityPartitionEClass, ACTIVITY_PARTITION__IS_EXTERNAL);
+		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__CONTAINED_EDGE);
+		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__CONTAINED_NODE);
+		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__SUBGROUP);
+		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__SUPER_PARTITION);
+		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__REPRESENTS);
+
 		createObjectActionEClass = createEClass(CREATE_OBJECT_ACTION);
 		createEReference(createObjectActionEClass, CREATE_OBJECT_ACTION__CLASSIFIER);
 		createEReference(createObjectActionEClass, CREATE_OBJECT_ACTION__RESULT);
@@ -9814,24 +9808,30 @@
 		callBehaviorActionEClass = createEClass(CALL_BEHAVIOR_ACTION);
 		createEReference(callBehaviorActionEClass, CALL_BEHAVIOR_ACTION__BEHAVIOR);
 
-		forkNodeEClass = createEClass(FORK_NODE);
+		interactionOccurrenceEClass = createEClass(INTERACTION_OCCURRENCE);
+		createEReference(interactionOccurrenceEClass, INTERACTION_OCCURRENCE__REFERS_TO);
+		createEReference(interactionOccurrenceEClass, INTERACTION_OCCURRENCE__ACTUAL_GATE);
+		createEReference(interactionOccurrenceEClass, INTERACTION_OCCURRENCE__ARGUMENT);
 
-		joinNodeEClass = createEClass(JOIN_NODE);
-		createEAttribute(joinNodeEClass, JOIN_NODE__IS_COMBINE_DUPLICATE);
-		createEReference(joinNodeEClass, JOIN_NODE__JOIN_SPEC);
+		gateEClass = createEClass(GATE);
 
-		flowFinalNodeEClass = createEClass(FLOW_FINAL_NODE);
+		partDecompositionEClass = createEClass(PART_DECOMPOSITION);
 
-		centralBufferNodeEClass = createEClass(CENTRAL_BUFFER_NODE);
+		interactionOperandEClass = createEClass(INTERACTION_OPERAND);
+		createEReference(interactionOperandEClass, INTERACTION_OPERAND__GUARD);
+		createEReference(interactionOperandEClass, INTERACTION_OPERAND__FRAGMENT);
 
-		activityPartitionEClass = createEClass(ACTIVITY_PARTITION);
-		createEAttribute(activityPartitionEClass, ACTIVITY_PARTITION__IS_DIMENSION);
-		createEAttribute(activityPartitionEClass, ACTIVITY_PARTITION__IS_EXTERNAL);
-		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__CONTAINED_EDGE);
-		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__CONTAINED_NODE);
-		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__SUBGROUP);
-		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__SUPER_PARTITION);
-		createEReference(activityPartitionEClass, ACTIVITY_PARTITION__REPRESENTS);
+		interactionConstraintEClass = createEClass(INTERACTION_CONSTRAINT);
+		createEReference(interactionConstraintEClass, INTERACTION_CONSTRAINT__MININT);
+		createEReference(interactionConstraintEClass, INTERACTION_CONSTRAINT__MAXINT);
+
+		combinedFragmentEClass = createEClass(COMBINED_FRAGMENT);
+		createEAttribute(combinedFragmentEClass, COMBINED_FRAGMENT__INTERACTION_OPERATOR);
+		createEReference(combinedFragmentEClass, COMBINED_FRAGMENT__OPERAND);
+		createEReference(combinedFragmentEClass, COMBINED_FRAGMENT__CFRAGMENT_GATE);
+
+		continuationEClass = createEClass(CONTINUATION);
+		createEAttribute(continuationEClass, CONTINUATION__SETTING);
 
 		expansionNodeEClass = createEClass(EXPANSION_NODE);
 		createEReference(expansionNodeEClass, EXPANSION_NODE__REGION_AS_OUTPUT);
@@ -9860,6 +9860,13 @@
 		createEReference(protocolTransitionEClass, PROTOCOL_TRANSITION__REFERRED);
 		createEReference(protocolTransitionEClass, PROTOCOL_TRANSITION__PRE_CONDITION);
 
+		componentEClass = createEClass(COMPONENT);
+		createEAttribute(componentEClass, COMPONENT__IS_INDIRECTLY_INSTANTIATED);
+		createEReference(componentEClass, COMPONENT__REQUIRED);
+		createEReference(componentEClass, COMPONENT__PROVIDED);
+		createEReference(componentEClass, COMPONENT__REALIZATION);
+		createEReference(componentEClass, COMPONENT__OWNED_MEMBER);
+
 		timeExpressionEClass = createEClass(TIME_EXPRESSION);
 		createEAttribute(timeExpressionEClass, TIME_EXPRESSION__FIRST_TIME);
 		createEReference(timeExpressionEClass, TIME_EXPRESSION__EVENT);
@@ -9888,16 +9895,6 @@
 
 		durationConstraintEClass = createEClass(DURATION_CONSTRAINT);
 
-		dataStoreNodeEClass = createEClass(DATA_STORE_NODE);
-
-		interruptibleActivityRegionEClass = createEClass(INTERRUPTIBLE_ACTIVITY_REGION);
-		createEReference(interruptibleActivityRegionEClass, INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE);
-		createEReference(interruptibleActivityRegionEClass, INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE);
-
-		parameterSetEClass = createEClass(PARAMETER_SET);
-		createEReference(parameterSetEClass, PARAMETER_SET__PARAMETER);
-		createEReference(parameterSetEClass, PARAMETER_SET__CONDITION);
-
 		readExtentActionEClass = createEClass(READ_EXTENT_ACTION);
 		createEReference(readExtentActionEClass, READ_EXTENT_ACTION__RESULT);
 		createEReference(readExtentActionEClass, READ_EXTENT_ACTION__CLASSIFIER);
@@ -9949,13 +9946,6 @@
 		raiseExceptionActionEClass = createEClass(RAISE_EXCEPTION_ACTION);
 		createEReference(raiseExceptionActionEClass, RAISE_EXCEPTION_ACTION__EXCEPTION);
 
-		componentEClass = createEClass(COMPONENT);
-		createEAttribute(componentEClass, COMPONENT__IS_INDIRECTLY_INSTANTIATED);
-		createEReference(componentEClass, COMPONENT__REQUIRED);
-		createEReference(componentEClass, COMPONENT__PROVIDED);
-		createEReference(componentEClass, COMPONENT__REALIZATION);
-		createEReference(componentEClass, COMPONENT__OWNED_MEMBER);
-
 		deploymentEClass = createEClass(DEPLOYMENT);
 		createEReference(deploymentEClass, DEPLOYMENT__DEPLOYED_ARTIFACT);
 		createEReference(deploymentEClass, DEPLOYMENT__LOCATION);
@@ -9976,6 +9966,16 @@
 
 		communicationPathEClass = createEClass(COMMUNICATION_PATH);
 
+		dataStoreNodeEClass = createEClass(DATA_STORE_NODE);
+
+		interruptibleActivityRegionEClass = createEClass(INTERRUPTIBLE_ACTIVITY_REGION);
+		createEReference(interruptibleActivityRegionEClass, INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE);
+		createEReference(interruptibleActivityRegionEClass, INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE);
+
+		parameterSetEClass = createEClass(PARAMETER_SET);
+		createEReference(parameterSetEClass, PARAMETER_SET__PARAMETER);
+		createEReference(parameterSetEClass, PARAMETER_SET__CONDITION);
+
 		deploymentSpecificationEClass = createEClass(DEPLOYMENT_SPECIFICATION);
 		createEAttribute(deploymentSpecificationEClass, DEPLOYMENT_SPECIFICATION__DEPLOYMENT_LOCATION);
 		createEAttribute(deploymentSpecificationEClass, DEPLOYMENT_SPECIFICATION__EXECUTION_LOCATION);
@@ -9987,13 +9987,13 @@
 		messageKindEEnum = createEEnum(MESSAGE_KIND);
 		messageSortEEnum = createEEnum(MESSAGE_SORT);
 		callConcurrencyKindEEnum = createEEnum(CALL_CONCURRENCY_KIND);
-		interactionOperatorEEnum = createEEnum(INTERACTION_OPERATOR);
 		transitionKindEEnum = createEEnum(TRANSITION_KIND);
 		pseudostateKindEEnum = createEEnum(PSEUDOSTATE_KIND);
+		interactionOperatorEEnum = createEEnum(INTERACTION_OPERATOR);
 		expansionKindEEnum = createEEnum(EXPANSION_KIND);
+		connectorKindEEnum = createEEnum(CONNECTOR_KIND);
 		parameterEffectKindEEnum = createEEnum(PARAMETER_EFFECT_KIND);
 		objectNodeOrderingKindEEnum = createEEnum(OBJECT_NODE_ORDERING_KIND);
-		connectorKindEEnum = createEEnum(CONNECTOR_KIND);
 
 		// Create data types
 		integerEDataType = createEDataType(INTEGER);
@@ -10033,11 +10033,15 @@
 		// Add supertypes to classes
 		elementEClass.getESuperTypes().add(theEcorePackage.getEModelElement());
 		multiplicityElementEClass.getESuperTypes().add(this.getElement());
+		namedElementEClass.getESuperTypes().add(this.getTemplateableElement());
+		namespaceEClass.getESuperTypes().add(this.getNamedElement());
+		commentEClass.getESuperTypes().add(this.getTemplateableElement());
+		directedRelationshipEClass.getESuperTypes().add(this.getRelationship());
+		relationshipEClass.getESuperTypes().add(this.getElement());
 		opaqueExpressionEClass.getESuperTypes().add(this.getValueSpecification());
 		valueSpecificationEClass.getESuperTypes().add(this.getTypedElement());
 		valueSpecificationEClass.getESuperTypes().add(this.getParameterableElement());
 		expressionEClass.getESuperTypes().add(this.getOpaqueExpression());
-		commentEClass.getESuperTypes().add(this.getTemplateableElement());
 		classEClass.getESuperTypes().add(this.getEncapsulatedClassifier());
 		classEClass.getESuperTypes().add(this.getBehavioredClassifier());
 		typeEClass.getESuperTypes().add(this.getPackageableElement());
@@ -10052,16 +10056,12 @@
 		parameterEClass.getESuperTypes().add(this.getConnectableElement());
 		parameterEClass.getESuperTypes().add(this.getTypedElement());
 		parameterEClass.getESuperTypes().add(this.getMultiplicityElement());
-		namedElementEClass.getESuperTypes().add(this.getTemplateableElement());
 		packageEClass.getESuperTypes().add(this.getNamespace());
 		packageEClass.getESuperTypes().add(this.getPackageableElement());
 		enumerationEClass.getESuperTypes().add(this.getDataType());
 		dataTypeEClass.getESuperTypes().add(this.getClassifier());
 		enumerationLiteralEClass.getESuperTypes().add(this.getInstanceSpecification());
 		primitiveTypeEClass.getESuperTypes().add(this.getDataType());
-		namespaceEClass.getESuperTypes().add(this.getNamedElement());
-		directedRelationshipEClass.getESuperTypes().add(this.getRelationship());
-		relationshipEClass.getESuperTypes().add(this.getElement());
 		constraintEClass.getESuperTypes().add(this.getPackageableElement());
 		literalBooleanEClass.getESuperTypes().add(this.getLiteralSpecification());
 		literalSpecificationEClass.getESuperTypes().add(this.getValueSpecification());
@@ -10079,12 +10079,12 @@
 		structuralFeatureEClass.getESuperTypes().add(this.getTypedElement());
 		structuralFeatureEClass.getESuperTypes().add(this.getMultiplicityElement());
 		generalizationEClass.getESuperTypes().add(this.getDirectedRelationship());
+		redefinableElementEClass.getESuperTypes().add(this.getNamedElement());
 		instanceSpecificationEClass.getESuperTypes().add(this.getPackageableElement());
 		instanceSpecificationEClass.getESuperTypes().add(this.getDeploymentTarget());
 		instanceSpecificationEClass.getESuperTypes().add(this.getDeployedArtifact());
 		slotEClass.getESuperTypes().add(this.getElement());
 		instanceValueEClass.getESuperTypes().add(this.getValueSpecification());
-		redefinableElementEClass.getESuperTypes().add(this.getNamedElement());
 		packageableElementEClass.getESuperTypes().add(this.getNamedElement());
 		packageableElementEClass.getESuperTypes().add(this.getParameterableElement());
 		elementImportEClass.getESuperTypes().add(this.getDirectedRelationship());
@@ -10097,12 +10097,6 @@
 		profileApplicationEClass.getESuperTypes().add(this.getPackageImport());
 		extensionEClass.getESuperTypes().add(this.getAssociation());
 		extensionEndEClass.getESuperTypes().add(this.getProperty());
-		associationClassEClass.getESuperTypes().add(this.getClass_());
-		associationClassEClass.getESuperTypes().add(this.getAssociation());
-		generalizationSetEClass.getESuperTypes().add(this.getPackageableElement());
-		informationItemEClass.getESuperTypes().add(this.getClassifier());
-		informationFlowEClass.getESuperTypes().add(this.getDirectedRelationship());
-		modelEClass.getESuperTypes().add(this.getPackage());
 		permissionEClass.getESuperTypes().add(this.getDependency());
 		dependencyEClass.getESuperTypes().add(this.getPackageableElement());
 		dependencyEClass.getESuperTypes().add(this.getDirectedRelationship());
@@ -10113,6 +10107,29 @@
 		behaviorEClass.getESuperTypes().add(this.getClass_());
 		behavioredClassifierEClass.getESuperTypes().add(this.getClassifier());
 		activityEClass.getESuperTypes().add(this.getBehavior());
+		associationClassEClass.getESuperTypes().add(this.getClass_());
+		associationClassEClass.getESuperTypes().add(this.getAssociation());
+		modelEClass.getESuperTypes().add(this.getPackage());
+		informationItemEClass.getESuperTypes().add(this.getClassifier());
+		informationFlowEClass.getESuperTypes().add(this.getDirectedRelationship());
+		generalizationSetEClass.getESuperTypes().add(this.getPackageableElement());
+		connectorEndEClass.getESuperTypes().add(this.getMultiplicityElement());
+		connectableElementEClass.getESuperTypes().add(this.getNamedElement());
+		connectableElementEClass.getESuperTypes().add(this.getParameterableElement());
+		connectorEClass.getESuperTypes().add(this.getFeature());
+		structuredClassifierEClass.getESuperTypes().add(this.getClassifier());
+		interfaceEClass.getESuperTypes().add(this.getClassifier());
+		implementationEClass.getESuperTypes().add(this.getRealization());
+		actorEClass.getESuperTypes().add(this.getClassifier());
+		extendEClass.getESuperTypes().add(this.getNamedElement());
+		extendEClass.getESuperTypes().add(this.getDirectedRelationship());
+		useCaseEClass.getESuperTypes().add(this.getBehavioredClassifier());
+		extensionPointEClass.getESuperTypes().add(this.getRedefinableElement());
+		includeEClass.getESuperTypes().add(this.getNamedElement());
+		includeEClass.getESuperTypes().add(this.getDirectedRelationship());
+		artifactEClass.getESuperTypes().add(this.getClassifier());
+		artifactEClass.getESuperTypes().add(this.getDeployedArtifact());
+		manifestationEClass.getESuperTypes().add(this.getAbstraction());
 		activityEdgeEClass.getESuperTypes().add(this.getRedefinableElement());
 		activityGroupEClass.getESuperTypes().add(this.getElement());
 		activityNodeEClass.getESuperTypes().add(this.getRedefinableElement());
@@ -10133,26 +10150,40 @@
 		pinEClass.getESuperTypes().add(this.getObjectNode());
 		activityParameterNodeEClass.getESuperTypes().add(this.getObjectNode());
 		valuePinEClass.getESuperTypes().add(this.getInputPin());
-		interfaceEClass.getESuperTypes().add(this.getClassifier());
-		implementationEClass.getESuperTypes().add(this.getRealization());
-		actorEClass.getESuperTypes().add(this.getClassifier());
-		extendEClass.getESuperTypes().add(this.getNamedElement());
-		extendEClass.getESuperTypes().add(this.getDirectedRelationship());
-		useCaseEClass.getESuperTypes().add(this.getBehavioredClassifier());
-		extensionPointEClass.getESuperTypes().add(this.getRedefinableElement());
-		includeEClass.getESuperTypes().add(this.getNamedElement());
-		includeEClass.getESuperTypes().add(this.getDirectedRelationship());
-		artifactEClass.getESuperTypes().add(this.getClassifier());
-		artifactEClass.getESuperTypes().add(this.getDeployedArtifact());
-		manifestationEClass.getESuperTypes().add(this.getAbstraction());
-		connectorEndEClass.getESuperTypes().add(this.getMultiplicityElement());
-		connectableElementEClass.getESuperTypes().add(this.getNamedElement());
-		connectableElementEClass.getESuperTypes().add(this.getParameterableElement());
-		connectorEClass.getESuperTypes().add(this.getFeature());
-		structuredClassifierEClass.getESuperTypes().add(this.getClassifier());
 		collaborationOccurrenceEClass.getESuperTypes().add(this.getNamedElement());
 		collaborationEClass.getESuperTypes().add(this.getBehavioredClassifier());
 		collaborationEClass.getESuperTypes().add(this.getStructuredClassifier());
+		interactionEClass.getESuperTypes().add(this.getBehavior());
+		interactionEClass.getESuperTypes().add(this.getInteractionFragment());
+		interactionFragmentEClass.getESuperTypes().add(this.getNamedElement());
+		lifelineEClass.getESuperTypes().add(this.getNamedElement());
+		messageEClass.getESuperTypes().add(this.getNamedElement());
+		generalOrderingEClass.getESuperTypes().add(this.getNamedElement());
+		messageEndEClass.getESuperTypes().add(this.getNamedElement());
+		eventOccurrenceEClass.getESuperTypes().add(this.getInteractionFragment());
+		eventOccurrenceEClass.getESuperTypes().add(this.getMessageEnd());
+		executionOccurrenceEClass.getESuperTypes().add(this.getInteractionFragment());
+		stateInvariantEClass.getESuperTypes().add(this.getInteractionFragment());
+		stopEClass.getESuperTypes().add(this.getEventOccurrence());
+		portEClass.getESuperTypes().add(this.getProperty());
+		encapsulatedClassifierEClass.getESuperTypes().add(this.getStructuredClassifier());
+		callTriggerEClass.getESuperTypes().add(this.getMessageTrigger());
+		messageTriggerEClass.getESuperTypes().add(this.getTrigger());
+		changeTriggerEClass.getESuperTypes().add(this.getTrigger());
+		triggerEClass.getESuperTypes().add(this.getPackageableElement());
+		receptionEClass.getESuperTypes().add(this.getBehavioralFeature());
+		signalEClass.getESuperTypes().add(this.getBehavioredClassifier());
+		signalTriggerEClass.getESuperTypes().add(this.getMessageTrigger());
+		timeTriggerEClass.getESuperTypes().add(this.getTrigger());
+		anyTriggerEClass.getESuperTypes().add(this.getMessageTrigger());
+		variableEClass.getESuperTypes().add(this.getConnectableElement());
+		variableEClass.getESuperTypes().add(this.getTypedElement());
+		structuredActivityNodeEClass.getESuperTypes().add(this.getAction());
+		structuredActivityNodeEClass.getESuperTypes().add(this.getNamespace());
+		structuredActivityNodeEClass.getESuperTypes().add(this.getActivityGroup());
+		conditionalNodeEClass.getESuperTypes().add(this.getStructuredActivityNode());
+		clauseEClass.getESuperTypes().add(this.getElement());
+		loopNodeEClass.getESuperTypes().add(this.getStructuredActivityNode());
 		templateSignatureEClass.getESuperTypes().add(this.getElement());
 		templateParameterEClass.getESuperTypes().add(this.getElement());
 		templateableElementEClass.getESuperTypes().add(this.getElement());
@@ -10167,45 +10198,6 @@
 		redefinableTemplateSignatureEClass.getESuperTypes().add(this.getTemplateSignature());
 		templateableClassifierEClass.getESuperTypes().add(this.getClassifier());
 		connectableElementTemplateParameterEClass.getESuperTypes().add(this.getTemplateParameter());
-		interactionEClass.getESuperTypes().add(this.getBehavior());
-		interactionEClass.getESuperTypes().add(this.getInteractionFragment());
-		interactionFragmentEClass.getESuperTypes().add(this.getNamedElement());
-		lifelineEClass.getESuperTypes().add(this.getNamedElement());
-		messageEClass.getESuperTypes().add(this.getNamedElement());
-		generalOrderingEClass.getESuperTypes().add(this.getNamedElement());
-		messageEndEClass.getESuperTypes().add(this.getNamedElement());
-		eventOccurrenceEClass.getESuperTypes().add(this.getInteractionFragment());
-		eventOccurrenceEClass.getESuperTypes().add(this.getMessageEnd());
-		executionOccurrenceEClass.getESuperTypes().add(this.getInteractionFragment());
-		stateInvariantEClass.getESuperTypes().add(this.getInteractionFragment());
-		stopEClass.getESuperTypes().add(this.getEventOccurrence());
-		variableEClass.getESuperTypes().add(this.getConnectableElement());
-		variableEClass.getESuperTypes().add(this.getTypedElement());
-		structuredActivityNodeEClass.getESuperTypes().add(this.getAction());
-		structuredActivityNodeEClass.getESuperTypes().add(this.getNamespace());
-		structuredActivityNodeEClass.getESuperTypes().add(this.getActivityGroup());
-		conditionalNodeEClass.getESuperTypes().add(this.getStructuredActivityNode());
-		clauseEClass.getESuperTypes().add(this.getElement());
-		loopNodeEClass.getESuperTypes().add(this.getStructuredActivityNode());
-		portEClass.getESuperTypes().add(this.getProperty());
-		encapsulatedClassifierEClass.getESuperTypes().add(this.getStructuredClassifier());
-		callTriggerEClass.getESuperTypes().add(this.getMessageTrigger());
-		messageTriggerEClass.getESuperTypes().add(this.getTrigger());
-		changeTriggerEClass.getESuperTypes().add(this.getTrigger());
-		triggerEClass.getESuperTypes().add(this.getPackageableElement());
-		receptionEClass.getESuperTypes().add(this.getBehavioralFeature());
-		signalEClass.getESuperTypes().add(this.getBehavioredClassifier());
-		signalTriggerEClass.getESuperTypes().add(this.getMessageTrigger());
-		timeTriggerEClass.getESuperTypes().add(this.getTrigger());
-		anyTriggerEClass.getESuperTypes().add(this.getMessageTrigger());
-		interactionOccurrenceEClass.getESuperTypes().add(this.getInteractionFragment());
-		gateEClass.getESuperTypes().add(this.getMessageEnd());
-		partDecompositionEClass.getESuperTypes().add(this.getInteractionOccurrence());
-		interactionOperandEClass.getESuperTypes().add(this.getNamespace());
-		interactionOperandEClass.getESuperTypes().add(this.getInteractionFragment());
-		interactionConstraintEClass.getESuperTypes().add(this.getConstraint());
-		combinedFragmentEClass.getESuperTypes().add(this.getInteractionFragment());
-		continuationEClass.getESuperTypes().add(this.getInteractionFragment());
 		stateMachineEClass.getESuperTypes().add(this.getBehavior());
 		regionEClass.getESuperTypes().add(this.getRedefinableElement());
 		pseudostateEClass.getESuperTypes().add(this.getVertex());
@@ -10215,6 +10207,12 @@
 		connectionPointReferenceEClass.getESuperTypes().add(this.getVertex());
 		transitionEClass.getESuperTypes().add(this.getRedefinableElement());
 		finalStateEClass.getESuperTypes().add(this.getState());
+		forkNodeEClass.getESuperTypes().add(this.getControlNode());
+		joinNodeEClass.getESuperTypes().add(this.getControlNode());
+		flowFinalNodeEClass.getESuperTypes().add(this.getFinalNode());
+		centralBufferNodeEClass.getESuperTypes().add(this.getObjectNode());
+		activityPartitionEClass.getESuperTypes().add(this.getNamedElement());
+		activityPartitionEClass.getESuperTypes().add(this.getActivityGroup());
 		createObjectActionEClass.getESuperTypes().add(this.getAction());
 		destroyObjectActionEClass.getESuperTypes().add(this.getAction());
 		testIdentityActionEClass.getESuperTypes().add(this.getAction());
@@ -10248,18 +10246,21 @@
 		sendObjectActionEClass.getESuperTypes().add(this.getInvocationAction());
 		callOperationActionEClass.getESuperTypes().add(this.getCallAction());
 		callBehaviorActionEClass.getESuperTypes().add(this.getCallAction());
-		forkNodeEClass.getESuperTypes().add(this.getControlNode());
-		joinNodeEClass.getESuperTypes().add(this.getControlNode());
-		flowFinalNodeEClass.getESuperTypes().add(this.getFinalNode());
-		centralBufferNodeEClass.getESuperTypes().add(this.getObjectNode());
-		activityPartitionEClass.getESuperTypes().add(this.getNamedElement());
-		activityPartitionEClass.getESuperTypes().add(this.getActivityGroup());
+		interactionOccurrenceEClass.getESuperTypes().add(this.getInteractionFragment());
+		gateEClass.getESuperTypes().add(this.getMessageEnd());
+		partDecompositionEClass.getESuperTypes().add(this.getInteractionOccurrence());
+		interactionOperandEClass.getESuperTypes().add(this.getNamespace());
+		interactionOperandEClass.getESuperTypes().add(this.getInteractionFragment());
+		interactionConstraintEClass.getESuperTypes().add(this.getConstraint());
+		combinedFragmentEClass.getESuperTypes().add(this.getInteractionFragment());
+		continuationEClass.getESuperTypes().add(this.getInteractionFragment());
 		expansionNodeEClass.getESuperTypes().add(this.getObjectNode());
 		expansionRegionEClass.getESuperTypes().add(this.getStructuredActivityNode());
 		exceptionHandlerEClass.getESuperTypes().add(this.getElement());
 		protocolConformanceEClass.getESuperTypes().add(this.getDirectedRelationship());
 		protocolStateMachineEClass.getESuperTypes().add(this.getStateMachine());
 		protocolTransitionEClass.getESuperTypes().add(this.getTransition());
+		componentEClass.getESuperTypes().add(this.getClass_());
 		timeExpressionEClass.getESuperTypes().add(this.getValueSpecification());
 		durationEClass.getESuperTypes().add(this.getValueSpecification());
 		timeObservationActionEClass.getESuperTypes().add(this.getWriteStructuralFeatureAction());
@@ -10270,9 +10271,6 @@
 		timeIntervalEClass.getESuperTypes().add(this.getInterval());
 		durationObservationActionEClass.getESuperTypes().add(this.getWriteStructuralFeatureAction());
 		durationConstraintEClass.getESuperTypes().add(this.getIntervalConstraint());
-		dataStoreNodeEClass.getESuperTypes().add(this.getCentralBufferNode());
-		interruptibleActivityRegionEClass.getESuperTypes().add(this.getActivityGroup());
-		parameterSetEClass.getESuperTypes().add(this.getNamedElement());
 		readExtentActionEClass.getESuperTypes().add(this.getAction());
 		reclassifyObjectActionEClass.getESuperTypes().add(this.getAction());
 		readIsClassifiedObjectActionEClass.getESuperTypes().add(this.getAction());
@@ -10285,7 +10283,6 @@
 		acceptCallActionEClass.getESuperTypes().add(this.getAcceptEventAction());
 		replyActionEClass.getESuperTypes().add(this.getAction());
 		raiseExceptionActionEClass.getESuperTypes().add(this.getAction());
-		componentEClass.getESuperTypes().add(this.getClass_());
 		deploymentEClass.getESuperTypes().add(this.getDependency());
 		deployedArtifactEClass.getESuperTypes().add(this.getNamedElement());
 		deploymentTargetEClass.getESuperTypes().add(this.getNamedElement());
@@ -10294,6 +10291,9 @@
 		deviceEClass.getESuperTypes().add(this.getNode());
 		executionEnvironmentEClass.getESuperTypes().add(this.getNode());
 		communicationPathEClass.getESuperTypes().add(this.getAssociation());
+		dataStoreNodeEClass.getESuperTypes().add(this.getCentralBufferNode());
+		interruptibleActivityRegionEClass.getESuperTypes().add(this.getActivityGroup());
+		parameterSetEClass.getESuperTypes().add(this.getNamedElement());
 		deploymentSpecificationEClass.getESuperTypes().add(this.getArtifact());
 
 		// Initialize classes and features; add operations and parameters
@@ -10346,6 +10346,79 @@
 
 		addEOperation(multiplicityElementEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
+		initEClass(namedElementEClass, NamedElement.class, "NamedElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getNamedElement_Name(), this.getString(), "name", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEAttribute(getNamedElement_QualifiedName(), this.getString(), "qualifiedName", "", 0, 1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEAttribute(getNamedElement_Visibility(), this.getVisibilityKind(), "visibility", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getNamedElement_ClientDependency(), this.getDependency(), this.getDependency_Client(), "clientDependency", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getNamedElement_NameExpression(), this.getStringExpression(), null, "nameExpression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, this.getBoolean(), "validateNoName"); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, this.getBoolean(), "validateQualifiedName"); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, this.getSequence(), "allNamespaces"); //$NON-NLS-1$
+
+		op = addEOperation(namedElementEClass, this.getBoolean(), "isDistinguishableFrom"); //$NON-NLS-1$
+		addEParameter(op, this.getNamedElement(), "n"); //$NON-NLS-1$
+		addEParameter(op, this.getNamespace(), "ns"); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, this.getString(), "separator"); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, this.getString(), "qualifiedName"); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, this.getBoolean(), "validateVisibilityNeedsOwnership"); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, this.getNamespace(), "getNamespace"); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
+
+		addEOperation(namedElementEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(namespaceEClass, Namespace.class, "Namespace", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getNamespace_Member(), this.getNamedElement(), null, "member", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getNamespace_OwnedRule(), this.getConstraint(), this.getConstraint_Namespace(), "ownedRule", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getNamespace_ImportedMember(), this.getPackageableElement(), null, "importedMember", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getNamespace_ElementImport(), this.getElementImport(), this.getElementImport_ImportingNamespace(), "elementImport", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getNamespace_PackageImport(), this.getPackageImport(), this.getPackageImport_ImportingNamespace(), "packageImport", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(namespaceEClass, this.getBoolean(), "validateMembersAreDistinguishable"); //$NON-NLS-1$
+
+		op = addEOperation(namespaceEClass, this.getSet(), "getNamesOfMember"); //$NON-NLS-1$
+		addEParameter(op, this.getNamedElement(), "element"); //$NON-NLS-1$
+
+		addEOperation(namespaceEClass, this.getBoolean(), "membersAreDistinguishable"); //$NON-NLS-1$
+
+		addEOperation(namespaceEClass, this.getBoolean(), "validateImportedMemberDerived"); //$NON-NLS-1$
+
+		addEOperation(namespaceEClass, this.getSet(), "importedMember"); //$NON-NLS-1$
+
+		op = addEOperation(namespaceEClass, this.getSet(), "importMembers"); //$NON-NLS-1$
+		addEParameter(op, this.getSet(), "imps"); //$NON-NLS-1$
+
+		op = addEOperation(namespaceEClass, this.getSet(), "excludeCollisions"); //$NON-NLS-1$
+		addEParameter(op, this.getSet(), "imps"); //$NON-NLS-1$
+
+		addEOperation(namespaceEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+
+		addEOperation(namespaceEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(commentEClass, Comment.class, "Comment", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getComment_Body(), this.getString(), "body", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEReference(getComment_AnnotatedElement(), this.getElement(), null, "annotatedElement", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getComment_BodyExpression(), this.getStringExpression(), null, "bodyExpression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(commentEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(directedRelationshipEClass, DirectedRelationship.class, "DirectedRelationship", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getDirectedRelationship_Source(), this.getElement(), null, "source", null, 1, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getDirectedRelationship_Target(), this.getElement(), null, "target", null, 1, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(directedRelationshipEClass, ecorePackage.getEEList(), "getRelatedElements"); //$NON-NLS-1$
+
+		initEClass(relationshipEClass, Relationship.class, "Relationship", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getRelationship_RelatedElement(), this.getElement(), null, "relatedElement", null, 1, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+
 		initEClass(opaqueExpressionEClass, OpaqueExpression.class, "OpaqueExpression", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEAttribute(getOpaqueExpression_Body(), this.getString(), "body", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
 		initEAttribute(getOpaqueExpression_Language(), this.getString(), "language", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
@@ -10372,13 +10445,6 @@
 
 		addEOperation(expressionEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		initEClass(commentEClass, Comment.class, "Comment", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getComment_Body(), this.getString(), "body", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEReference(getComment_AnnotatedElement(), this.getElement(), null, "annotatedElement", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getComment_BodyExpression(), this.getStringExpression(), null, "bodyExpression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(commentEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
 		initEClass(classEClass, org.eclipse.uml2.Class.class, "Class", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getClass_OwnedOperation(), this.getOperation(), this.getOperation_Class_(), "ownedOperation", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getClass_SuperClass(), this.getClass_(), null, "superClass", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
@@ -10539,35 +10605,6 @@
 
 		addEOperation(parameterEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		initEClass(namedElementEClass, NamedElement.class, "NamedElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getNamedElement_Name(), this.getString(), "name", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEAttribute(getNamedElement_QualifiedName(), this.getString(), "qualifiedName", "", 0, 1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEAttribute(getNamedElement_Visibility(), this.getVisibilityKind(), "visibility", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getNamedElement_ClientDependency(), this.getDependency(), this.getDependency_Client(), "clientDependency", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getNamedElement_NameExpression(), this.getStringExpression(), null, "nameExpression", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, this.getBoolean(), "validateNoName"); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, this.getBoolean(), "validateQualifiedName"); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, this.getSequence(), "allNamespaces"); //$NON-NLS-1$
-
-		op = addEOperation(namedElementEClass, this.getBoolean(), "isDistinguishableFrom"); //$NON-NLS-1$
-		addEParameter(op, this.getNamedElement(), "n"); //$NON-NLS-1$
-		addEParameter(op, this.getNamespace(), "ns"); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, this.getString(), "separator"); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, this.getString(), "qualifiedName"); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, this.getBoolean(), "validateVisibilityNeedsOwnership"); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, this.getNamespace(), "getNamespace"); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
-
-		addEOperation(namedElementEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
 		initEClass(packageEClass, org.eclipse.uml2.Package.class, "Package", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getPackage_NestedPackage(), this.getPackage(), this.getPackage_NestingPackage(), "nestedPackage", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
 		initEReference(getPackage_NestingPackage(), this.getPackage(), this.getPackage_NestedPackage(), "nestingPackage", null, 0, 1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
@@ -10617,43 +10654,6 @@
 
 		initEClass(primitiveTypeEClass, PrimitiveType.class, "PrimitiveType", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
-		initEClass(namespaceEClass, Namespace.class, "Namespace", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getNamespace_Member(), this.getNamedElement(), null, "member", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getNamespace_OwnedRule(), this.getConstraint(), this.getConstraint_Namespace(), "ownedRule", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getNamespace_ImportedMember(), this.getPackageableElement(), null, "importedMember", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getNamespace_ElementImport(), this.getElementImport(), this.getElementImport_ImportingNamespace(), "elementImport", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getNamespace_PackageImport(), this.getPackageImport(), this.getPackageImport_ImportingNamespace(), "packageImport", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(namespaceEClass, this.getBoolean(), "validateMembersAreDistinguishable"); //$NON-NLS-1$
-
-		op = addEOperation(namespaceEClass, this.getSet(), "getNamesOfMember"); //$NON-NLS-1$
-		addEParameter(op, this.getNamedElement(), "element"); //$NON-NLS-1$
-
-		addEOperation(namespaceEClass, this.getBoolean(), "membersAreDistinguishable"); //$NON-NLS-1$
-
-		addEOperation(namespaceEClass, this.getBoolean(), "validateImportedMemberDerived"); //$NON-NLS-1$
-
-		addEOperation(namespaceEClass, this.getSet(), "importedMember"); //$NON-NLS-1$
-
-		op = addEOperation(namespaceEClass, this.getSet(), "importMembers"); //$NON-NLS-1$
-		addEParameter(op, this.getSet(), "imps"); //$NON-NLS-1$
-
-		op = addEOperation(namespaceEClass, this.getSet(), "excludeCollisions"); //$NON-NLS-1$
-		addEParameter(op, this.getSet(), "imps"); //$NON-NLS-1$
-
-		addEOperation(namespaceEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
-
-		addEOperation(namespaceEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		initEClass(directedRelationshipEClass, DirectedRelationship.class, "DirectedRelationship", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getDirectedRelationship_Source(), this.getElement(), null, "source", null, 1, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getDirectedRelationship_Target(), this.getElement(), null, "target", null, 1, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(directedRelationshipEClass, ecorePackage.getEEList(), "getRelatedElements"); //$NON-NLS-1$
-
-		initEClass(relationshipEClass, Relationship.class, "Relationship", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getRelationship_RelatedElement(), this.getElement(), null, "relatedElement", null, 1, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-
 		initEClass(constraintEClass, Constraint.class, "Constraint", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getConstraint_Context(), this.getNamespace(), null, "context", null, 0, 1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
 		initEReference(getConstraint_Namespace(), this.getNamespace(), this.getNamespace_OwnedRule(), "namespace", null, 0, 1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -10708,8 +10708,8 @@
 		initEReference(getClassifier_Generalization(), this.getGeneralization(), this.getGeneralization_Specific(), "generalization", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getClassifier_Attribute(), this.getProperty(), null, "attribute", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
 		initEReference(getClassifier_RedefinedClassifier(), this.getClassifier(), null, "redefinedClassifier", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getClassifier_PowertypeExtent(), this.getGeneralizationSet(), this.getGeneralizationSet_Powertype(), "powertypeExtent", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getClassifier_Substitution(), this.getSubstitution(), this.getSubstitution_SubstitutingClassifier(), "substitution", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getClassifier_PowertypeExtent(), this.getGeneralizationSet(), this.getGeneralizationSet_Powertype(), "powertypeExtent", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getClassifier_OwnedUseCase(), this.getUseCase(), null, "ownedUseCase", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getClassifier_Representation(), this.getCollaborationOccurrence(), null, "representation", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getClassifier_Occurrence(), this.getCollaborationOccurrence(), null, "occurrence", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -10793,6 +10793,22 @@
 
 		addEOperation(generalizationEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
 
+		initEClass(redefinableElementEClass, RedefinableElement.class, "RedefinableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getRedefinableElement_RedefinitionContext(), this.getClassifier(), null, "redefinitionContext", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEAttribute(getRedefinableElement_IsLeaf(), this.getBoolean(), "isLeaf", "false", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+
+		addEOperation(redefinableElementEClass, this.getBoolean(), "validateRedefinitionContextValid"); //$NON-NLS-1$
+
+		addEOperation(redefinableElementEClass, this.getBoolean(), "validateRedefinitionConsistent"); //$NON-NLS-1$
+
+		op = addEOperation(redefinableElementEClass, this.getBoolean(), "isConsistentWith"); //$NON-NLS-1$
+		addEParameter(op, this.getRedefinableElement(), "redefinee"); //$NON-NLS-1$
+
+		op = addEOperation(redefinableElementEClass, this.getBoolean(), "isRedefinitionContextValid"); //$NON-NLS-1$
+		addEParameter(op, this.getRedefinableElement(), "redefinable"); //$NON-NLS-1$
+
+		addEOperation(redefinableElementEClass, ecorePackage.getEEList(), "getRedefinedElements"); //$NON-NLS-1$
+
 		initEClass(instanceSpecificationEClass, InstanceSpecification.class, "InstanceSpecification", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getInstanceSpecification_Slot(), this.getSlot(), this.getSlot_OwningInstance(), "slot", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getInstanceSpecification_Classifier(), this.getClassifier(), null, "classifier", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -10816,22 +10832,6 @@
 		initEClass(instanceValueEClass, InstanceValue.class, "InstanceValue", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getInstanceValue_Instance(), this.getInstanceSpecification(), null, "instance", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(redefinableElementEClass, RedefinableElement.class, "RedefinableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getRedefinableElement_RedefinitionContext(), this.getClassifier(), null, "redefinitionContext", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEAttribute(getRedefinableElement_IsLeaf(), this.getBoolean(), "isLeaf", "false", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-
-		addEOperation(redefinableElementEClass, this.getBoolean(), "validateRedefinitionContextValid"); //$NON-NLS-1$
-
-		addEOperation(redefinableElementEClass, this.getBoolean(), "validateRedefinitionConsistent"); //$NON-NLS-1$
-
-		op = addEOperation(redefinableElementEClass, this.getBoolean(), "isConsistentWith"); //$NON-NLS-1$
-		addEParameter(op, this.getRedefinableElement(), "redefinee"); //$NON-NLS-1$
-
-		op = addEOperation(redefinableElementEClass, this.getBoolean(), "isRedefinitionContextValid"); //$NON-NLS-1$
-		addEParameter(op, this.getRedefinableElement(), "redefinable"); //$NON-NLS-1$
-
-		addEOperation(redefinableElementEClass, ecorePackage.getEEList(), "getRedefinedElements"); //$NON-NLS-1$
-
 		initEClass(packageableElementEClass, PackageableElement.class, "PackageableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEAttribute(getPackageableElement_PackageableElement_visibility(), this.getVisibilityKind(), "packageableElement_visibility", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
@@ -10925,24 +10925,6 @@
 		op = addEOperation(extensionEndEClass, null, "setType"); //$NON-NLS-1$
 		addEParameter(op, this.getType(), "newType"); //$NON-NLS-1$
 
-		initEClass(associationClassEClass, AssociationClass.class, "AssociationClass", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
-		initEClass(generalizationSetEClass, GeneralizationSet.class, "GeneralizationSet", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getGeneralizationSet_IsCovering(), this.getBoolean(), "isCovering", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEAttribute(getGeneralizationSet_IsDisjoint(), this.getBoolean(), "isDisjoint", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getGeneralizationSet_Powertype(), this.getClassifier(), this.getClassifier_PowertypeExtent(), "powertype", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getGeneralizationSet_Generalization(), this.getGeneralization(), this.getGeneralization_GeneralizationSet(), "generalization", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		initEClass(informationItemEClass, InformationItem.class, "InformationItem", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getInformationItem_Represented(), this.getClassifier(), null, "represented", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		initEClass(informationFlowEClass, InformationFlow.class, "InformationFlow", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getInformationFlow_Realization(), this.getRelationship(), null, "realization", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInformationFlow_Conveyed(), this.getClassifier(), null, "conveyed", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getModel_Viewpoint(), this.getString(), "viewpoint", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-
 		initEClass(permissionEClass, Permission.class, "Permission", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
 		initEClass(dependencyEClass, Dependency.class, "Dependency", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
@@ -11024,6 +11006,142 @@
 
 		addEOperation(activityEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
+		initEClass(associationClassEClass, AssociationClass.class, "AssociationClass", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+
+		initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getModel_Viewpoint(), this.getString(), "viewpoint", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+
+		initEClass(informationItemEClass, InformationItem.class, "InformationItem", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getInformationItem_Represented(), this.getClassifier(), null, "represented", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(informationFlowEClass, InformationFlow.class, "InformationFlow", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getInformationFlow_Realization(), this.getRelationship(), null, "realization", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInformationFlow_Conveyed(), this.getClassifier(), null, "conveyed", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(generalizationSetEClass, GeneralizationSet.class, "GeneralizationSet", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getGeneralizationSet_IsCovering(), this.getBoolean(), "isCovering", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEAttribute(getGeneralizationSet_IsDisjoint(), this.getBoolean(), "isDisjoint", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getGeneralizationSet_Powertype(), this.getClassifier(), this.getClassifier_PowertypeExtent(), "powertype", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getGeneralizationSet_Generalization(), this.getGeneralization(), this.getGeneralization_GeneralizationSet(), "generalization", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(connectorEndEClass, ConnectorEnd.class, "ConnectorEnd", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getConnectorEnd_DefiningEnd(), this.getProperty(), null, "definingEnd", null, 0, 1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getConnectorEnd_Role(), this.getConnectableElement(), this.getConnectableElement_End(), "role", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getConnectorEnd_PartWithPort(), this.getProperty(), null, "partWithPort", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(connectableElementEClass, ConnectableElement.class, "ConnectableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getConnectableElement_End(), this.getConnectorEnd(), this.getConnectorEnd_Role(), "end", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(connectorEClass, Connector.class, "Connector", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getConnector_Type(), this.getAssociation(), null, "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getConnector_RedefinedConnector(), this.getConnector(), null, "redefinedConnector", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getConnector_End(), this.getConnectorEnd(), null, "end", null, 2, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEAttribute(getConnector_Kind(), this.getConnectorKind(), "kind", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getConnector_Contract(), this.getBehavior(), null, "contract", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(connectorEClass, ecorePackage.getEEList(), "getRedefinedElements"); //$NON-NLS-1$
+
+		addEOperation(connectorEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(structuredClassifierEClass, StructuredClassifier.class, "StructuredClassifier", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getStructuredClassifier_OwnedAttribute(), this.getProperty(), null, "ownedAttribute", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getStructuredClassifier_Part(), this.getProperty(), null, "part", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getStructuredClassifier_Role(), this.getConnectableElement(), null, "role", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getStructuredClassifier_OwnedConnector(), this.getConnector(), null, "ownedConnector", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(structuredClassifierEClass, ecorePackage.getEEList(), "getAttributes"); //$NON-NLS-1$
+
+		addEOperation(structuredClassifierEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+
+		addEOperation(structuredClassifierEClass, ecorePackage.getEEList(), "getMembers"); //$NON-NLS-1$
+
+		addEOperation(structuredClassifierEClass, ecorePackage.getEEList(), "getFeatures"); //$NON-NLS-1$
+
+		initEClass(interfaceEClass, Interface.class, "Interface", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getInterface_OwnedAttribute(), this.getProperty(), null, "ownedAttribute", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInterface_OwnedOperation(), this.getOperation(), null, "ownedOperation", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInterface_RedefinedInterface(), this.getInterface(), null, "redefinedInterface", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInterface_NestedClassifier(), this.getClassifier(), null, "nestedClassifier", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInterface_OwnedReception(), this.getReception(), null, "ownedReception", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInterface_Protocol(), this.getProtocolStateMachine(), null, "protocol", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(interfaceEClass, ecorePackage.getEEList(), "getAttributes"); //$NON-NLS-1$
+
+		addEOperation(interfaceEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+
+		addEOperation(interfaceEClass, ecorePackage.getEEList(), "getFeatures"); //$NON-NLS-1$
+
+		addEOperation(interfaceEClass, ecorePackage.getEEList(), "getRedefinedElements"); //$NON-NLS-1$
+
+		initEClass(implementationEClass, Implementation.class, "Implementation", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getImplementation_Contract(), this.getInterface(), null, "contract", null, 1, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getImplementation_ImplementingClassifier(), this.getBehavioredClassifier(), this.getBehavioredClassifier_Implementation(), "implementingClassifier", null, 1, 1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(implementationEClass, ecorePackage.getEEList(), "getSuppliers"); //$NON-NLS-1$
+
+		addEOperation(implementationEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
+
+		addEOperation(implementationEClass, ecorePackage.getEEList(), "getClients"); //$NON-NLS-1$
+
+		addEOperation(implementationEClass, ecorePackage.getEEList(), "getSources"); //$NON-NLS-1$
+
+		initEClass(actorEClass, Actor.class, "Actor", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+
+		initEClass(extendEClass, Extend.class, "Extend", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getExtend_ExtendedCase(), this.getUseCase(), null, "extendedCase", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getExtend_Extension(), this.getUseCase(), this.getUseCase_Extend(), "extension", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getExtend_Condition(), this.getConstraint(), null, "condition", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getExtend_ExtensionLocation(), this.getExtensionPoint(), null, "extensionLocation", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(extendEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
+
+		addEOperation(extendEClass, ecorePackage.getEEList(), "getSources"); //$NON-NLS-1$
+
+		addEOperation(extendEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(useCaseEClass, UseCase.class, "UseCase", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getUseCase_Include(), this.getInclude(), this.getInclude_IncludingCase(), "include", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getUseCase_Extend(), this.getExtend(), this.getExtend_Extension(), "extend", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getUseCase_ExtensionPoint(), this.getExtensionPoint(), this.getExtensionPoint_UseCase(), "extensionPoint", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getUseCase_Subject(), this.getClassifier(), null, "subject", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(useCaseEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+
+		initEClass(extensionPointEClass, ExtensionPoint.class, "ExtensionPoint", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getExtensionPoint_UseCase(), this.getUseCase(), this.getUseCase_ExtensionPoint(), "useCase", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(includeEClass, Include.class, "Include", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getInclude_IncludingCase(), this.getUseCase(), this.getUseCase_Include(), "includingCase", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInclude_Addition(), this.getUseCase(), null, "addition", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(includeEClass, ecorePackage.getEEList(), "getSources"); //$NON-NLS-1$
+
+		addEOperation(includeEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
+
+		initEClass(artifactEClass, Artifact.class, "Artifact", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getArtifact_FileName(), this.getString(), "fileName", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEReference(getArtifact_NestedArtifact(), this.getArtifact(), null, "nestedArtifact", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getArtifact_Manifestation(), this.getManifestation(), null, "manifestation", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getArtifact_OwnedOperation(), this.getOperation(), null, "ownedOperation", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getArtifact_OwnedAttribute(), this.getProperty(), null, "ownedAttribute", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(artifactEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		addEOperation(artifactEClass, ecorePackage.getEEList(), "getClientDependencies"); //$NON-NLS-1$
+
+		addEOperation(artifactEClass, ecorePackage.getEEList(), "getFeatures"); //$NON-NLS-1$
+
+		addEOperation(artifactEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+
+		addEOperation(artifactEClass, ecorePackage.getEEList(), "getAttributes"); //$NON-NLS-1$
+
+		initEClass(manifestationEClass, Manifestation.class, "Manifestation", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getManifestation_UtilizedElement(), this.getPackageableElement(), null, "utilizedElement", null, 1, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(manifestationEClass, ecorePackage.getEEList(), "getSuppliers"); //$NON-NLS-1$
+
+		addEOperation(manifestationEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
+
 		initEClass(activityEdgeEClass, ActivityEdge.class, "ActivityEdge", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getActivityEdge_Activity(), this.getActivity(), this.getActivity_Edge(), "activity", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getActivityEdge_Source(), this.getActivityNode(), this.getActivityNode_Outgoing(), "source", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -11127,124 +11245,6 @@
 		initEClass(valuePinEClass, ValuePin.class, "ValuePin", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getValuePin_Value(), this.getValueSpecification(), null, "value", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(interfaceEClass, Interface.class, "Interface", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getInterface_OwnedAttribute(), this.getProperty(), null, "ownedAttribute", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInterface_OwnedOperation(), this.getOperation(), null, "ownedOperation", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInterface_RedefinedInterface(), this.getInterface(), null, "redefinedInterface", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInterface_NestedClassifier(), this.getClassifier(), null, "nestedClassifier", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInterface_OwnedReception(), this.getReception(), null, "ownedReception", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInterface_Protocol(), this.getProtocolStateMachine(), null, "protocol", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(interfaceEClass, ecorePackage.getEEList(), "getAttributes"); //$NON-NLS-1$
-
-		addEOperation(interfaceEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
-
-		addEOperation(interfaceEClass, ecorePackage.getEEList(), "getFeatures"); //$NON-NLS-1$
-
-		addEOperation(interfaceEClass, ecorePackage.getEEList(), "getRedefinedElements"); //$NON-NLS-1$
-
-		initEClass(implementationEClass, Implementation.class, "Implementation", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getImplementation_Contract(), this.getInterface(), null, "contract", null, 1, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getImplementation_ImplementingClassifier(), this.getBehavioredClassifier(), this.getBehavioredClassifier_Implementation(), "implementingClassifier", null, 1, 1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(implementationEClass, ecorePackage.getEEList(), "getSuppliers"); //$NON-NLS-1$
-
-		addEOperation(implementationEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
-
-		addEOperation(implementationEClass, ecorePackage.getEEList(), "getClients"); //$NON-NLS-1$
-
-		addEOperation(implementationEClass, ecorePackage.getEEList(), "getSources"); //$NON-NLS-1$
-
-		initEClass(actorEClass, Actor.class, "Actor", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
-		initEClass(extendEClass, Extend.class, "Extend", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getExtend_ExtendedCase(), this.getUseCase(), null, "extendedCase", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getExtend_Extension(), this.getUseCase(), this.getUseCase_Extend(), "extension", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getExtend_Condition(), this.getConstraint(), null, "condition", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getExtend_ExtensionLocation(), this.getExtensionPoint(), null, "extensionLocation", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(extendEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
-
-		addEOperation(extendEClass, ecorePackage.getEEList(), "getSources"); //$NON-NLS-1$
-
-		addEOperation(extendEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		initEClass(useCaseEClass, UseCase.class, "UseCase", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getUseCase_Include(), this.getInclude(), this.getInclude_IncludingCase(), "include", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getUseCase_Extend(), this.getExtend(), this.getExtend_Extension(), "extend", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getUseCase_ExtensionPoint(), this.getExtensionPoint(), this.getExtensionPoint_UseCase(), "extensionPoint", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getUseCase_Subject(), this.getClassifier(), null, "subject", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(useCaseEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
-
-		initEClass(extensionPointEClass, ExtensionPoint.class, "ExtensionPoint", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getExtensionPoint_UseCase(), this.getUseCase(), this.getUseCase_ExtensionPoint(), "useCase", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		initEClass(includeEClass, Include.class, "Include", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getInclude_IncludingCase(), this.getUseCase(), this.getUseCase_Include(), "includingCase", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInclude_Addition(), this.getUseCase(), null, "addition", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(includeEClass, ecorePackage.getEEList(), "getSources"); //$NON-NLS-1$
-
-		addEOperation(includeEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
-
-		initEClass(artifactEClass, Artifact.class, "Artifact", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getArtifact_FileName(), this.getString(), "fileName", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEReference(getArtifact_NestedArtifact(), this.getArtifact(), null, "nestedArtifact", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getArtifact_Manifestation(), this.getManifestation(), null, "manifestation", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getArtifact_OwnedOperation(), this.getOperation(), null, "ownedOperation", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getArtifact_OwnedAttribute(), this.getProperty(), null, "ownedAttribute", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(artifactEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		addEOperation(artifactEClass, ecorePackage.getEEList(), "getClientDependencies"); //$NON-NLS-1$
-
-		addEOperation(artifactEClass, ecorePackage.getEEList(), "getFeatures"); //$NON-NLS-1$
-
-		addEOperation(artifactEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
-
-		addEOperation(artifactEClass, ecorePackage.getEEList(), "getAttributes"); //$NON-NLS-1$
-
-		initEClass(manifestationEClass, Manifestation.class, "Manifestation", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getManifestation_UtilizedElement(), this.getPackageableElement(), null, "utilizedElement", null, 1, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(manifestationEClass, ecorePackage.getEEList(), "getSuppliers"); //$NON-NLS-1$
-
-		addEOperation(manifestationEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
-
-		initEClass(connectorEndEClass, ConnectorEnd.class, "ConnectorEnd", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getConnectorEnd_DefiningEnd(), this.getProperty(), null, "definingEnd", null, 0, 1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getConnectorEnd_Role(), this.getConnectableElement(), this.getConnectableElement_End(), "role", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getConnectorEnd_PartWithPort(), this.getProperty(), null, "partWithPort", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		initEClass(connectableElementEClass, ConnectableElement.class, "ConnectableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getConnectableElement_End(), this.getConnectorEnd(), this.getConnectorEnd_Role(), "end", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		initEClass(connectorEClass, Connector.class, "Connector", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getConnector_Type(), this.getAssociation(), null, "type", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getConnector_RedefinedConnector(), this.getConnector(), null, "redefinedConnector", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getConnector_End(), this.getConnectorEnd(), null, "end", null, 2, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEAttribute(getConnector_Kind(), this.getConnectorKind(), "kind", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getConnector_Contract(), this.getBehavior(), null, "contract", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(connectorEClass, ecorePackage.getEEList(), "getRedefinedElements"); //$NON-NLS-1$
-
-		addEOperation(connectorEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		initEClass(structuredClassifierEClass, StructuredClassifier.class, "StructuredClassifier", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getStructuredClassifier_OwnedAttribute(), this.getProperty(), null, "ownedAttribute", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getStructuredClassifier_Part(), this.getProperty(), null, "part", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getStructuredClassifier_Role(), this.getConnectableElement(), null, "role", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getStructuredClassifier_OwnedConnector(), this.getConnector(), null, "ownedConnector", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(structuredClassifierEClass, ecorePackage.getEEList(), "getAttributes"); //$NON-NLS-1$
-
-		addEOperation(structuredClassifierEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
-
-		addEOperation(structuredClassifierEClass, ecorePackage.getEEList(), "getMembers"); //$NON-NLS-1$
-
-		addEOperation(structuredClassifierEClass, ecorePackage.getEEList(), "getFeatures"); //$NON-NLS-1$
-
 		initEClass(collaborationOccurrenceEClass, CollaborationOccurrence.class, "CollaborationOccurrence", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getCollaborationOccurrence_Type(), this.getCollaboration(), null, "type", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getCollaborationOccurrence_RoleBinding(), this.getDependency(), null, "roleBinding", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -11256,86 +11256,6 @@
 
 		addEOperation(collaborationEClass, ecorePackage.getEEList(), "getRoles"); //$NON-NLS-1$
 
-		initEClass(templateSignatureEClass, TemplateSignature.class, "TemplateSignature", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getTemplateSignature_Parameter(), this.getTemplateParameter(), null, "parameter", null, 1, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateSignature_OwnedParameter(), this.getTemplateParameter(), this.getTemplateParameter_Signature(), "ownedParameter", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateSignature_NestedSignature(), this.getTemplateSignature(), this.getTemplateSignature_NestingSignature(), "nestedSignature", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateSignature_NestingSignature(), this.getTemplateSignature(), this.getTemplateSignature_NestedSignature(), "nestingSignature", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateSignature_Template(), this.getTemplateableElement(), this.getTemplateableElement_OwnedTemplateSignature(), "template", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(templateSignatureEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		addEOperation(templateSignatureEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
-
-		initEClass(templateParameterEClass, TemplateParameter.class, "TemplateParameter", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getTemplateParameter_Signature(), this.getTemplateSignature(), this.getTemplateSignature_OwnedParameter(), "signature", null, 1, 1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateParameter_ParameteredElement(), this.getParameterableElement(), this.getParameterableElement_TemplateParameter(), "parameteredElement", null, 1, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateParameter_OwnedParameteredElement(), this.getParameterableElement(), this.getParameterableElement_OwningParameter(), "ownedParameteredElement", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateParameter_Default(), this.getParameterableElement(), null, "default", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateParameter_OwnedDefault(), this.getParameterableElement(), null, "ownedDefault", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(templateParameterEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
-
-		addEOperation(templateParameterEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		initEClass(templateableElementEClass, TemplateableElement.class, "TemplateableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getTemplateableElement_TemplateBinding(), this.getTemplateBinding(), this.getTemplateBinding_BoundElement(), "templateBinding", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateableElement_OwnedTemplateSignature(), this.getTemplateSignature(), this.getTemplateSignature_Template(), "ownedTemplateSignature", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(templateableElementEClass, this.getSet(), "parameterableElements"); //$NON-NLS-1$
-
-		addEOperation(templateableElementEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		initEClass(stringExpressionEClass, StringExpression.class, "StringExpression", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getStringExpression_SubExpression(), this.getStringExpression(), this.getStringExpression_OwningExpression(), "subExpression", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getStringExpression_OwningExpression(), this.getStringExpression(), this.getStringExpression_SubExpression(), "owningExpression", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(stringExpressionEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		addEOperation(stringExpressionEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
-
-		initEClass(parameterableElementEClass, ParameterableElement.class, "ParameterableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getParameterableElement_TemplateParameter(), this.getTemplateParameter(), this.getTemplateParameter_ParameteredElement(), "templateParameter", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getParameterableElement_OwningParameter(), this.getTemplateParameter(), this.getTemplateParameter_OwnedParameteredElement(), "owningParameter", null, 0, 1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(parameterableElementEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
-
-		initEClass(templateBindingEClass, TemplateBinding.class, "TemplateBinding", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getTemplateBinding_BoundElement(), this.getTemplateableElement(), this.getTemplateableElement_TemplateBinding(), "boundElement", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateBinding_Signature(), this.getTemplateSignature(), null, "signature", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateBinding_ParameterSubstitution(), this.getTemplateParameterSubstitution(), this.getTemplateParameterSubstitution_TemplateBinding(), "parameterSubstitution", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(templateBindingEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
-
-		addEOperation(templateBindingEClass, ecorePackage.getEEList(), "getSources"); //$NON-NLS-1$
-
-		addEOperation(templateBindingEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
-
-		addEOperation(templateBindingEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		initEClass(templateParameterSubstitutionEClass, TemplateParameterSubstitution.class, "TemplateParameterSubstitution", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getTemplateParameterSubstitution_Formal(), this.getTemplateParameter(), null, "formal", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateParameterSubstitution_TemplateBinding(), this.getTemplateBinding(), this.getTemplateBinding_ParameterSubstitution(), "templateBinding", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateParameterSubstitution_Actual(), this.getParameterableElement(), null, "actual", null, 1, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTemplateParameterSubstitution_OwnedActual(), this.getParameterableElement(), null, "ownedActual", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(templateParameterSubstitutionEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
-
-		addEOperation(templateParameterSubstitutionEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		initEClass(operationTemplateParameterEClass, OperationTemplateParameter.class, "OperationTemplateParameter", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
-		initEClass(classifierTemplateParameterEClass, ClassifierTemplateParameter.class, "ClassifierTemplateParameter", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getClassifierTemplateParameter_AllowSubstitutable(), this.getBoolean(), "allowSubstitutable", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-
-		initEClass(parameterableClassifierEClass, ParameterableClassifier.class, "ParameterableClassifier", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
-		initEClass(redefinableTemplateSignatureEClass, RedefinableTemplateSignature.class, "RedefinableTemplateSignature", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
-		initEClass(templateableClassifierEClass, TemplateableClassifier.class, "TemplateableClassifier", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
-		initEClass(connectableElementTemplateParameterEClass, ConnectableElementTemplateParameter.class, "ConnectableElementTemplateParameter", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
 		initEClass(interactionEClass, Interaction.class, "Interaction", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getInteraction_Lifeline(), this.getLifeline(), this.getLifeline_Interaction(), "lifeline", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getInteraction_Message(), this.getMessage(), this.getMessage_Interaction(), "message", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -11409,6 +11329,57 @@
 
 		initEClass(stopEClass, Stop.class, "Stop", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
+		initEClass(portEClass, Port.class, "Port", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getPort_IsBehavior(), this.getBoolean(), "isBehavior", "false", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEAttribute(getPort_IsService(), this.getBoolean(), "isService", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEReference(getPort_Required(), this.getInterface(), null, "required", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getPort_RedefinedPort(), this.getPort(), null, "redefinedPort", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getPort_Provided(), this.getInterface(), null, "provided", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getPort_Protocol(), this.getProtocolStateMachine(), null, "protocol", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(portEClass, ecorePackage.getEEList(), "getRedefinedElements"); //$NON-NLS-1$
+
+		initEClass(encapsulatedClassifierEClass, EncapsulatedClassifier.class, "EncapsulatedClassifier", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getEncapsulatedClassifier_OwnedPort(), this.getPort(), null, "ownedPort", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(encapsulatedClassifierEClass, ecorePackage.getEEList(), "getFeatures"); //$NON-NLS-1$
+
+		addEOperation(encapsulatedClassifierEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+
+		initEClass(callTriggerEClass, CallTrigger.class, "CallTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getCallTrigger_Operation(), this.getOperation(), null, "operation", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(messageTriggerEClass, MessageTrigger.class, "MessageTrigger", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+
+		initEClass(changeTriggerEClass, ChangeTrigger.class, "ChangeTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getChangeTrigger_ChangeExpression(), this.getValueSpecification(), null, "changeExpression", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(changeTriggerEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(triggerEClass, Trigger.class, "Trigger", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getTrigger_Port(), this.getPort(), null, "port", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(receptionEClass, Reception.class, "Reception", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getReception_Signal(), this.getSignal(), null, "signal", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(signalEClass, Signal.class, "Signal", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getSignal_OwnedAttribute(), this.getProperty(), null, "ownedAttribute", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(signalEClass, ecorePackage.getEEList(), "getAttributes"); //$NON-NLS-1$
+
+		addEOperation(signalEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+
+		initEClass(signalTriggerEClass, SignalTrigger.class, "SignalTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getSignalTrigger_Signal(), this.getSignal(), null, "signal", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(timeTriggerEClass, TimeTrigger.class, "TimeTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getTimeTrigger_IsRelative(), this.getBoolean(), "isRelative", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTimeTrigger_When(), this.getValueSpecification(), null, "when", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(timeTriggerEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(anyTriggerEClass, AnyTrigger.class, "AnyTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+
 		initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getVariable_Scope(), this.getStructuredActivityNode(), this.getStructuredActivityNode_Variable(), "scope", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
@@ -11467,89 +11438,85 @@
 
 		addEOperation(loopNodeEClass, ecorePackage.getEEList(), "getInputs"); //$NON-NLS-1$
 
-		initEClass(portEClass, Port.class, "Port", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getPort_IsBehavior(), this.getBoolean(), "isBehavior", "false", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEAttribute(getPort_IsService(), this.getBoolean(), "isService", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEReference(getPort_Required(), this.getInterface(), null, "required", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getPort_RedefinedPort(), this.getPort(), null, "redefinedPort", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getPort_Provided(), this.getInterface(), null, "provided", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getPort_Protocol(), this.getProtocolStateMachine(), null, "protocol", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEClass(templateSignatureEClass, TemplateSignature.class, "TemplateSignature", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getTemplateSignature_Parameter(), this.getTemplateParameter(), null, "parameter", null, 1, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateSignature_OwnedParameter(), this.getTemplateParameter(), this.getTemplateParameter_Signature(), "ownedParameter", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateSignature_NestedSignature(), this.getTemplateSignature(), this.getTemplateSignature_NestingSignature(), "nestedSignature", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateSignature_NestingSignature(), this.getTemplateSignature(), this.getTemplateSignature_NestedSignature(), "nestingSignature", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateSignature_Template(), this.getTemplateableElement(), this.getTemplateableElement_OwnedTemplateSignature(), "template", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		addEOperation(portEClass, ecorePackage.getEEList(), "getRedefinedElements"); //$NON-NLS-1$
+		addEOperation(templateSignatureEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		initEClass(encapsulatedClassifierEClass, EncapsulatedClassifier.class, "EncapsulatedClassifier", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getEncapsulatedClassifier_OwnedPort(), this.getPort(), null, "ownedPort", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(templateSignatureEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
 
-		addEOperation(encapsulatedClassifierEClass, ecorePackage.getEEList(), "getFeatures"); //$NON-NLS-1$
+		initEClass(templateParameterEClass, TemplateParameter.class, "TemplateParameter", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getTemplateParameter_Signature(), this.getTemplateSignature(), this.getTemplateSignature_OwnedParameter(), "signature", null, 1, 1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateParameter_ParameteredElement(), this.getParameterableElement(), this.getParameterableElement_TemplateParameter(), "parameteredElement", null, 1, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateParameter_OwnedParameteredElement(), this.getParameterableElement(), this.getParameterableElement_OwningParameter(), "ownedParameteredElement", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateParameter_Default(), this.getParameterableElement(), null, "default", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateParameter_OwnedDefault(), this.getParameterableElement(), null, "ownedDefault", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		addEOperation(encapsulatedClassifierEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+		addEOperation(templateParameterEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
 
-		initEClass(callTriggerEClass, CallTrigger.class, "CallTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getCallTrigger_Operation(), this.getOperation(), null, "operation", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(templateParameterEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		initEClass(messageTriggerEClass, MessageTrigger.class, "MessageTrigger", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEClass(templateableElementEClass, TemplateableElement.class, "TemplateableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getTemplateableElement_TemplateBinding(), this.getTemplateBinding(), this.getTemplateBinding_BoundElement(), "templateBinding", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateableElement_OwnedTemplateSignature(), this.getTemplateSignature(), this.getTemplateSignature_Template(), "ownedTemplateSignature", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(changeTriggerEClass, ChangeTrigger.class, "ChangeTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getChangeTrigger_ChangeExpression(), this.getValueSpecification(), null, "changeExpression", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(templateableElementEClass, this.getSet(), "parameterableElements"); //$NON-NLS-1$
 
-		addEOperation(changeTriggerEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+		addEOperation(templateableElementEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		initEClass(triggerEClass, Trigger.class, "Trigger", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getTrigger_Port(), this.getPort(), null, "port", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEClass(stringExpressionEClass, StringExpression.class, "StringExpression", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getStringExpression_SubExpression(), this.getStringExpression(), this.getStringExpression_OwningExpression(), "subExpression", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getStringExpression_OwningExpression(), this.getStringExpression(), this.getStringExpression_SubExpression(), "owningExpression", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(receptionEClass, Reception.class, "Reception", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getReception_Signal(), this.getSignal(), null, "signal", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(stringExpressionEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		initEClass(signalEClass, Signal.class, "Signal", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getSignal_OwnedAttribute(), this.getProperty(), null, "ownedAttribute", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(stringExpressionEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
 
-		addEOperation(signalEClass, ecorePackage.getEEList(), "getAttributes"); //$NON-NLS-1$
+		initEClass(parameterableElementEClass, ParameterableElement.class, "ParameterableElement", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getParameterableElement_TemplateParameter(), this.getTemplateParameter(), this.getTemplateParameter_ParameteredElement(), "templateParameter", null, 0, 1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getParameterableElement_OwningParameter(), this.getTemplateParameter(), this.getTemplateParameter_OwnedParameteredElement(), "owningParameter", null, 0, 1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		addEOperation(signalEClass, ecorePackage.getEEList(), "getOwnedMembers"); //$NON-NLS-1$
+		addEOperation(parameterableElementEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
 
-		initEClass(signalTriggerEClass, SignalTrigger.class, "SignalTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getSignalTrigger_Signal(), this.getSignal(), null, "signal", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEClass(templateBindingEClass, TemplateBinding.class, "TemplateBinding", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getTemplateBinding_BoundElement(), this.getTemplateableElement(), this.getTemplateableElement_TemplateBinding(), "boundElement", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateBinding_Signature(), this.getTemplateSignature(), null, "signature", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateBinding_ParameterSubstitution(), this.getTemplateParameterSubstitution(), this.getTemplateParameterSubstitution_TemplateBinding(), "parameterSubstitution", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(timeTriggerEClass, TimeTrigger.class, "TimeTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getTimeTrigger_IsRelative(), this.getBoolean(), "isRelative", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getTimeTrigger_When(), this.getValueSpecification(), null, "when", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(templateBindingEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
 
-		addEOperation(timeTriggerEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+		addEOperation(templateBindingEClass, ecorePackage.getEEList(), "getSources"); //$NON-NLS-1$
 
-		initEClass(anyTriggerEClass, AnyTrigger.class, "AnyTrigger", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		addEOperation(templateBindingEClass, ecorePackage.getEEList(), "getTargets"); //$NON-NLS-1$
 
-		initEClass(interactionOccurrenceEClass, InteractionOccurrence.class, "InteractionOccurrence", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getInteractionOccurrence_RefersTo(), this.getInteraction(), null, "refersTo", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInteractionOccurrence_ActualGate(), this.getGate(), null, "actualGate", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInteractionOccurrence_Argument(), this.getInputPin(), null, "argument", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(templateBindingEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		addEOperation(interactionOccurrenceEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+		initEClass(templateParameterSubstitutionEClass, TemplateParameterSubstitution.class, "TemplateParameterSubstitution", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getTemplateParameterSubstitution_Formal(), this.getTemplateParameter(), null, "formal", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateParameterSubstitution_TemplateBinding(), this.getTemplateBinding(), this.getTemplateBinding_ParameterSubstitution(), "templateBinding", null, 1, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateParameterSubstitution_Actual(), this.getParameterableElement(), null, "actual", null, 1, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getTemplateParameterSubstitution_OwnedActual(), this.getParameterableElement(), null, "ownedActual", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(gateEClass, Gate.class, "Gate", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		addEOperation(templateParameterSubstitutionEClass, this.getElement(), "getOwner"); //$NON-NLS-1$
 
-		initEClass(partDecompositionEClass, PartDecomposition.class, "PartDecomposition", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		addEOperation(templateParameterSubstitutionEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		initEClass(interactionOperandEClass, InteractionOperand.class, "InteractionOperand", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getInteractionOperand_Guard(), this.getInteractionConstraint(), null, "guard", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInteractionOperand_Fragment(), this.getInteractionFragment(), this.getInteractionFragment_EnclosingOperand(), "fragment", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEClass(operationTemplateParameterEClass, OperationTemplateParameter.class, "OperationTemplateParameter", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
-		addEOperation(interactionOperandEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+		initEClass(classifierTemplateParameterEClass, ClassifierTemplateParameter.class, "ClassifierTemplateParameter", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getClassifierTemplateParameter_AllowSubstitutable(), this.getBoolean(), "allowSubstitutable", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
 
-		initEClass(interactionConstraintEClass, InteractionConstraint.class, "InteractionConstraint", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getInteractionConstraint_Minint(), this.getValueSpecification(), null, "minint", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInteractionConstraint_Maxint(), this.getValueSpecification(), null, "maxint", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEClass(parameterableClassifierEClass, ParameterableClassifier.class, "ParameterableClassifier", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
-		addEOperation(interactionConstraintEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+		initEClass(redefinableTemplateSignatureEClass, RedefinableTemplateSignature.class, "RedefinableTemplateSignature", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
-		initEClass(combinedFragmentEClass, CombinedFragment.class, "CombinedFragment", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getCombinedFragment_InteractionOperator(), this.getInteractionOperator(), "interactionOperator", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getCombinedFragment_Operand(), this.getInteractionOperand(), null, "operand", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getCombinedFragment_CfragmentGate(), this.getGate(), null, "cfragmentGate", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEClass(templateableClassifierEClass, TemplateableClassifier.class, "TemplateableClassifier", IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
-		addEOperation(combinedFragmentEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		initEClass(continuationEClass, Continuation.class, "Continuation", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getContinuation_Setting(), this.getBoolean(), "setting", "True", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEClass(connectableElementTemplateParameterEClass, ConnectableElementTemplateParameter.class, "ConnectableElementTemplateParameter", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
 		initEClass(stateMachineEClass, StateMachine.class, "StateMachine", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getStateMachine_Region(), this.getRegion(), null, "region", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -11629,6 +11596,29 @@
 
 		initEClass(finalStateEClass, FinalState.class, "FinalState", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
+		initEClass(forkNodeEClass, ForkNode.class, "ForkNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+
+		initEClass(joinNodeEClass, JoinNode.class, "JoinNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getJoinNode_IsCombineDuplicate(), this.getBoolean(), "isCombineDuplicate", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEReference(getJoinNode_JoinSpec(), this.getValueSpecification(), null, "joinSpec", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(joinNodeEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(flowFinalNodeEClass, FlowFinalNode.class, "FlowFinalNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+
+		initEClass(centralBufferNodeEClass, CentralBufferNode.class, "CentralBufferNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+
+		initEClass(activityPartitionEClass, ActivityPartition.class, "ActivityPartition", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getActivityPartition_IsDimension(), this.getBoolean(), "isDimension", "false", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEAttribute(getActivityPartition_IsExternal(), this.getBoolean(), "isExternal", "false", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEReference(getActivityPartition_ContainedEdge(), this.getActivityEdge(), this.getActivityEdge_InPartition(), "containedEdge", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getActivityPartition_ContainedNode(), this.getActivityNode(), this.getActivityNode_InPartition(), "containedNode", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getActivityPartition_Subgroup(), this.getActivityPartition(), this.getActivityPartition_SuperPartition(), "subgroup", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getActivityPartition_SuperPartition(), this.getActivityPartition(), this.getActivityPartition_Subgroup(), "superPartition", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getActivityPartition_Represents(), this.getElement(), null, "represents", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(activityPartitionEClass, this.getActivityGroup(), "getSuperGroup"); //$NON-NLS-1$
+
 		initEClass(createObjectActionEClass, CreateObjectAction.class, "CreateObjectAction", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getCreateObjectAction_Classifier(), this.getClassifier(), null, "classifier", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getCreateObjectAction_Result(), this.getOutputPin(), null, "result", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -11787,28 +11777,38 @@
 		initEClass(callBehaviorActionEClass, CallBehaviorAction.class, "CallBehaviorAction", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getCallBehaviorAction_Behavior(), this.getBehavior(), null, "behavior", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(forkNodeEClass, ForkNode.class, "ForkNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEClass(interactionOccurrenceEClass, InteractionOccurrence.class, "InteractionOccurrence", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getInteractionOccurrence_RefersTo(), this.getInteraction(), null, "refersTo", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInteractionOccurrence_ActualGate(), this.getGate(), null, "actualGate", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInteractionOccurrence_Argument(), this.getInputPin(), null, "argument", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(joinNodeEClass, JoinNode.class, "JoinNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getJoinNode_IsCombineDuplicate(), this.getBoolean(), "isCombineDuplicate", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEReference(getJoinNode_JoinSpec(), this.getValueSpecification(), null, "joinSpec", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(interactionOccurrenceEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		addEOperation(joinNodeEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+		initEClass(gateEClass, Gate.class, "Gate", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
-		initEClass(flowFinalNodeEClass, FlowFinalNode.class, "FlowFinalNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEClass(partDecompositionEClass, PartDecomposition.class, "PartDecomposition", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
-		initEClass(centralBufferNodeEClass, CentralBufferNode.class, "CentralBufferNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEClass(interactionOperandEClass, InteractionOperand.class, "InteractionOperand", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getInteractionOperand_Guard(), this.getInteractionConstraint(), null, "guard", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInteractionOperand_Fragment(), this.getInteractionFragment(), this.getInteractionFragment_EnclosingOperand(), "fragment", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 
-		initEClass(activityPartitionEClass, ActivityPartition.class, "ActivityPartition", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getActivityPartition_IsDimension(), this.getBoolean(), "isDimension", "false", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEAttribute(getActivityPartition_IsExternal(), this.getBoolean(), "isExternal", "false", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEReference(getActivityPartition_ContainedEdge(), this.getActivityEdge(), this.getActivityEdge_InPartition(), "containedEdge", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getActivityPartition_ContainedNode(), this.getActivityNode(), this.getActivityNode_InPartition(), "containedNode", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getActivityPartition_Subgroup(), this.getActivityPartition(), this.getActivityPartition_SuperPartition(), "subgroup", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getActivityPartition_SuperPartition(), this.getActivityPartition(), this.getActivityPartition_Subgroup(), "superPartition", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getActivityPartition_Represents(), this.getElement(), null, "represents", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		addEOperation(interactionOperandEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
 
-		addEOperation(activityPartitionEClass, this.getActivityGroup(), "getSuperGroup"); //$NON-NLS-1$
+		initEClass(interactionConstraintEClass, InteractionConstraint.class, "InteractionConstraint", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getInteractionConstraint_Minint(), this.getValueSpecification(), null, "minint", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInteractionConstraint_Maxint(), this.getValueSpecification(), null, "maxint", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(interactionConstraintEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(combinedFragmentEClass, CombinedFragment.class, "CombinedFragment", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getCombinedFragment_InteractionOperator(), this.getInteractionOperator(), "interactionOperator", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getCombinedFragment_Operand(), this.getInteractionOperand(), null, "operand", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getCombinedFragment_CfragmentGate(), this.getGate(), null, "cfragmentGate", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(combinedFragmentEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		initEClass(continuationEClass, Continuation.class, "Continuation", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getContinuation_Setting(), this.getBoolean(), "setting", "True", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
 
 		initEClass(expansionNodeEClass, ExpansionNode.class, "ExpansionNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getExpansionNode_RegionAsOutput(), this.getExpansionRegion(), this.getExpansionRegion_OutputElement(), "regionAsOutput", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -11852,6 +11852,17 @@
 		op = addEOperation(protocolTransitionEClass, null, "setGuard"); //$NON-NLS-1$
 		addEParameter(op, this.getConstraint(), "newGuard"); //$NON-NLS-1$
 
+		initEClass(componentEClass, Component.class, "Component", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEAttribute(getComponent_IsIndirectlyInstantiated(), this.getBoolean(), "isIndirectlyInstantiated", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getComponent_Required(), this.getInterface(), null, "required", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getComponent_Provided(), this.getInterface(), null, "provided", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
+		initEReference(getComponent_Realization(), this.getRealization(), this.getRealization_Abstraction(), "realization", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getComponent_OwnedMember(), this.getPackageableElement(), null, "ownedMember", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(componentEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
+		addEOperation(componentEClass, ecorePackage.getEEList(), "getClientDependencies"); //$NON-NLS-1$
+
 		initEClass(timeExpressionEClass, TimeExpression.class, "TimeExpression", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEAttribute(getTimeExpression_FirstTime(), this.getBoolean(), "firstTime", "True", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
 		initEReference(getTimeExpression_Event(), this.getNamedElement(), null, "event", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -11913,18 +11924,6 @@
 		op = addEOperation(durationConstraintEClass, null, "setSpecification"); //$NON-NLS-1$
 		addEParameter(op, this.getValueSpecification(), "newSpecification"); //$NON-NLS-1$
 
-		initEClass(dataStoreNodeEClass, DataStoreNode.class, "DataStoreNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-
-		initEClass(interruptibleActivityRegionEClass, InterruptibleActivityRegion.class, "InterruptibleActivityRegion", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getInterruptibleActivityRegion_InterruptingEdge(), this.getActivityEdge(), this.getActivityEdge_Interrupts(), "interruptingEdge", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getInterruptibleActivityRegion_ContainedNode(), this.getActivityNode(), this.getActivityNode_InInterruptibleRegion(), "containedNode", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		initEClass(parameterSetEClass, ParameterSet.class, "ParameterSet", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEReference(getParameterSet_Parameter(), this.getParameter(), this.getParameter_ParameterSet(), "parameter", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getParameterSet_Condition(), this.getConstraint(), null, "condition", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(parameterSetEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
 		initEClass(readExtentActionEClass, ReadExtentAction.class, "ReadExtentAction", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getReadExtentAction_Result(), this.getOutputPin(), null, "result", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getReadExtentAction_Classifier(), this.getClassifier(), null, "classifier", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -12008,17 +12007,6 @@
 
 		addEOperation(raiseExceptionActionEClass, ecorePackage.getEEList(), "getInputs"); //$NON-NLS-1$
 
-		initEClass(componentEClass, Component.class, "Component", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
-		initEAttribute(getComponent_IsIndirectlyInstantiated(), this.getBoolean(), "isIndirectlyInstantiated", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getComponent_Required(), this.getInterface(), null, "required", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getComponent_Provided(), this.getInterface(), null, "provided", null, 0, -1, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED); //$NON-NLS-1$
-		initEReference(getComponent_Realization(), this.getRealization(), this.getRealization_Abstraction(), "realization", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-		initEReference(getComponent_OwnedMember(), this.getPackageableElement(), null, "ownedMember", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
-
-		addEOperation(componentEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
-
-		addEOperation(componentEClass, ecorePackage.getEEList(), "getClientDependencies"); //$NON-NLS-1$
-
 		initEClass(deploymentEClass, Deployment.class, "Deployment", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEReference(getDeployment_DeployedArtifact(), this.getDeployedArtifact(), null, "deployedArtifact", null, 0, -1, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
 		initEReference(getDeployment_Location(), this.getDeploymentTarget(), this.getDeploymentTarget_Deployment(), "location", null, 1, 1, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
@@ -12055,6 +12043,18 @@
 
 		initEClass(communicationPathEClass, CommunicationPath.class, "CommunicationPath", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 
+		initEClass(dataStoreNodeEClass, DataStoreNode.class, "DataStoreNode", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+
+		initEClass(interruptibleActivityRegionEClass, InterruptibleActivityRegion.class, "InterruptibleActivityRegion", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getInterruptibleActivityRegion_InterruptingEdge(), this.getActivityEdge(), this.getActivityEdge_Interrupts(), "interruptingEdge", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getInterruptibleActivityRegion_ContainedNode(), this.getActivityNode(), this.getActivityNode_InInterruptibleRegion(), "containedNode", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		initEClass(parameterSetEClass, ParameterSet.class, "ParameterSet", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
+		initEReference(getParameterSet_Parameter(), this.getParameter(), this.getParameter_ParameterSet(), "parameter", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+		initEReference(getParameterSet_Condition(), this.getConstraint(), null, "condition", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$
+
+		addEOperation(parameterSetEClass, ecorePackage.getEEList(), "getOwnedElements"); //$NON-NLS-1$
+
 		initEClass(deploymentSpecificationEClass, DeploymentSpecification.class, "DeploymentSpecification", !IS_ABSTRACT, !IS_INTERFACE); //$NON-NLS-1$
 		initEAttribute(getDeploymentSpecification_DeploymentLocation(), this.getString(), "deploymentLocation", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
 		initEAttribute(getDeploymentSpecification_ExecutionLocation(), this.getString(), "executionLocation", "", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED); //$NON-NLS-1$ //$NON-NLS-2$
@@ -12094,20 +12094,6 @@
 		addEEnumLiteral(callConcurrencyKindEEnum, CallConcurrencyKind.GUARDED_LITERAL);
 		addEEnumLiteral(callConcurrencyKindEEnum, CallConcurrencyKind.CONCURRENT_LITERAL);
 
-		initEEnum(interactionOperatorEEnum, InteractionOperator.class, "InteractionOperator"); //$NON-NLS-1$
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.SEQ_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.ALT_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.OPT_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.BREAK_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.PAR_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.STRICT_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.LOOP_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.CRITICAL_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.NEG_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.ASSERT_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.IGNORE_LITERAL);
-		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.CONSIDER_LITERAL);
-
 		initEEnum(transitionKindEEnum, TransitionKind.class, "TransitionKind"); //$NON-NLS-1$
 		addEEnumLiteral(transitionKindEEnum, TransitionKind.INTERNAL_LITERAL);
 		addEEnumLiteral(transitionKindEEnum, TransitionKind.LOCAL_LITERAL);
@@ -12125,11 +12111,29 @@
 		addEEnumLiteral(pseudostateKindEEnum, PseudostateKind.EXIT_POINT_LITERAL);
 		addEEnumLiteral(pseudostateKindEEnum, PseudostateKind.TERMINATE_LITERAL);
 
+		initEEnum(interactionOperatorEEnum, InteractionOperator.class, "InteractionOperator"); //$NON-NLS-1$
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.SEQ_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.ALT_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.OPT_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.BREAK_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.PAR_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.STRICT_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.LOOP_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.CRITICAL_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.NEG_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.ASSERT_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.IGNORE_LITERAL);
+		addEEnumLiteral(interactionOperatorEEnum, InteractionOperator.CONSIDER_LITERAL);
+
 		initEEnum(expansionKindEEnum, ExpansionKind.class, "ExpansionKind"); //$NON-NLS-1$
 		addEEnumLiteral(expansionKindEEnum, ExpansionKind.PARALLEL_LITERAL);
 		addEEnumLiteral(expansionKindEEnum, ExpansionKind.ITERATIVE_LITERAL);
 		addEEnumLiteral(expansionKindEEnum, ExpansionKind.STREAM_LITERAL);
 
+		initEEnum(connectorKindEEnum, ConnectorKind.class, "ConnectorKind"); //$NON-NLS-1$
+		addEEnumLiteral(connectorKindEEnum, ConnectorKind.ASSEMBLY_LITERAL);
+		addEEnumLiteral(connectorKindEEnum, ConnectorKind.DELEGATION_LITERAL);
+
 		initEEnum(parameterEffectKindEEnum, ParameterEffectKind.class, "ParameterEffectKind"); //$NON-NLS-1$
 		addEEnumLiteral(parameterEffectKindEEnum, ParameterEffectKind.CREATE_LITERAL);
 		addEEnumLiteral(parameterEffectKindEEnum, ParameterEffectKind.READ_LITERAL);
@@ -12142,10 +12146,6 @@
 		addEEnumLiteral(objectNodeOrderingKindEEnum, ObjectNodeOrderingKind.LIFO_LITERAL);
 		addEEnumLiteral(objectNodeOrderingKindEEnum, ObjectNodeOrderingKind.FIFO_LITERAL);
 
-		initEEnum(connectorKindEEnum, ConnectorKind.class, "ConnectorKind"); //$NON-NLS-1$
-		addEEnumLiteral(connectorKindEEnum, ConnectorKind.ASSEMBLY_LITERAL);
-		addEEnumLiteral(connectorKindEEnum, ConnectorKind.DELEGATION_LITERAL);
-
 		// Initialize data types
 		initEDataType(integerEDataType, int.class, "Integer", IS_SERIALIZABLE); //$NON-NLS-1$
 		initEDataType(booleanEDataType, boolean.class, "Boolean", IS_SERIALIZABLE); //$NON-NLS-1$
@@ -12297,6 +12297,104 @@
 			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nupperBound()\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
 		   });						
 		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.validateNoName(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nself.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty()\r\n\timplies self.qualifiedName->isEmpty()\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.validateQualifiedName(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\n(self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies\r\nself.qualifiedName =\r\n self.allNamespaces()->iterate( ns : Namespace; result: String = self.name |\r\n\t\tns.name->union(self.separator())->union(result))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(2), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\ntry {\r\n\tjava.lang.reflect.Method method = getClass().getMethod(\"allNamespaces\", new Class[] {}); //$NON-NLS-1$\r\n\tif (!getCacheAdapter().containsKey(this, method)) {\r\n\t\tgetCacheAdapter().put(this,\r\n\t\t\tmethod,\r\n\t\t\tjava.util.Collections.unmodifiableList(org.eclipse.uml2.internal.operation.NamedElementOperations.allNamespaces(this)));\r\n\t}\r\n\treturn (List) getCacheAdapter().get(this, method);\r\n} catch (Exception e) {\r\n\treturn org.eclipse.uml2.internal.operation.NamedElementOperations.allNamespaces(this);\r\n}", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif self.namespace->isEmpty()\r\nthen Sequence{}\r\nelse self.namespace.allNamespaces()->prepend(self.namespace)\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(3), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.isDistinguishableFrom(this, n, ns);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType)\r\nthen ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()\r\nelse true\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(4), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.separator(this);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\n\'::\'\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(5), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.qualifiedName(this);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()\r\nthen \r\n    self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))\r\nelse\r\n    Set{}\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(6), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.validateVisibilityNeedsOwnership(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nnamespace->isEmpty() implies visibility->isEmpty()\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });											
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.validateMembersAreDistinguishable(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nmembersAreDistinguishable()\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.getNamesOfMember(this, element);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif self.ownedMember->includes(element)\r\nthen Set{}->include(element.name)\r\nelse let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in\r\n    if elementImports->notEmpty()\r\n    then elementImports->collect(el | el.getName())\r\n    else \r\n        self.packageImport->select(pi | pi.importedPackage.visibleMembers()->includes(element))->collect(pi | pi.importedPackage.getNamesOfMember(element))\r\n    endif\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(2), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.membersAreDistinguishable(this);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nself.member->forAll( memb |\r\n\tself.member->excluding(memb)->forAll(other |\r\n\t\tmemb.isDistinguishableFrom(other, self)))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(3), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.validateImportedMemberDerived(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nself.importedMember->includesAll(self.importedMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers()))))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(4), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\ntry {\r\n\tjava.lang.reflect.Method method = getClass().getMethod(\"importedMember\", new Class[] {}); //$NON-NLS-1$\r\n\tif (!getCacheAdapter().containsKey(this, method)) {\r\n\t\tgetCacheAdapter().put(this,\r\n\t\t\tmethod,\r\n\t\t\tjava.util.Collections.unmodifiableSet(org.eclipse.uml2.internal.operation.NamespaceOperations.importedMember(this)));\r\n\t}\r\n\treturn (Set) getCacheAdapter().get(this, method);\r\n} catch (Exception e) {\r\n\treturn org.eclipse.uml2.internal.operation.NamespaceOperations.importedMember(this);\r\n}", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nself.importedMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers())))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(5), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.importMembers(this, imps);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nself.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem | mem.imp.isDistinguishableFrom(mem, self)))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(6), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.excludeCollisions(this, imps);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nimps->reject(imp1 | imps.exists(imp2 | not imp1.isDistinguishableFrom(imp2, self)))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });																						
+		addAnnotation
 		  ((EOperation)valueSpecificationEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -12337,7 +12435,7 @@
 		   new String[] {
 			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.ValueSpecificationOperations.isNull(this);", //$NON-NLS-1$ //$NON-NLS-2$
 			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nfalse\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
+		   });					
 		addAnnotation
 		  ((EOperation)classEClass.getEOperations().get(0), 
 		   source, 
@@ -12479,55 +12577,6 @@
 			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\n(redefinee.oclIsKindOf(Operation) and\r\n    let op: Operation = redefinee.oclAsType(Operation) in\r\n        self.formalParameter.size() = op.formalParameter.size() and\r\n        self.returnResult.size() = op.returnResult.size() and\r\n        forAll(i | op.formalParameter[i].type.conformsTo(self.formalParameter[i].type)) and\r\n        forAll(i | op.returnResult[i].type.conformsTo(self.returnResult[i].type))\r\n)\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
 		   });																																								
 		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.validateNoName(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nself.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty()\r\n\timplies self.qualifiedName->isEmpty()\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.validateQualifiedName(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\n(self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies\r\nself.qualifiedName =\r\n self.allNamespaces()->iterate( ns : Namespace; result: String = self.name |\r\n\t\tns.name->union(self.separator())->union(result))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(2), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\ntry {\r\n\tjava.lang.reflect.Method method = getClass().getMethod(\"allNamespaces\", new Class[] {}); //$NON-NLS-1$\r\n\tif (!getCacheAdapter().containsKey(this, method)) {\r\n\t\tgetCacheAdapter().put(this,\r\n\t\t\tmethod,\r\n\t\t\tjava.util.Collections.unmodifiableList(org.eclipse.uml2.internal.operation.NamedElementOperations.allNamespaces(this)));\r\n\t}\r\n\treturn (List) getCacheAdapter().get(this, method);\r\n} catch (Exception e) {\r\n\treturn org.eclipse.uml2.internal.operation.NamedElementOperations.allNamespaces(this);\r\n}", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif self.namespace->isEmpty()\r\nthen Sequence{}\r\nelse self.namespace.allNamespaces()->prepend(self.namespace)\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(3), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.isDistinguishableFrom(this, n, ns);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType)\r\nthen ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()\r\nelse true\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(4), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.separator(this);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\n\'::\'\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(5), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.qualifiedName(this);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()\r\nthen \r\n    self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))\r\nelse\r\n    Set{}\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(6), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamedElementOperations.validateVisibilityNeedsOwnership(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nnamespace->isEmpty() implies visibility->isEmpty()\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });											
-		addAnnotation
 		  ((EOperation)packageEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -12563,55 +12612,6 @@
 			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\ninhs->excluding(inh |\r\n\townedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
 		   });													
 		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.validateMembersAreDistinguishable(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nmembersAreDistinguishable()\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.getNamesOfMember(this, element);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif self.ownedMember->includes(element)\r\nthen Set{}->include(element.name)\r\nelse let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in\r\n    if elementImports->notEmpty()\r\n    then elementImports->collect(el | el.getName())\r\n    else \r\n        self.packageImport->select(pi | pi.importedPackage.visibleMembers()->includes(element))->collect(pi | pi.importedPackage.getNamesOfMember(element))\r\n    endif\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(2), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.membersAreDistinguishable(this);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nself.member->forAll( memb |\r\n\tself.member->excluding(memb)->forAll(other |\r\n\t\tmemb.isDistinguishableFrom(other, self)))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(3), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.validateImportedMemberDerived(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nself.importedMember->includesAll(self.importedMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers()))))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(4), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\ntry {\r\n\tjava.lang.reflect.Method method = getClass().getMethod(\"importedMember\", new Class[] {}); //$NON-NLS-1$\r\n\tif (!getCacheAdapter().containsKey(this, method)) {\r\n\t\tgetCacheAdapter().put(this,\r\n\t\t\tmethod,\r\n\t\t\tjava.util.Collections.unmodifiableSet(org.eclipse.uml2.internal.operation.NamespaceOperations.importedMember(this)));\r\n\t}\r\n\treturn (Set) getCacheAdapter().get(this, method);\r\n} catch (Exception e) {\r\n\treturn org.eclipse.uml2.internal.operation.NamespaceOperations.importedMember(this);\r\n}", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nself.importedMembers(self.elementImport.importedElement.asSet()->union(self.packageImport.importedPackage->collect(p | p.visibleMembers())))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(5), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.importMembers(this, imps);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nself.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem | mem.imp.isDistinguishableFrom(mem, self)))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(6), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.NamespaceOperations.excludeCollisions(this, imps);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nimps->reject(imp1 | imps.exists(imp2 | not imp1.isDistinguishableFrom(imp2, self)))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																			
-		addAnnotation
 		  ((EOperation)constraintEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -12794,20 +12794,6 @@
 			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nif n.oclIsKindOf(BehavioralFeature)\r\nthen\r\n    if ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()\r\n    then Set{}->include(self)->include(n)->isUnique( bf | bf.parameter->collect(type))\r\n    else true\r\n    endif\r\nelse true\r\nendif\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
 		   });																		
 		addAnnotation
-		  ((EOperation)instanceSpecificationEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.InstanceSpecificationOperations.validateSlotsAreDefined(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nslot->forAll(s |\r\n  classifier->exists(c | c.allFeatures()->includes(s.definingFeature))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)instanceSpecificationEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.InstanceSpecificationOperations.validateNoDuplicateSlots(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
-			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nclassifier->forAll(c |\r\n\t(c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() <= 1)\r\n\t)\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });													
-		addAnnotation
 		  ((EOperation)redefinableElementEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -12834,7 +12820,21 @@
 		   new String[] {
 			 "body", "// TODO: test this OCL operation\r\nreturn org.eclipse.uml2.internal.operation.RedefinableElementOperations.isRedefinitionContextValid(this, redefinable);", //$NON-NLS-1$ //$NON-NLS-2$
 			 "documentation", "A query based on the following OCL expression:\r\n<code>\r\nself.redefinitionContext->exists(c | redefinable.redefinitionContext->exists(r | c.allParents()->includes(r)))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });										
+		   });					
+		addAnnotation
+		  ((EOperation)instanceSpecificationEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.InstanceSpecificationOperations.validateSlotsAreDefined(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nslot->forAll(s |\r\n  classifier->exists(c | c.allFeatures()->includes(s.definingFeature))\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)instanceSpecificationEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.InstanceSpecificationOperations.validateNoDuplicateSlots(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
+			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nclassifier->forAll(c |\r\n\t(c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() <= 1)\r\n\t)\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
+		   });																		
 		addAnnotation
 		  ((EOperation)elementImportEClass.getEOperations().get(0), 
 		   source, 
@@ -12862,13 +12862,7 @@
 		   new String[] {
 			 "body", "// TODO: test this OCL constraint\r\nreturn org.eclipse.uml2.internal.operation.PackageImportOperations.validatePublicOrPrivate(this, diagnostics, context);", //$NON-NLS-1$ //$NON-NLS-2$
 			 "documentation", "An invariant constraint based on the following OCL expression:\r\n<code>\r\nself.visibility = #public or self.visibility = #private\r\n</code>" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																																																																																																																																																																																																																																	
-		addAnnotation
-		  ((EOperation)templateableElementEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "body", "// TODO: test this OCL operation\r\ntry {\r\n\tjava.lang.reflect.Method method = getClass().getMethod(\"parameterableElements\", new Class[] {}); //$NON-NLS-1$\r\n\tif (!getCacheAdapter().containsKey(this, method)) {\r\n\t\tgetCacheAdapter().put(this,\r\n\t\t\tmethod,\r\n\t\t\tjava.util.Collections.unmodifiableSet(org.eclipse.uml2.internal.operation.TemplateableElementOperations.parameterableElements(this)));\r\n\t}\r\n\treturn (Set) getCacheAdapter().get(this, method);\r\n} catch (Exception e) {\r\n\treturn org.eclipse.uml2.internal.operation.TemplateableElementOperations.parameterableElements(this);\r\n}" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		   });																																		
+		   });																																																																																																																																																																																																																																																	
 		addAnnotation
 		  (interactionEClass, 
 		   source, 
@@ -12886,7 +12880,13 @@
 		   source, 
 		   new String[] {
 			 "documentation", "A Lifelineis the concept behind a lifeline in a Sequence \r\nDiagram. A Participant may be a Part or it may be a parameter representing a part. Its qualification is a Classifier which in turn may be an Interface (or ClassifierRole?)" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																																							
+		   });																																																																																							
+		addAnnotation
+		  ((EOperation)templateableElementEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "body", "// TODO: test this OCL operation\r\ntry {\r\n\tjava.lang.reflect.Method method = getClass().getMethod(\"parameterableElements\", new Class[] {}); //$NON-NLS-1$\r\n\tif (!getCacheAdapter().containsKey(this, method)) {\r\n\t\tgetCacheAdapter().put(this,\r\n\t\t\tmethod,\r\n\t\t\tjava.util.Collections.unmodifiableSet(org.eclipse.uml2.internal.operation.TemplateableElementOperations.parameterableElements(this)));\r\n\t}\r\n\treturn (Set) getCacheAdapter().get(this, method);\r\n} catch (Exception e) {\r\n\treturn org.eclipse.uml2.internal.operation.TemplateableElementOperations.parameterableElements(this);\r\n}" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		   });																																																																																																																																																																
 		addAnnotation
 		  (interactionOccurrenceEClass, 
 		   source, 
@@ -12916,7 +12916,7 @@
 		   source, 
 		   new String[] {
 			 "documentation", "An interaction fragment that decomposes into a set of other interaction fragments under some operator.\r\nIn principle the whole sequence diagram is an combined interaction. Syntactically, however, we will have special notation for combineations such that operands may be easily distinguished.\r\nCombined interactions consist of operands and an implicit or explicit operator" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																																																																																																																																																																																																																																					
+		   });																																																																																																																																							
 	}
 
 	/**
@@ -12961,7 +12961,32 @@
 		  ((EOperation)multiplicityElementEClass.getEOperations().get(9), 
 		   source, 
 		   new String[] {
-		   });																																													
+		   });									
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });							
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(6), 
+		   source, 
+		   new String[] {
+		   });											
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });					
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(3), 
+		   source, 
+		   new String[] {
+		   });																																																											
 		addAnnotation
 		  ((EOperation)propertyEClass.getEOperations().get(0), 
 		   source, 
@@ -13008,36 +13033,11 @@
 		   new String[] {
 		   });																																										
 		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });							
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(6), 
-		   source, 
-		   new String[] {
-		   });											
-		addAnnotation
 		  ((EOperation)packageEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 		   });																																		
 		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });					
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(3), 
-		   source, 
-		   new String[] {
-		   });																							
-		addAnnotation
 		  ((EOperation)constraintEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -13063,16 +13063,6 @@
 		   new String[] {
 		   });																																												
 		addAnnotation
-		  ((EOperation)instanceSpecificationEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)instanceSpecificationEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });													
-		addAnnotation
 		  ((EOperation)redefinableElementEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -13081,7 +13071,17 @@
 		  ((EOperation)redefinableElementEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });													
+		   });								
+		addAnnotation
+		  ((EOperation)instanceSpecificationEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)instanceSpecificationEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });																		
 		addAnnotation
 		  ((EOperation)elementImportEClass.getEOperations().get(0), 
 		   source, 
@@ -13121,14 +13121,64 @@
 		  ((EOperation)multiplicityElementEClass.getEOperations().get(12), 
 		   source, 
 		   new String[] {
-		   });											
+		   });																
 		addAnnotation
-		  ((EOperation)expressionEClass.getEOperations().get(0), 
+		  ((EOperation)namedElementEClass.getEOperations().get(7), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(8), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(9), 
+		   source, 
+		   new String[] {
+		   });														
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(7), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(8), 
+		   source, 
+		   new String[] {
+		   });		
+		addAnnotation
+		  (getNamespace_Member(), 
+		   source, 
+		   new String[] {
+		   });							
+		addAnnotation
+		  ((EOperation)commentEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 		   });				
 		addAnnotation
-		  ((EOperation)commentEClass.getEOperations().get(0), 
+		  ((EOperation)directedRelationshipEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });		
+		addAnnotation
+		  (getDirectedRelationship_Source(), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  (getDirectedRelationship_Target(), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  (getRelationship_RelatedElement(), 
+		   source, 
+		   new String[] {
+		   });									
+		addAnnotation
+		  ((EOperation)expressionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 		   });														
@@ -13211,22 +13261,7 @@
 		  ((EOperation)parameterEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });																
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(7), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(8), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(9), 
-		   source, 
-		   new String[] {
-		   });									
+		   });										
 		addAnnotation
 		  ((EOperation)packageEClass.getEOperations().get(4), 
 		   source, 
@@ -13261,42 +13296,7 @@
 		  ((EOperation)enumerationLiteralEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });														
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(7), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(8), 
-		   source, 
-		   new String[] {
-		   });		
-		addAnnotation
-		  (getNamespace_Member(), 
-		   source, 
-		   new String[] {
-		   });							
-		addAnnotation
-		  ((EOperation)directedRelationshipEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });		
-		addAnnotation
-		  (getDirectedRelationship_Source(), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  (getDirectedRelationship_Target(), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  (getRelationship_RelatedElement(), 
-		   source, 
-		   new String[] {
-		   });					
+		   });						
 		addAnnotation
 		  ((EOperation)constraintEClass.getEOperations().get(1), 
 		   source, 
@@ -13371,7 +13371,17 @@
 		  ((EOperation)generalizationEClass.getEOperations().get(2), 
 		   source, 
 		   new String[] {
-		   });									
+		   });											
+		addAnnotation
+		  ((EOperation)redefinableElementEClass.getEOperations().get(4), 
+		   source, 
+		   new String[] {
+		   });		
+		addAnnotation
+		  (getRedefinableElement_RedefinitionContext(), 
+		   source, 
+		   new String[] {
+		   });							
 		addAnnotation
 		  ((EOperation)instanceSpecificationEClass.getEOperations().get(2), 
 		   source, 
@@ -13386,17 +13396,7 @@
 		  ((EOperation)slotEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });											
-		addAnnotation
-		  ((EOperation)redefinableElementEClass.getEOperations().get(4), 
-		   source, 
-		   new String[] {
-		   });		
-		addAnnotation
-		  (getRedefinableElement_RedefinitionContext(), 
-		   source, 
-		   new String[] {
-		   });													
+		   });															
 		addAnnotation
 		  ((EOperation)elementImportEClass.getEOperations().get(3), 
 		   source, 
@@ -13518,75 +13518,40 @@
 		   new String[] {
 		   });										
 		addAnnotation
-		  ((EOperation)activityEdgeEClass.getEOperations().get(0), 
+		  ((EOperation)connectorEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 		   });			
 		addAnnotation
-		  ((EOperation)activityEdgeEClass.getEOperations().get(1), 
+		  ((EOperation)connectorEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });					
+		addAnnotation
+		  ((EOperation)structuredClassifierEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 		   });			
 		addAnnotation
-		  (getActivityEdge_InGroup(), 
-		   source, 
-		   new String[] {
-		   });										
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });									
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(5), 
+		  ((EOperation)structuredClassifierEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
 		   });			
 		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(6), 
-		   source, 
-		   new String[] {
-		   });		
-		addAnnotation
-		  (getActivityGroup_SuperGroup(), 
-		   source, 
-		   new String[] {
-		   });							
-		addAnnotation
-		  ((EOperation)activityNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });		
-		addAnnotation
-		  (getActivityNode_InGroup(), 
-		   source, 
-		   new String[] {
-		   });									
-		addAnnotation
-		  ((EOperation)actionEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });		
-		addAnnotation
-		  (getAction_Output(), 
+		  ((EOperation)structuredClassifierEClass.getEOperations().get(2), 
 		   source, 
 		   new String[] {
 		   });			
 		addAnnotation
-		  (getAction_Input(), 
+		  ((EOperation)structuredClassifierEClass.getEOperations().get(3), 
 		   source, 
 		   new String[] {
-		   });						
+		   });			
 		addAnnotation
-		  ((EOperation)objectNodeEClass.getEOperations().get(0), 
+		  (getStructuredClassifier_Role(), 
 		   source, 
 		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)executableNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });				
+		   });					
 		addAnnotation
 		  ((EOperation)interfaceEClass.getEOperations().get(0), 
 		   source, 
@@ -13673,40 +13638,75 @@
 		   new String[] {
 		   });				
 		addAnnotation
-		  ((EOperation)connectorEClass.getEOperations().get(0), 
+		  ((EOperation)activityEdgeEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 		   });			
 		addAnnotation
-		  ((EOperation)connectorEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });					
-		addAnnotation
-		  ((EOperation)structuredClassifierEClass.getEOperations().get(0), 
+		  ((EOperation)activityEdgeEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
 		   });			
 		addAnnotation
-		  ((EOperation)structuredClassifierEClass.getEOperations().get(1), 
+		  (getActivityEdge_InGroup(), 
+		   source, 
+		   new String[] {
+		   });										
+		addAnnotation
+		  ((EOperation)activityGroupEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });									
+		addAnnotation
+		  ((EOperation)activityGroupEClass.getEOperations().get(5), 
 		   source, 
 		   new String[] {
 		   });			
 		addAnnotation
-		  ((EOperation)structuredClassifierEClass.getEOperations().get(2), 
+		  ((EOperation)activityGroupEClass.getEOperations().get(6), 
+		   source, 
+		   new String[] {
+		   });		
+		addAnnotation
+		  (getActivityGroup_SuperGroup(), 
+		   source, 
+		   new String[] {
+		   });							
+		addAnnotation
+		  ((EOperation)activityNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });		
+		addAnnotation
+		  (getActivityNode_InGroup(), 
+		   source, 
+		   new String[] {
+		   });									
+		addAnnotation
+		  ((EOperation)actionEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });		
+		addAnnotation
+		  (getAction_Output(), 
 		   source, 
 		   new String[] {
 		   });			
 		addAnnotation
-		  ((EOperation)structuredClassifierEClass.getEOperations().get(3), 
+		  (getAction_Input(), 
 		   source, 
 		   new String[] {
-		   });			
+		   });						
 		addAnnotation
-		  (getStructuredClassifier_Role(), 
+		  ((EOperation)objectNodeEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });					
+		   });				
+		addAnnotation
+		  ((EOperation)executableNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });				
 		addAnnotation
 		  ((EOperation)collaborationOccurrenceEClass.getEOperations().get(0), 
 		   source, 
@@ -13716,8 +13716,118 @@
 		  ((EOperation)collaborationEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
+		   });					
+		addAnnotation
+		  ((EOperation)interactionEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });							
+		addAnnotation
+		  ((EOperation)interactionFragmentEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)interactionFragmentEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });						
+		addAnnotation
+		  ((EOperation)lifelineEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)lifelineEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });					
+		addAnnotation
+		  ((EOperation)messageEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)messageEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });									
+		addAnnotation
+		  ((EOperation)stateInvariantEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
 		   });				
 		addAnnotation
+		  ((EOperation)portEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });				
+		addAnnotation
+		  ((EOperation)encapsulatedClassifierEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)encapsulatedClassifierEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });				
+		addAnnotation
+		  ((EOperation)changeTriggerEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });				
+		addAnnotation
+		  ((EOperation)signalEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)signalEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });				
+		addAnnotation
+		  ((EOperation)timeTriggerEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });				
+		addAnnotation
+		  ((EOperation)variableEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });												
+		addAnnotation
+		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(4), 
+		   source, 
+		   new String[] {
+		   });						
+		addAnnotation
+		  ((EOperation)conditionalNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)conditionalNodeEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });					
+		addAnnotation
+		  ((EOperation)loopNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)loopNodeEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+		   });			
+		addAnnotation
+		  ((EOperation)loopNodeEClass.getEOperations().get(2), 
+		   source, 
+		   new String[] {
+		   });						
+		addAnnotation
 		  ((EOperation)templateSignatureEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -13786,137 +13896,7 @@
 		  ((EOperation)templateParameterSubstitutionEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });							
-		addAnnotation
-		  ((EOperation)interactionEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });							
-		addAnnotation
-		  ((EOperation)interactionFragmentEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)interactionFragmentEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });						
-		addAnnotation
-		  ((EOperation)lifelineEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)lifelineEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });					
-		addAnnotation
-		  ((EOperation)messageEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)messageEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });									
-		addAnnotation
-		  ((EOperation)stateInvariantEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)variableEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });												
-		addAnnotation
-		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(4), 
-		   source, 
-		   new String[] {
-		   });						
-		addAnnotation
-		  ((EOperation)conditionalNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)conditionalNodeEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });					
-		addAnnotation
-		  ((EOperation)loopNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)loopNodeEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)loopNodeEClass.getEOperations().get(2), 
-		   source, 
-		   new String[] {
-		   });						
-		addAnnotation
-		  ((EOperation)portEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)encapsulatedClassifierEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)encapsulatedClassifierEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)changeTriggerEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)signalEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });			
-		addAnnotation
-		  ((EOperation)signalEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)timeTriggerEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });					
-		addAnnotation
-		  ((EOperation)interactionOccurrenceEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });							
-		addAnnotation
-		  ((EOperation)interactionOperandEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)interactionConstraintEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });						
-		addAnnotation
-		  ((EOperation)combinedFragmentEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });									
+		   });										
 		addAnnotation
 		  ((EOperation)stateMachineEClass.getEOperations().get(2), 
 		   source, 
@@ -13943,6 +13923,16 @@
 		   new String[] {
 		   });							
 		addAnnotation
+		  ((EOperation)joinNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });				
+		addAnnotation
+		  ((EOperation)activityPartitionEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });							
+		addAnnotation
 		  ((EOperation)createObjectActionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -14046,18 +14036,28 @@
 		  ((EOperation)callOperationActionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });				
+		   });					
 		addAnnotation
-		  ((EOperation)joinNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)activityPartitionEClass.getEOperations().get(0), 
+		  ((EOperation)interactionOccurrenceEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 		   });							
 		addAnnotation
+		  ((EOperation)interactionOperandEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });				
+		addAnnotation
+		  ((EOperation)interactionConstraintEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });						
+		addAnnotation
+		  ((EOperation)combinedFragmentEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });					
+		addAnnotation
 		  ((EOperation)exceptionHandlerEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -14086,12 +14086,12 @@
 		  ((EOperation)protocolTransitionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });																																								
+		   });							
 		addAnnotation
-		  ((EOperation)parameterSetEClass.getEOperations().get(0), 
+		  ((EOperation)componentEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });				
+		   });																																							
 		addAnnotation
 		  ((EOperation)readExtentActionEClass.getEOperations().get(0), 
 		   source, 
@@ -14161,12 +14161,7 @@
 		  ((EOperation)raiseExceptionActionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });				
-		addAnnotation
-		  ((EOperation)componentEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-		   });									
+		   });						
 		addAnnotation
 		  ((EOperation)deploymentEClass.getEOperations().get(1), 
 		   source, 
@@ -14186,7 +14181,12 @@
 		  ((EOperation)deploymentTargetEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });						
+		   });										
+		addAnnotation
+		  ((EOperation)parameterSetEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+		   });	
 	}
 
 	/**
@@ -14214,9 +14214,46 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });										
+		   });													
 		addAnnotation
-		  (getExpression_Operand(), 
+		  ((EOperation)namedElementEClass.getEOperations().get(7), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });							
+		addAnnotation
+		  (getNamedElement_NameExpression(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });												
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(7), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "", //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Namespace#getMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
+		addAnnotation
+		  (getNamespace_OwnedRule(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getNamespace_ImportedMember(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Namespace#getMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getNamespace_ElementImport(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getNamespace_PackageImport(), 
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
@@ -14226,6 +14263,24 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  (getDirectedRelationship_Source(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Relationship#getRelatedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  (getDirectedRelationship_Target(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Relationship#getRelatedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });											
+		addAnnotation
+		  (getExpression_Operand(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });									
 		addAnnotation
 		  ((EOperation)classEClass.getEOperations().get(3), 
@@ -14359,18 +14414,6 @@
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });													
 		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(7), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
-		addAnnotation
-		  (getNamedElement_NameExpression(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });													
-		addAnnotation
 		  (getPackage_NestedPackage(), 
 		   source, 
 		   new String[] {
@@ -14431,50 +14474,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.NamedElement#getNamespace", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });												
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(7), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "", //$NON-NLS-1$ //$NON-NLS-2$
-			 "org.eclipse.uml2.Namespace#getMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });						
-		addAnnotation
-		  (getNamespace_OwnedRule(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getNamespace_ImportedMember(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Namespace#getMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getNamespace_ElementImport(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getNamespace_PackageImport(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  (getDirectedRelationship_Source(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Relationship#getRelatedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  (getDirectedRelationship_Target(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Relationship#getRelatedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
+		   });							
 		addAnnotation
 		  (getConstraint_Namespace(), 
 		   source, 
@@ -14574,7 +14574,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.DirectedRelationship#getTargets", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
+		   });																	
 		addAnnotation
 		  (getInstanceSpecification_Slot(), 
 		   source, 
@@ -14598,7 +14598,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																											
+		   });																		
 		addAnnotation
 		  (getElementImport_ImportedElement(), 
 		   source, 
@@ -14792,112 +14792,37 @@
 			 "org.eclipse.uml2.Activity#getGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });							
 		addAnnotation
-		  (getActivityEdge_Activity(), 
+		  (getConnector_RedefinedConnector(), 
 		   source, 
 		   new String[] {
-			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
+			 "org.eclipse.uml2.RedefinableElement#getRedefinedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
 		addAnnotation
-		  (getActivityEdge_Guard(), 
+		  (getConnector_End(), 
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });										
+		addAnnotation
+		  (getStructuredClassifier_OwnedAttribute(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.StructuredClassifier#getRoles", "", //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Classifier#getAttributes", "", //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });			
 		addAnnotation
-		  (getActivityEdge_InStructuredNode(), 
+		  (getStructuredClassifier_Role(), 
 		   source, 
 		   new String[] {
-			 "org.eclipse.uml2.ActivityEdge#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Namespace#getMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });		
 		addAnnotation
-		  (getActivityEdge_InPartition(), 
+		  (getStructuredClassifier_OwnedConnector(), 
 		   source, 
 		   new String[] {
-			 "org.eclipse.uml2.ActivityEdge#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getActivityEdge_Weight(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });														
-		addAnnotation
-		  (getActivityGroup_SuperGroup(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  (getActivityGroup_ActivityGroup_activity(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
-		addAnnotation
-		  (getActivityNode_Activity(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  (getActivityNode_InStructuredNode(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.ActivityNode#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getActivityNode_InPartition(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.ActivityNode#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getActivityNode_InInterruptibleRegion(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.ActivityNode#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  (getAction_Output(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  (getAction_Input(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getAction_LocalPrecondition(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getAction_LocalPostcondition(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  (getObjectNode_UpperBound(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  (getExecutableNode_Handler(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Classifier#getFeatures", "", //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });										
 		addAnnotation
 		  (getInterface_OwnedAttribute(), 
@@ -15029,37 +14954,112 @@
 			 "org.eclipse.uml2.DirectedRelationship#getTargets", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });						
 		addAnnotation
-		  (getConnector_RedefinedConnector(), 
+		  (getActivityEdge_Activity(), 
 		   source, 
 		   new String[] {
-			 "org.eclipse.uml2.RedefinableElement#getRedefinedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
+			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
 		addAnnotation
-		  (getConnector_End(), 
+		  (getActivityEdge_Guard(), 
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });										
-		addAnnotation
-		  (getStructuredClassifier_OwnedAttribute(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.StructuredClassifier#getRoles", "", //$NON-NLS-1$ //$NON-NLS-2$
-			 "org.eclipse.uml2.Classifier#getAttributes", "", //$NON-NLS-1$ //$NON-NLS-2$
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });			
 		addAnnotation
-		  (getStructuredClassifier_Role(), 
+		  (getActivityEdge_InStructuredNode(), 
 		   source, 
 		   new String[] {
-			 "org.eclipse.uml2.Namespace#getMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.ActivityEdge#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });		
 		addAnnotation
-		  (getStructuredClassifier_OwnedConnector(), 
+		  (getActivityEdge_InPartition(), 
 		   source, 
 		   new String[] {
-			 "org.eclipse.uml2.Classifier#getFeatures", "", //$NON-NLS-1$ //$NON-NLS-2$
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.ActivityEdge#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getActivityEdge_Weight(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)activityGroupEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });														
+		addAnnotation
+		  (getActivityGroup_SuperGroup(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  (getActivityGroup_ActivityGroup_activity(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });							
+		addAnnotation
+		  (getActivityNode_Activity(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  (getActivityNode_InStructuredNode(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.ActivityNode#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getActivityNode_InPartition(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.ActivityNode#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getActivityNode_InInterruptibleRegion(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.ActivityNode#getInGroups", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  (getAction_Output(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  (getAction_Input(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getAction_LocalPrecondition(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getAction_LocalPostcondition(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  (getObjectNode_UpperBound(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  (getExecutableNode_Handler(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });				
 		addAnnotation
 		  (getCollaborationOccurrence_RoleBinding(), 
@@ -15072,6 +15072,140 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.StructuredClassifier#getRoles", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  (getInteraction_Lifeline(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getInteraction_Message(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getInteraction_FormalGate(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });							
+		addAnnotation
+		  (getInteractionFragment_GeneralOrdering(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getInteractionFragment_EnclosingOperand(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.NamedElement#getNamespace", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });							
+		addAnnotation
+		  (getLifeline_Interaction(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.NamedElement#getNamespace", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getLifeline_Selector(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
+		addAnnotation
+		  (getMessage_Interaction(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.NamedElement#getNamespace", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getMessage_Argument(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });								
+		addAnnotation
+		  (getStateInvariant_Invariant(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  (getPort_RedefinedPort(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.RedefinableElement#getRedefinedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
+		addAnnotation
+		  (getEncapsulatedClassifier_OwnedPort(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Classifier#getFeatures", "", //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  (getChangeTrigger_ChangeExpression(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
+		addAnnotation
+		  (getSignal_OwnedAttribute(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Classifier#getAttributes", "", //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  (getTimeTrigger_When(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  (getVariable_Scope(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });												
+		addAnnotation
+		  (getStructuredActivityNode_Variable(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });								
+		addAnnotation
+		  (getConditionalNode_Clause(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getConditionalNode_Result(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Action#getOutputs", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });								
+		addAnnotation
+		  (getLoopNode_Result(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Action#getOutputs", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getLoopNode_LoopVariable(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getLoopNode_LoopVariableInput(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Action#getInputs", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });							
 		addAnnotation
 		  (getTemplateSignature_OwnedParameter(), 
@@ -15168,176 +15302,6 @@
 		   new String[] {
 			 "org.eclipse.uml2.TemplateParameterSubstitution#getActuals", "", //$NON-NLS-1$ //$NON-NLS-2$
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  (getInteraction_Lifeline(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getInteraction_Message(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getInteraction_FormalGate(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
-		addAnnotation
-		  (getInteractionFragment_GeneralOrdering(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getInteractionFragment_EnclosingOperand(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.NamedElement#getNamespace", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
-		addAnnotation
-		  (getLifeline_Interaction(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.NamedElement#getNamespace", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getLifeline_Selector(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });						
-		addAnnotation
-		  (getMessage_Interaction(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.NamedElement#getNamespace", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getMessage_Argument(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
-		addAnnotation
-		  (getStateInvariant_Invariant(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  (getVariable_Scope(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwner", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });												
-		addAnnotation
-		  (getStructuredActivityNode_Variable(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
-		addAnnotation
-		  (getConditionalNode_Clause(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getConditionalNode_Result(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Action#getOutputs", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
-		addAnnotation
-		  (getLoopNode_Result(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Action#getOutputs", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getLoopNode_LoopVariable(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getLoopNode_LoopVariableInput(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Action#getInputs", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  (getPort_RedefinedPort(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.RedefinableElement#getRedefinedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });						
-		addAnnotation
-		  (getEncapsulatedClassifier_OwnedPort(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Classifier#getFeatures", "", //$NON-NLS-1$ //$NON-NLS-2$
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  (getChangeTrigger_ChangeExpression(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });						
-		addAnnotation
-		  (getSignal_OwnedAttribute(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Classifier#getAttributes", "", //$NON-NLS-1$ //$NON-NLS-2$
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  (getTimeTrigger_When(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  (getInteractionOccurrence_ActualGate(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
-		addAnnotation
-		  (getInteractionOperand_Guard(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  (getInteractionConstraint_Minint(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getInteractionConstraint_Maxint(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  (getCombinedFragment_Operand(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getCombinedFragment_CfragmentGate(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });								
 		addAnnotation
 		  (getStateMachine_Region(), 
@@ -15412,6 +15376,18 @@
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });				
 		addAnnotation
+		  (getJoinNode_JoinSpec(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });							
+		addAnnotation
+		  (getActivityPartition_SuperPartition(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.ActivityGroup#getSuperGroup", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
 		  (getCreateObjectAction_Result(), 
 		   source, 
 		   new String[] {
@@ -15542,18 +15518,42 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Action#getInputs", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
+		   });					
 		addAnnotation
-		  (getJoinNode_JoinSpec(), 
+		  (getInteractionOccurrence_ActualGate(), 
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });							
 		addAnnotation
-		  (getActivityPartition_SuperPartition(), 
+		  (getInteractionOperand_Guard(), 
 		   source, 
 		   new String[] {
-			 "org.eclipse.uml2.ActivityGroup#getSuperGroup", "" //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  (getInteractionConstraint_Minint(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getInteractionConstraint_Maxint(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  (getCombinedFragment_Operand(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  (getCombinedFragment_CfragmentGate(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
 		   });				
 		addAnnotation
 		  (getExceptionHandler_ProtectedNode(), 
@@ -15591,13 +15591,14 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Transition#getGuard", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																					
+		   });						
 		addAnnotation
-		  (getParameterSet_Condition(), 
+		  (getComponent_Realization(), 
 		   source, 
 		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
+			 "org.eclipse.uml2.Element#getOwnedElements", "", //$NON-NLS-1$ //$NON-NLS-2$
+			 "org.eclipse.uml2.NamedElement#getClientDependencies", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });																																					
 		addAnnotation
 		  (getReadExtentAction_Result(), 
 		   source, 
@@ -15687,14 +15688,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Action#getInputs", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });						
-		addAnnotation
-		  (getComponent_Realization(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Element#getOwnedElements", "", //$NON-NLS-1$ //$NON-NLS-2$
-			 "org.eclipse.uml2.NamedElement#getClientDependencies", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });													
+		   });												
 		addAnnotation
 		  (getDeployment_DeployedArtifact(), 
 		   source, 
@@ -15721,7 +15715,13 @@
 		   new String[] {
 			 "org.eclipse.uml2.Element#getOwnedElements", "", //$NON-NLS-1$ //$NON-NLS-2$
 			 "org.eclipse.uml2.NamedElement#getClientDependencies", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
+		   });								
+		addAnnotation
+		  (getParameterSet_Condition(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Element#getOwnedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
 	}
 
 	/**
@@ -15744,9 +15744,74 @@
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });											
+		   });															
 		addAnnotation
-		  ((EOperation)expressionEClass.getEOperations().get(0), 
+		  ((EOperation)namedElementEClass.getEOperations().get(7), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(8), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)namedElementEClass.getEOperations().get(9), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });													
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(7), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)namespaceEClass.getEOperations().get(8), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });								
+		addAnnotation
+		  ((EOperation)commentEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
@@ -15759,7 +15824,16 @@
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
 		   });				
 		addAnnotation
-		  ((EOperation)commentEClass.getEOperations().get(0), 
+		  ((EOperation)directedRelationshipEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "relatedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element" //$NON-NLS-1$ //$NON-NLS-2$
+		   });														
+		addAnnotation
+		  ((EOperation)expressionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
@@ -16088,46 +16162,7 @@
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });															
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(7), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(8), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)namedElementEClass.getEOperations().get(9), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });									
+		   });										
 		addAnnotation
 		  ((EOperation)packageEClass.getEOperations().get(4), 
 		   source, 
@@ -16227,42 +16262,7 @@
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });													
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(7), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)namespaceEClass.getEOperations().get(8), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
-		addAnnotation
-		  ((EOperation)directedRelationshipEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "relatedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element" //$NON-NLS-1$ //$NON-NLS-2$
-		   });										
+		   });						
 		addAnnotation
 		  ((EOperation)constraintEClass.getEOperations().get(1), 
 		   source, 
@@ -16385,7 +16385,16 @@
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "name", "target", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eType", "org.eclipse.uml2.Element" //$NON-NLS-1$ //$NON-NLS-2$
-		   });									
+		   });											
+		addAnnotation
+		  ((EOperation)redefinableElementEClass.getEOperations().get(4), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "redefinedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.RedefinableElement" //$NON-NLS-1$ //$NON-NLS-2$
+		   });								
 		addAnnotation
 		  ((EOperation)instanceSpecificationEClass.getEOperations().get(2), 
 		   source, 
@@ -16424,16 +16433,7 @@
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });											
-		addAnnotation
-		  ((EOperation)redefinableElementEClass.getEOperations().get(4), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "redefinedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.RedefinableElement" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
+		   });					
 		addAnnotation
 		  ((EOperation)packageableElementEClass.getEOperations().get(0), 
 		   source, 
@@ -16843,174 +16843,71 @@
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
 		   });										
 		addAnnotation
-		  ((EOperation)activityEdgeEClass.getEOperations().get(0), 
+		  ((EOperation)connectorEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "redefinedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.RedefinableElement" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)connectorEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  ((EOperation)structuredClassifierEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "attribute", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Property" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)structuredClassifierEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
 		   });			
 		addAnnotation
-		  ((EOperation)activityEdgeEClass.getEOperations().get(1), 
+		  ((EOperation)structuredClassifierEClass.getEOperations().get(2), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });											
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "subgroup", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.ActivityGroup", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "superGroup", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "containedEdge", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.ActivityEdge", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "inGroup", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(2), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "containedNode", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.ActivityNode", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "inGroup", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(3), 
-		   source, 
-		   new String[] {
-			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "node", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "member", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.NamedElement" //$NON-NLS-1$ //$NON-NLS-2$
 		   });			
 		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(4), 
-		   source, 
-		   new String[] {
-			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "node", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(5), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)activityGroupEClass.getEOperations().get(6), 
+		  ((EOperation)structuredClassifierEClass.getEOperations().get(3), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "feature", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Feature", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "featuringClassifier", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
-		addAnnotation
-		  ((EOperation)activityNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });										
-		addAnnotation
-		  ((EOperation)actionEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });									
-		addAnnotation
-		  ((EOperation)objectNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)executableNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
+		   });							
 		addAnnotation
 		  ((EOperation)interfaceEClass.getEOperations().get(0), 
 		   source, 
@@ -17237,16 +17134,20 @@
 			 "eType", "org.eclipse.uml2.Element" //$NON-NLS-1$ //$NON-NLS-2$
 		   });				
 		addAnnotation
-		  ((EOperation)connectorEClass.getEOperations().get(0), 
+		  ((EOperation)activityEdgeEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "redefinedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.RedefinableElement" //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
 		   });			
 		addAnnotation
-		  ((EOperation)connectorEClass.getEOperations().get(1), 
+		  ((EOperation)activityEdgeEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
@@ -17257,51 +17158,150 @@
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
+		   });											
 		addAnnotation
-		  ((EOperation)structuredClassifierEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "attribute", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Property" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)structuredClassifierEClass.getEOperations().get(1), 
+		  ((EOperation)activityGroupEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "subgroup", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.ActivityGroup", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "superGroup", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
+		   });				
 		addAnnotation
-		  ((EOperation)structuredClassifierEClass.getEOperations().get(2), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "member", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.NamedElement" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)structuredClassifierEClass.getEOperations().get(3), 
+		  ((EOperation)activityGroupEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "feature", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Feature", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "featuringClassifier", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "containedEdge", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.ActivityEdge", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "inGroup", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
+		   });		
+		addAnnotation
+		  ((EOperation)activityGroupEClass.getEOperations().get(2), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "containedNode", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.ActivityNode", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "inGroup", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });		
+		addAnnotation
+		  ((EOperation)activityGroupEClass.getEOperations().get(3), 
+		   source, 
+		   new String[] {
+			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "node", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)activityGroupEClass.getEOperations().get(4), 
+		   source, 
+		   new String[] {
+			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "node", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)activityGroupEClass.getEOperations().get(5), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)activityGroupEClass.getEOperations().get(6), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });								
+		addAnnotation
+		  ((EOperation)activityNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });										
+		addAnnotation
+		  ((EOperation)actionEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });									
+		addAnnotation
+		  ((EOperation)objectNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)executableNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
 		addAnnotation
 		  ((EOperation)collaborationOccurrenceEClass.getEOperations().get(0), 
 		   source, 
@@ -17323,8 +17323,344 @@
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "name", "role", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eType", "org.eclipse.uml2.ConnectableElement" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  ((EOperation)interactionEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });							
+		addAnnotation
+		  ((EOperation)interactionFragmentEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)interactionFragmentEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
+		addAnnotation
+		  ((EOperation)lifelineEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)lifelineEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  ((EOperation)messageEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)messageEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  ((EOperation)eventOccurrenceEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "covered", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Lifeline" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)stateInvariantEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "covered", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Lifeline" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)stateInvariantEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
 		   });				
 		addAnnotation
+		  ((EOperation)portEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "redefinedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.RedefinableElement" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)encapsulatedClassifierEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "feature", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Feature", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "featuringClassifier", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)encapsulatedClassifierEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)changeTriggerEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)signalEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "attribute", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Property" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)signalEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)timeTriggerEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)variableEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "structuredNode", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "structuredNode", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(2), 
+		   source, 
+		   new String[] {
+			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "activityGroup_activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "group", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(3), 
+		   source, 
+		   new String[] {
+			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "activityGroup_activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "group", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(4), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
+		addAnnotation
+		  ((EOperation)conditionalNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)conditionalNodeEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "output", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.OutputPin" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  ((EOperation)loopNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "output", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.OutputPin" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)loopNodeEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)loopNodeEClass.getEOperations().get(2), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "input", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.InputPin" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
+		addAnnotation
 		  ((EOperation)templateSignatureEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -17497,396 +17833,8 @@
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
-		addAnnotation
-		  ((EOperation)interactionEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
-		addAnnotation
-		  ((EOperation)interactionFragmentEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)interactionFragmentEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
 		   });						
 		addAnnotation
-		  ((EOperation)lifelineEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)lifelineEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  ((EOperation)messageEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)messageEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  ((EOperation)eventOccurrenceEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "covered", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Lifeline" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)stateInvariantEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "covered", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Lifeline" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)stateInvariantEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)variableEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "structuredNode", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "structuredNode", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(2), 
-		   source, 
-		   new String[] {
-			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "activityGroup_activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "group", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(3), 
-		   source, 
-		   new String[] {
-			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "activityGroup_activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Activity", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "group", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(4), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });						
-		addAnnotation
-		  ((EOperation)conditionalNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)conditionalNodeEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "output", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.OutputPin" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  ((EOperation)loopNodeEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "output", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.OutputPin" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)loopNodeEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)loopNodeEClass.getEOperations().get(2), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "input", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.InputPin" //$NON-NLS-1$ //$NON-NLS-2$
-		   });						
-		addAnnotation
-		  ((EOperation)portEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "redefinedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.RedefinableElement" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)encapsulatedClassifierEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "feature", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Feature", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "featuringClassifier", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)encapsulatedClassifierEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)changeTriggerEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)signalEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "attribute", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Property" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)signalEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedMember", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.NamedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "namespace", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)timeTriggerEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
-		  ((EOperation)interactionOccurrenceEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
-		addAnnotation
-		  ((EOperation)interactionOperandEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)interactionConstraintEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });						
-		addAnnotation
-		  ((EOperation)combinedFragmentEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
 		  ((EOperation)stateMachineEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -18037,6 +17985,32 @@
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
 		   });							
 		addAnnotation
+		  ((EOperation)joinNodeEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });				
+		addAnnotation
+		  ((EOperation)activityPartitionEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "superGroup", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.ActivityGroup", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "subgroup", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
+		   });							
+		addAnnotation
 		  ((EOperation)createObjectActionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -18251,9 +18225,22 @@
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "name", "input", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eType", "org.eclipse.uml2.InputPin" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
+		   });					
 		addAnnotation
-		  ((EOperation)joinNodeEClass.getEOperations().get(0), 
+		  ((EOperation)interactionOccurrenceEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });							
+		addAnnotation
+		  ((EOperation)interactionOperandEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
@@ -18266,18 +18253,31 @@
 			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
 		   });				
 		addAnnotation
-		  ((EOperation)activityPartitionEClass.getEOperations().get(0), 
+		  ((EOperation)interactionConstraintEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
 			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "superGroup", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.ActivityGroup", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "subgroup", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });							
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
+		addAnnotation
+		  ((EOperation)combinedFragmentEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
 		addAnnotation
 		  ((EOperation)exceptionHandlerEClass.getEOperations().get(0), 
 		   source, 
@@ -18358,6 +18358,32 @@
 			 "eType", "org.eclipse.uml2.Constraint" //$NON-NLS-1$ //$NON-NLS-2$
 		   });					
 		addAnnotation
+		  ((EOperation)componentEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)componentEClass.getEOperations().get(1), 
+		   source, 
+		   new String[] {
+			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "clientDependency", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Dependency", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "client", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "1" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
 		  ((EOperation)timeObservationActionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -18482,20 +18508,7 @@
 			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "name", "specification", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eType", "org.eclipse.uml2.DurationInterval" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
-		addAnnotation
-		  ((EOperation)parameterSetEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });				
+		   });			
 		addAnnotation
 		  ((EOperation)readExtentActionEClass.getEOperations().get(0), 
 		   source, 
@@ -18641,32 +18654,6 @@
 			 "eType", "org.eclipse.uml2.InputPin" //$NON-NLS-1$ //$NON-NLS-2$
 		   });				
 		addAnnotation
-		  ((EOperation)componentEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)componentEClass.getEOperations().get(1), 
-		   source, 
-		   new String[] {
-			 "derived", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.upperBound", "-1", //$NON-NLS-1$ //$NON-NLS-2$
-			 "name", "clientDependency", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eType", "org.eclipse.uml2.Dependency", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite", "client", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
-			 "eOpposite.lowerBound", "1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });					
-		addAnnotation
 		  ((EOperation)deploymentEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
@@ -18753,6 +18740,19 @@
 			 "containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
 			 "name", "nestedClassifier", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eType", "org.eclipse.uml2.Classifier" //$NON-NLS-1$ //$NON-NLS-2$
+		   });					
+		addAnnotation
+		  ((EOperation)parameterSetEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "derived", "true", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.upperBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
+			 "name", "ownedElement", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eType", "org.eclipse.uml2.Element", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite", "owner", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
+			 "eOpposite.lowerBound", "0" //$NON-NLS-1$ //$NON-NLS-2$
 		   });		
 	}
 
@@ -18763,7 +18763,7 @@
 	 * @generated
 	 */
 	protected void createRedefinesAnnotations() {
-		String source = "redefines"; //$NON-NLS-1$																																														
+		String source = "redefines"; //$NON-NLS-1$																																																																																										
 		addAnnotation
 		  ((EOperation)classEClass.getEOperations().get(1), 
 		   source, 
@@ -18848,13 +18848,13 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.TypedElement#getType", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																								
+		   });																																						
 		addAnnotation
 		  (getPackage_OwnedMember(), 
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																				
+		   });																										
 		addAnnotation
 		  (getConstraint_Namespace(), 
 		   source, 
@@ -18890,7 +18890,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.BehavioredClassifier#getOwnedBehaviors", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																			
+		   });																																																																																																			
 		addAnnotation
 		  (getActivityEdge_RedefinedElement(), 
 		   source, 
@@ -18908,7 +18908,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.RedefinableElement#getRedefinedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																																																																																																																																																					
+		   });																																																				
 		addAnnotation
 		  ((EOperation)eventOccurrenceEClass.getEOperations().get(0), 
 		   source, 
@@ -18920,7 +18920,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.InteractionFragment#getCovereds", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });									
+		   });																												
 		addAnnotation
 		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(0), 
 		   source, 
@@ -18946,7 +18946,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.ActivityGroup#getContainedEdges", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																															
+		   });																																																																										
 		addAnnotation
 		  (getStateMachine_ExtendedStateMachine(), 
 		   source, 
@@ -19000,25 +19000,7 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.RedefinableElement#getRedefinedElements", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																				
-		addAnnotation
-		  ((EOperation)linkEndCreationDataEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.LinkEndData#getQualifiers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });			
-		addAnnotation
-		  ((EOperation)createLinkActionEClass.getEOperations().get(0), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.LinkAction#getEndData", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																		
-		addAnnotation
-		  (getSendObjectAction_Request(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.InvocationAction#getArguments", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });										
+		   });									
 		addAnnotation
 		  (getActivityPartition_ContainedEdge(), 
 		   source, 
@@ -19036,7 +19018,31 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.ActivityGroup#getSubgroups", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																											
+		   });																																			
+		addAnnotation
+		  ((EOperation)linkEndCreationDataEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.LinkEndData#getQualifiers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
+		addAnnotation
+		  ((EOperation)createLinkActionEClass.getEOperations().get(0), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.LinkAction#getEndData", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });																																		
+		addAnnotation
+		  (getSendObjectAction_Request(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.InvocationAction#getArguments", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });																																																	
+		addAnnotation
+		  (getComponent_OwnedMember(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });						
 		addAnnotation
 		  (getTimeObservationAction_Now(), 
 		   source, 
@@ -19112,13 +19118,7 @@
 		   new String[] {
 			 "org.eclipse.uml2.Constraint#getSpecification", "", //$NON-NLS-1$ //$NON-NLS-2$
 			 "org.eclipse.uml2.IntervalConstraint#getSpecification", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });		
-		addAnnotation
-		  (getInterruptibleActivityRegion_ContainedNode(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.ActivityGroup#getContainedNodes", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																	
+		   });																														
 		addAnnotation
 		  ((EOperation)createLinkObjectActionEClass.getEOperations().get(0), 
 		   source, 
@@ -19131,19 +19131,19 @@
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.AcceptEventAction#getTriggers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																	
-		addAnnotation
-		  (getComponent_OwnedMember(), 
-		   source, 
-		   new String[] {
-			 "org.eclipse.uml2.Namespace#getOwnedMembers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																						
+		   });																																
 		addAnnotation
 		  (getNode_NestedNode(), 
 		   source, 
 		   new String[] {
 			 "org.eclipse.uml2.Class#getNestedClassifiers", "" //$NON-NLS-1$ //$NON-NLS-2$
-		   });
+		   });		
+		addAnnotation
+		  (getInterruptibleActivityRegion_ContainedNode(), 
+		   source, 
+		   new String[] {
+			 "org.eclipse.uml2.ActivityGroup#getContainedNodes", "" //$NON-NLS-1$ //$NON-NLS-2$
+		   });			
 	}
 
 	/**
@@ -19153,7 +19153,7 @@
 	 * @generated
 	 */
 	protected void createRedefinedAnnotations() {
-		String source = "redefined"; //$NON-NLS-1$																																																					
+		String source = "redefined"; //$NON-NLS-1$																																																																																																	
 		addAnnotation
 		  ((EOperation)classEClass.getEOperations().get(4), 
 		   source, 
@@ -19167,7 +19167,7 @@
 			 "eOpposite.containment", "true", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																																																																																																																																																																																																										
+		   });																																																																																																																																																																																														
 		addAnnotation
 		  ((EOperation)packageableElementEClass.getEOperations().get(0), 
 		   source, 
@@ -19186,7 +19186,7 @@
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.upperBound", "1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });								
+		   });																																																																																								
 		addAnnotation
 		  (getActivityEdge_InGroup(), 
 		   source, 
@@ -19223,7 +19223,7 @@
 			 "eOpposite.containment", "false", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.lowerBound", "0", //$NON-NLS-1$ //$NON-NLS-2$
 			 "eOpposite.upperBound", "-1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																																																																																																																																																																																					
+		   });																																																																																							
 		addAnnotation
 		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(2), 
 		   source, 
@@ -19233,7 +19233,7 @@
 		  ((EOperation)structuredActivityNodeEClass.getEOperations().get(3), 
 		   source, 
 		   new String[] {
-		   });																																																													
+		   });																																																																								
 		addAnnotation
 		  ((EOperation)stateMachineEClass.getEOperations().get(0), 
 		   source, 
@@ -19263,12 +19263,12 @@
 		  ((EOperation)transitionEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });																																																																									
+		   });																																																																																		
 		addAnnotation
 		  ((EOperation)sendObjectActionEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });																																							
+		   });																																																							
 		addAnnotation
 		  ((EOperation)timeObservationActionEClass.getEOperations().get(0), 
 		   source, 
@@ -19302,19 +19302,19 @@
 		  ((EOperation)durationObservationActionEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });																																													
+		   });																																									
 		addAnnotation
 		  (getAcceptEventAction_Trigger(), 
 		   source, 
 		   new String[] {
 			 "lowerBound", "1", //$NON-NLS-1$ //$NON-NLS-2$
 			 "upperBound", "1" //$NON-NLS-1$ //$NON-NLS-2$
-		   });																																								
+		   });																																		
 		addAnnotation
 		  ((EOperation)nodeEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });	
+		   });					
 	}
 
 	/**
@@ -19324,17 +19324,17 @@
 	 * @generated
 	 */
 	protected void createSupersetAnnotations() {
-		String source = "superset"; //$NON-NLS-1$																																																																																																								
+		String source = "superset"; //$NON-NLS-1$																																																																																																																																																				
 		addAnnotation
 		  (getProperty_Association(), 
 		   source, 
 		   new String[] {
-		   });																																																																																	
+		   });																																																															
 		addAnnotation
 		  ((EOperation)packageEClass.getEOperations().get(6), 
 		   source, 
 		   new String[] {
-		   });																																																																																													
+		   });																																																																			
 		addAnnotation
 		  ((EOperation)classifierEClass.getEOperations().get(17), 
 		   source, 
@@ -19404,7 +19404,7 @@
 		  (getActivity_Node(), 
 		   source, 
 		   new String[] {
-		   });																																																																									
+		   });																																						
 		addAnnotation
 		  ((EOperation)implementationEClass.getEOperations().get(0), 
 		   source, 
@@ -19424,7 +19424,7 @@
 		  ((EOperation)manifestationEClass.getEOperations().get(0), 
 		   source, 
 		   new String[] {
-		   });																																	
+		   });																																																																																																																																																							
 		addAnnotation
 		  (getTemplateSignature_Parameter(), 
 		   source, 
@@ -19449,17 +19449,17 @@
 		  (getTemplateParameterSubstitution_Actual(), 
 		   source, 
 		   new String[] {
-		   });																																																																																																																																																																																																																																																								
+		   });																																																																																																																																																																					
 		addAnnotation
 		  ((EOperation)protocolTransitionEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });																																																																																											
+		   });							
 		addAnnotation
 		  ((EOperation)componentEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });					
+		   });																																																																																					
 		addAnnotation
 		  ((EOperation)deploymentEClass.getEOperations().get(0), 
 		   source, 
@@ -19474,6 +19474,6 @@
 		  ((EOperation)deploymentTargetEClass.getEOperations().get(1), 
 		   source, 
 		   new String[] {
-		   });				
+		   });								
 	}
 } //UML2PackageImpl
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UseCaseImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UseCaseImpl.java
index 2ebaf64..f39bede 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UseCaseImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/UseCaseImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UseCaseImpl.java,v 1.4 2004/04/27 16:38:54 khussey Exp $
+ * $Id: UseCaseImpl.java,v 1.5 2004/04/30 17:21:45 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -362,10 +362,10 @@
 					return eBasicSetContainer(otherEnd, UML2Package.USE_CASE__OWNING_PARAMETER, msgs);
 				case UML2Package.USE_CASE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicAdd(otherEnd, msgs);
-				case UML2Package.USE_CASE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.USE_CASE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicAdd(otherEnd, msgs);
+				case UML2Package.USE_CASE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicAdd(otherEnd, msgs);
 				case UML2Package.USE_CASE__OWNED_BEHAVIOR:
 					return ((InternalEList)getOwnedBehaviors()).basicAdd(otherEnd, msgs);
 				case UML2Package.USE_CASE__IMPLEMENTATION:
@@ -419,10 +419,10 @@
 					return eBasicSetContainer(null, UML2Package.USE_CASE__OWNING_PARAMETER, msgs);
 				case UML2Package.USE_CASE__GENERALIZATION:
 					return ((InternalEList)getGeneralizations()).basicRemove(otherEnd, msgs);
-				case UML2Package.USE_CASE__POWERTYPE_EXTENT:
-					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.USE_CASE__SUBSTITUTION:
 					return ((InternalEList)getSubstitutions()).basicRemove(otherEnd, msgs);
+				case UML2Package.USE_CASE__POWERTYPE_EXTENT:
+					return ((InternalEList)getPowertypeExtents()).basicRemove(otherEnd, msgs);
 				case UML2Package.USE_CASE__OWNED_USE_CASE:
 					return ((InternalEList)getOwnedUseCases()).basicRemove(otherEnd, msgs);
 				case UML2Package.USE_CASE__OCCURRENCE:
@@ -531,10 +531,10 @@
 				return getAttributes();
 			case UML2Package.USE_CASE__REDEFINED_CLASSIFIER:
 				return getRedefinedClassifiers();
-			case UML2Package.USE_CASE__POWERTYPE_EXTENT:
-				return getPowertypeExtents();
 			case UML2Package.USE_CASE__SUBSTITUTION:
 				return getSubstitutions();
+			case UML2Package.USE_CASE__POWERTYPE_EXTENT:
+				return getPowertypeExtents();
 			case UML2Package.USE_CASE__OWNED_USE_CASE:
 				return getOwnedUseCases();
 			case UML2Package.USE_CASE__REPRESENTATION:
@@ -631,14 +631,14 @@
 				getRedefinedClassifiers().clear();
 				getRedefinedClassifiers().addAll((Collection)newValue);
 				return;
-			case UML2Package.USE_CASE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				getPowertypeExtents().addAll((Collection)newValue);
-				return;
 			case UML2Package.USE_CASE__SUBSTITUTION:
 				getSubstitutions().clear();
 				getSubstitutions().addAll((Collection)newValue);
 				return;
+			case UML2Package.USE_CASE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				getPowertypeExtents().addAll((Collection)newValue);
+				return;
 			case UML2Package.USE_CASE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				getOwnedUseCases().addAll((Collection)newValue);
@@ -746,12 +746,12 @@
 			case UML2Package.USE_CASE__REDEFINED_CLASSIFIER:
 				getRedefinedClassifiers().clear();
 				return;
-			case UML2Package.USE_CASE__POWERTYPE_EXTENT:
-				getPowertypeExtents().clear();
-				return;
 			case UML2Package.USE_CASE__SUBSTITUTION:
 				getSubstitutions().clear();
 				return;
+			case UML2Package.USE_CASE__POWERTYPE_EXTENT:
+				getPowertypeExtents().clear();
+				return;
 			case UML2Package.USE_CASE__OWNED_USE_CASE:
 				getOwnedUseCases().clear();
 				return;
@@ -854,10 +854,10 @@
 				return !getAttributes().isEmpty();
 			case UML2Package.USE_CASE__REDEFINED_CLASSIFIER:
 				return redefinedClassifier != null && !redefinedClassifier.isEmpty();
-			case UML2Package.USE_CASE__POWERTYPE_EXTENT:
-				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.USE_CASE__SUBSTITUTION:
 				return substitution != null && !substitution.isEmpty();
+			case UML2Package.USE_CASE__POWERTYPE_EXTENT:
+				return powertypeExtent != null && !powertypeExtent.isEmpty();
 			case UML2Package.USE_CASE__OWNED_USE_CASE:
 				return ownedUseCase != null && !ownedUseCase.isEmpty();
 			case UML2Package.USE_CASE__REPRESENTATION:
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/UML2AdapterFactory.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/UML2AdapterFactory.java
index bd8e8d3..98ece78 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/UML2AdapterFactory.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/UML2AdapterFactory.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML2AdapterFactory.java,v 1.4 2004/04/27 16:38:55 khussey Exp $
+ * $Id: UML2AdapterFactory.java,v 1.5 2004/04/30 17:21:48 khussey Exp $
  */
 package org.eclipse.uml2.util;
 
@@ -313,6 +313,21 @@
 			public Object caseMultiplicityElement(MultiplicityElement object) {
 				return createMultiplicityElementAdapter();
 			}
+			public Object caseNamedElement(NamedElement object) {
+				return createNamedElementAdapter();
+			}
+			public Object caseNamespace(Namespace object) {
+				return createNamespaceAdapter();
+			}
+			public Object caseComment(Comment object) {
+				return createCommentAdapter();
+			}
+			public Object caseDirectedRelationship(DirectedRelationship object) {
+				return createDirectedRelationshipAdapter();
+			}
+			public Object caseRelationship(Relationship object) {
+				return createRelationshipAdapter();
+			}
 			public Object caseOpaqueExpression(OpaqueExpression object) {
 				return createOpaqueExpressionAdapter();
 			}
@@ -322,9 +337,6 @@
 			public Object caseExpression(Expression object) {
 				return createExpressionAdapter();
 			}
-			public Object caseComment(Comment object) {
-				return createCommentAdapter();
-			}
 			public Object caseClass(org.eclipse.uml2.Class object) {
 				return createClassAdapter();
 			}
@@ -343,9 +355,6 @@
 			public Object caseParameter(Parameter object) {
 				return createParameterAdapter();
 			}
-			public Object caseNamedElement(NamedElement object) {
-				return createNamedElementAdapter();
-			}
 			public Object casePackage(org.eclipse.uml2.Package object) {
 				return createPackageAdapter();
 			}
@@ -361,15 +370,6 @@
 			public Object casePrimitiveType(PrimitiveType object) {
 				return createPrimitiveTypeAdapter();
 			}
-			public Object caseNamespace(Namespace object) {
-				return createNamespaceAdapter();
-			}
-			public Object caseDirectedRelationship(DirectedRelationship object) {
-				return createDirectedRelationshipAdapter();
-			}
-			public Object caseRelationship(Relationship object) {
-				return createRelationshipAdapter();
-			}
 			public Object caseConstraint(Constraint object) {
 				return createConstraintAdapter();
 			}
@@ -406,6 +406,9 @@
 			public Object caseGeneralization(Generalization object) {
 				return createGeneralizationAdapter();
 			}
+			public Object caseRedefinableElement(RedefinableElement object) {
+				return createRedefinableElementAdapter();
+			}
 			public Object caseInstanceSpecification(InstanceSpecification object) {
 				return createInstanceSpecificationAdapter();
 			}
@@ -415,9 +418,6 @@
 			public Object caseInstanceValue(InstanceValue object) {
 				return createInstanceValueAdapter();
 			}
-			public Object caseRedefinableElement(RedefinableElement object) {
-				return createRedefinableElementAdapter();
-			}
 			public Object casePackageableElement(PackageableElement object) {
 				return createPackageableElementAdapter();
 			}
@@ -448,21 +448,6 @@
 			public Object caseExtensionEnd(ExtensionEnd object) {
 				return createExtensionEndAdapter();
 			}
-			public Object caseAssociationClass(AssociationClass object) {
-				return createAssociationClassAdapter();
-			}
-			public Object caseGeneralizationSet(GeneralizationSet object) {
-				return createGeneralizationSetAdapter();
-			}
-			public Object caseInformationItem(InformationItem object) {
-				return createInformationItemAdapter();
-			}
-			public Object caseInformationFlow(InformationFlow object) {
-				return createInformationFlowAdapter();
-			}
-			public Object caseModel(Model object) {
-				return createModelAdapter();
-			}
 			public Object casePermission(Permission object) {
 				return createPermissionAdapter();
 			}
@@ -490,6 +475,60 @@
 			public Object caseActivity(Activity object) {
 				return createActivityAdapter();
 			}
+			public Object caseAssociationClass(AssociationClass object) {
+				return createAssociationClassAdapter();
+			}
+			public Object caseModel(Model object) {
+				return createModelAdapter();
+			}
+			public Object caseInformationItem(InformationItem object) {
+				return createInformationItemAdapter();
+			}
+			public Object caseInformationFlow(InformationFlow object) {
+				return createInformationFlowAdapter();
+			}
+			public Object caseGeneralizationSet(GeneralizationSet object) {
+				return createGeneralizationSetAdapter();
+			}
+			public Object caseConnectorEnd(ConnectorEnd object) {
+				return createConnectorEndAdapter();
+			}
+			public Object caseConnectableElement(ConnectableElement object) {
+				return createConnectableElementAdapter();
+			}
+			public Object caseConnector(Connector object) {
+				return createConnectorAdapter();
+			}
+			public Object caseStructuredClassifier(StructuredClassifier object) {
+				return createStructuredClassifierAdapter();
+			}
+			public Object caseInterface(Interface object) {
+				return createInterfaceAdapter();
+			}
+			public Object caseImplementation(Implementation object) {
+				return createImplementationAdapter();
+			}
+			public Object caseActor(Actor object) {
+				return createActorAdapter();
+			}
+			public Object caseExtend(Extend object) {
+				return createExtendAdapter();
+			}
+			public Object caseUseCase(UseCase object) {
+				return createUseCaseAdapter();
+			}
+			public Object caseExtensionPoint(ExtensionPoint object) {
+				return createExtensionPointAdapter();
+			}
+			public Object caseInclude(Include object) {
+				return createIncludeAdapter();
+			}
+			public Object caseArtifact(Artifact object) {
+				return createArtifactAdapter();
+			}
+			public Object caseManifestation(Manifestation object) {
+				return createManifestationAdapter();
+			}
 			public Object caseActivityEdge(ActivityEdge object) {
 				return createActivityEdgeAdapter();
 			}
@@ -547,51 +586,90 @@
 			public Object caseValuePin(ValuePin object) {
 				return createValuePinAdapter();
 			}
-			public Object caseInterface(Interface object) {
-				return createInterfaceAdapter();
-			}
-			public Object caseImplementation(Implementation object) {
-				return createImplementationAdapter();
-			}
-			public Object caseActor(Actor object) {
-				return createActorAdapter();
-			}
-			public Object caseExtend(Extend object) {
-				return createExtendAdapter();
-			}
-			public Object caseUseCase(UseCase object) {
-				return createUseCaseAdapter();
-			}
-			public Object caseExtensionPoint(ExtensionPoint object) {
-				return createExtensionPointAdapter();
-			}
-			public Object caseInclude(Include object) {
-				return createIncludeAdapter();
-			}
-			public Object caseArtifact(Artifact object) {
-				return createArtifactAdapter();
-			}
-			public Object caseManifestation(Manifestation object) {
-				return createManifestationAdapter();
-			}
-			public Object caseConnectorEnd(ConnectorEnd object) {
-				return createConnectorEndAdapter();
-			}
-			public Object caseConnectableElement(ConnectableElement object) {
-				return createConnectableElementAdapter();
-			}
-			public Object caseConnector(Connector object) {
-				return createConnectorAdapter();
-			}
-			public Object caseStructuredClassifier(StructuredClassifier object) {
-				return createStructuredClassifierAdapter();
-			}
 			public Object caseCollaborationOccurrence(CollaborationOccurrence object) {
 				return createCollaborationOccurrenceAdapter();
 			}
 			public Object caseCollaboration(Collaboration object) {
 				return createCollaborationAdapter();
 			}
+			public Object caseInteraction(Interaction object) {
+				return createInteractionAdapter();
+			}
+			public Object caseInteractionFragment(InteractionFragment object) {
+				return createInteractionFragmentAdapter();
+			}
+			public Object caseLifeline(Lifeline object) {
+				return createLifelineAdapter();
+			}
+			public Object caseMessage(Message object) {
+				return createMessageAdapter();
+			}
+			public Object caseGeneralOrdering(GeneralOrdering object) {
+				return createGeneralOrderingAdapter();
+			}
+			public Object caseMessageEnd(MessageEnd object) {
+				return createMessageEndAdapter();
+			}
+			public Object caseEventOccurrence(EventOccurrence object) {
+				return createEventOccurrenceAdapter();
+			}
+			public Object caseExecutionOccurrence(ExecutionOccurrence object) {
+				return createExecutionOccurrenceAdapter();
+			}
+			public Object caseStateInvariant(StateInvariant object) {
+				return createStateInvariantAdapter();
+			}
+			public Object caseStop(Stop object) {
+				return createStopAdapter();
+			}
+			public Object casePort(Port object) {
+				return createPortAdapter();
+			}
+			public Object caseEncapsulatedClassifier(EncapsulatedClassifier object) {
+				return createEncapsulatedClassifierAdapter();
+			}
+			public Object caseCallTrigger(CallTrigger object) {
+				return createCallTriggerAdapter();
+			}
+			public Object caseMessageTrigger(MessageTrigger object) {
+				return createMessageTriggerAdapter();
+			}
+			public Object caseChangeTrigger(ChangeTrigger object) {
+				return createChangeTriggerAdapter();
+			}
+			public Object caseTrigger(Trigger object) {
+				return createTriggerAdapter();
+			}
+			public Object caseReception(Reception object) {
+				return createReceptionAdapter();
+			}
+			public Object caseSignal(Signal object) {
+				return createSignalAdapter();
+			}
+			public Object caseSignalTrigger(SignalTrigger object) {
+				return createSignalTriggerAdapter();
+			}
+			public Object caseTimeTrigger(TimeTrigger object) {
+				return createTimeTriggerAdapter();
+			}
+			public Object caseAnyTrigger(AnyTrigger object) {
+				return createAnyTriggerAdapter();
+			}
+			public Object caseVariable(Variable object) {
+				return createVariableAdapter();
+			}
+			public Object caseStructuredActivityNode(StructuredActivityNode object) {
+				return createStructuredActivityNodeAdapter();
+			}
+			public Object caseConditionalNode(ConditionalNode object) {
+				return createConditionalNodeAdapter();
+			}
+			public Object caseClause(Clause object) {
+				return createClauseAdapter();
+			}
+			public Object caseLoopNode(LoopNode object) {
+				return createLoopNodeAdapter();
+			}
 			public Object caseTemplateSignature(TemplateSignature object) {
 				return createTemplateSignatureAdapter();
 			}
@@ -631,105 +709,6 @@
 			public Object caseConnectableElementTemplateParameter(ConnectableElementTemplateParameter object) {
 				return createConnectableElementTemplateParameterAdapter();
 			}
-			public Object caseInteraction(Interaction object) {
-				return createInteractionAdapter();
-			}
-			public Object caseInteractionFragment(InteractionFragment object) {
-				return createInteractionFragmentAdapter();
-			}
-			public Object caseLifeline(Lifeline object) {
-				return createLifelineAdapter();
-			}
-			public Object caseMessage(Message object) {
-				return createMessageAdapter();
-			}
-			public Object caseGeneralOrdering(GeneralOrdering object) {
-				return createGeneralOrderingAdapter();
-			}
-			public Object caseMessageEnd(MessageEnd object) {
-				return createMessageEndAdapter();
-			}
-			public Object caseEventOccurrence(EventOccurrence object) {
-				return createEventOccurrenceAdapter();
-			}
-			public Object caseExecutionOccurrence(ExecutionOccurrence object) {
-				return createExecutionOccurrenceAdapter();
-			}
-			public Object caseStateInvariant(StateInvariant object) {
-				return createStateInvariantAdapter();
-			}
-			public Object caseStop(Stop object) {
-				return createStopAdapter();
-			}
-			public Object caseVariable(Variable object) {
-				return createVariableAdapter();
-			}
-			public Object caseStructuredActivityNode(StructuredActivityNode object) {
-				return createStructuredActivityNodeAdapter();
-			}
-			public Object caseConditionalNode(ConditionalNode object) {
-				return createConditionalNodeAdapter();
-			}
-			public Object caseClause(Clause object) {
-				return createClauseAdapter();
-			}
-			public Object caseLoopNode(LoopNode object) {
-				return createLoopNodeAdapter();
-			}
-			public Object casePort(Port object) {
-				return createPortAdapter();
-			}
-			public Object caseEncapsulatedClassifier(EncapsulatedClassifier object) {
-				return createEncapsulatedClassifierAdapter();
-			}
-			public Object caseCallTrigger(CallTrigger object) {
-				return createCallTriggerAdapter();
-			}
-			public Object caseMessageTrigger(MessageTrigger object) {
-				return createMessageTriggerAdapter();
-			}
-			public Object caseChangeTrigger(ChangeTrigger object) {
-				return createChangeTriggerAdapter();
-			}
-			public Object caseTrigger(Trigger object) {
-				return createTriggerAdapter();
-			}
-			public Object caseReception(Reception object) {
-				return createReceptionAdapter();
-			}
-			public Object caseSignal(Signal object) {
-				return createSignalAdapter();
-			}
-			public Object caseSignalTrigger(SignalTrigger object) {
-				return createSignalTriggerAdapter();
-			}
-			public Object caseTimeTrigger(TimeTrigger object) {
-				return createTimeTriggerAdapter();
-			}
-			public Object caseAnyTrigger(AnyTrigger object) {
-				return createAnyTriggerAdapter();
-			}
-			public Object caseInteractionOccurrence(InteractionOccurrence object) {
-				return createInteractionOccurrenceAdapter();
-			}
-			public Object caseGate(Gate object) {
-				return createGateAdapter();
-			}
-			public Object casePartDecomposition(PartDecomposition object) {
-				return createPartDecompositionAdapter();
-			}
-			public Object caseInteractionOperand(InteractionOperand object) {
-				return createInteractionOperandAdapter();
-			}
-			public Object caseInteractionConstraint(InteractionConstraint object) {
-				return createInteractionConstraintAdapter();
-			}
-			public Object caseCombinedFragment(CombinedFragment object) {
-				return createCombinedFragmentAdapter();
-			}
-			public Object caseContinuation(Continuation object) {
-				return createContinuationAdapter();
-			}
 			public Object caseStateMachine(StateMachine object) {
 				return createStateMachineAdapter();
 			}
@@ -754,6 +733,21 @@
 			public Object caseFinalState(FinalState object) {
 				return createFinalStateAdapter();
 			}
+			public Object caseForkNode(ForkNode object) {
+				return createForkNodeAdapter();
+			}
+			public Object caseJoinNode(JoinNode object) {
+				return createJoinNodeAdapter();
+			}
+			public Object caseFlowFinalNode(FlowFinalNode object) {
+				return createFlowFinalNodeAdapter();
+			}
+			public Object caseCentralBufferNode(CentralBufferNode object) {
+				return createCentralBufferNodeAdapter();
+			}
+			public Object caseActivityPartition(ActivityPartition object) {
+				return createActivityPartitionAdapter();
+			}
 			public Object caseCreateObjectAction(CreateObjectAction object) {
 				return createCreateObjectActionAdapter();
 			}
@@ -853,20 +847,26 @@
 			public Object caseCallBehaviorAction(CallBehaviorAction object) {
 				return createCallBehaviorActionAdapter();
 			}
-			public Object caseForkNode(ForkNode object) {
-				return createForkNodeAdapter();
+			public Object caseInteractionOccurrence(InteractionOccurrence object) {
+				return createInteractionOccurrenceAdapter();
 			}
-			public Object caseJoinNode(JoinNode object) {
-				return createJoinNodeAdapter();
+			public Object caseGate(Gate object) {
+				return createGateAdapter();
 			}
-			public Object caseFlowFinalNode(FlowFinalNode object) {
-				return createFlowFinalNodeAdapter();
+			public Object casePartDecomposition(PartDecomposition object) {
+				return createPartDecompositionAdapter();
 			}
-			public Object caseCentralBufferNode(CentralBufferNode object) {
-				return createCentralBufferNodeAdapter();
+			public Object caseInteractionOperand(InteractionOperand object) {
+				return createInteractionOperandAdapter();
 			}
-			public Object caseActivityPartition(ActivityPartition object) {
-				return createActivityPartitionAdapter();
+			public Object caseInteractionConstraint(InteractionConstraint object) {
+				return createInteractionConstraintAdapter();
+			}
+			public Object caseCombinedFragment(CombinedFragment object) {
+				return createCombinedFragmentAdapter();
+			}
+			public Object caseContinuation(Continuation object) {
+				return createContinuationAdapter();
 			}
 			public Object caseExpansionNode(ExpansionNode object) {
 				return createExpansionNodeAdapter();
@@ -886,6 +886,9 @@
 			public Object caseProtocolTransition(ProtocolTransition object) {
 				return createProtocolTransitionAdapter();
 			}
+			public Object caseComponent(Component object) {
+				return createComponentAdapter();
+			}
 			public Object caseTimeExpression(TimeExpression object) {
 				return createTimeExpressionAdapter();
 			}
@@ -916,15 +919,6 @@
 			public Object caseDurationConstraint(DurationConstraint object) {
 				return createDurationConstraintAdapter();
 			}
-			public Object caseDataStoreNode(DataStoreNode object) {
-				return createDataStoreNodeAdapter();
-			}
-			public Object caseInterruptibleActivityRegion(InterruptibleActivityRegion object) {
-				return createInterruptibleActivityRegionAdapter();
-			}
-			public Object caseParameterSet(ParameterSet object) {
-				return createParameterSetAdapter();
-			}
 			public Object caseReadExtentAction(ReadExtentAction object) {
 				return createReadExtentActionAdapter();
 			}
@@ -961,9 +955,6 @@
 			public Object caseRaiseExceptionAction(RaiseExceptionAction object) {
 				return createRaiseExceptionActionAdapter();
 			}
-			public Object caseComponent(Component object) {
-				return createComponentAdapter();
-			}
 			public Object caseDeployment(Deployment object) {
 				return createDeploymentAdapter();
 			}
@@ -985,6 +976,15 @@
 			public Object caseCommunicationPath(CommunicationPath object) {
 				return createCommunicationPathAdapter();
 			}
+			public Object caseDataStoreNode(DataStoreNode object) {
+				return createDataStoreNodeAdapter();
+			}
+			public Object caseInterruptibleActivityRegion(InterruptibleActivityRegion object) {
+				return createInterruptibleActivityRegionAdapter();
+			}
+			public Object caseParameterSet(ParameterSet object) {
+				return createParameterSetAdapter();
+			}
 			public Object caseDeploymentSpecification(DeploymentSpecification object) {
 				return createDeploymentSpecificationAdapter();
 			}
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/UML2Switch.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/UML2Switch.java
index 91924bd..cb49a5e 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/UML2Switch.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/UML2Switch.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML2Switch.java,v 1.4 2004/04/27 16:38:55 khussey Exp $
+ * $Id: UML2Switch.java,v 1.5 2004/04/30 17:21:46 khussey Exp $
  */
 package org.eclipse.uml2.util;
 
@@ -295,6 +295,15 @@
 		EClass theEClass = theEObject.eClass();
 		if (theEClass.eContainer() == modelPackage) {
 			switch (theEClass.getClassifierID()) {
+				case UML2Package.COMMENT: {
+					Comment comment = (Comment)theEObject;
+					Object result = caseComment(comment);
+					if (result == null) result = caseTemplateableElement(comment);
+					if (result == null) result = caseElement(comment);
+					if (result == null) result = caseEModelElement(comment);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
 				case UML2Package.OPAQUE_EXPRESSION: {
 					OpaqueExpression opaqueExpression = (OpaqueExpression)theEObject;
 					Object result = caseOpaqueExpression(opaqueExpression);
@@ -322,15 +331,6 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.COMMENT: {
-					Comment comment = (Comment)theEObject;
-					Object result = caseComment(comment);
-					if (result == null) result = caseTemplateableElement(comment);
-					if (result == null) result = caseElement(comment);
-					if (result == null) result = caseEModelElement(comment);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
 				case UML2Package.CLASS: {
 					org.eclipse.uml2.Class class_ = (org.eclipse.uml2.Class)theEObject;
 					Object result = caseClass(class_);
@@ -733,80 +733,6 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.ASSOCIATION_CLASS: {
-					AssociationClass associationClass = (AssociationClass)theEObject;
-					Object result = caseAssociationClass(associationClass);
-					if (result == null) result = caseClass(associationClass);
-					if (result == null) result = caseAssociation(associationClass);
-					if (result == null) result = caseEncapsulatedClassifier(associationClass);
-					if (result == null) result = caseBehavioredClassifier(associationClass);
-					if (result == null) result = caseClassifier(associationClass);
-					if (result == null) result = caseRelationship(associationClass);
-					if (result == null) result = caseStructuredClassifier(associationClass);
-					if (result == null) result = caseNamespace(associationClass);
-					if (result == null) result = caseType(associationClass);
-					if (result == null) result = caseRedefinableElement(associationClass);
-					if (result == null) result = caseElement(associationClass);
-					if (result == null) result = caseNamedElement(associationClass);
-					if (result == null) result = casePackageableElement(associationClass);
-					if (result == null) result = caseEModelElement(associationClass);
-					if (result == null) result = caseTemplateableElement(associationClass);
-					if (result == null) result = caseParameterableElement(associationClass);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.GENERALIZATION_SET: {
-					GeneralizationSet generalizationSet = (GeneralizationSet)theEObject;
-					Object result = caseGeneralizationSet(generalizationSet);
-					if (result == null) result = casePackageableElement(generalizationSet);
-					if (result == null) result = caseNamedElement(generalizationSet);
-					if (result == null) result = caseParameterableElement(generalizationSet);
-					if (result == null) result = caseTemplateableElement(generalizationSet);
-					if (result == null) result = caseElement(generalizationSet);
-					if (result == null) result = caseEModelElement(generalizationSet);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.INFORMATION_ITEM: {
-					InformationItem informationItem = (InformationItem)theEObject;
-					Object result = caseInformationItem(informationItem);
-					if (result == null) result = caseClassifier(informationItem);
-					if (result == null) result = caseNamespace(informationItem);
-					if (result == null) result = caseType(informationItem);
-					if (result == null) result = caseRedefinableElement(informationItem);
-					if (result == null) result = caseNamedElement(informationItem);
-					if (result == null) result = casePackageableElement(informationItem);
-					if (result == null) result = caseTemplateableElement(informationItem);
-					if (result == null) result = caseParameterableElement(informationItem);
-					if (result == null) result = caseElement(informationItem);
-					if (result == null) result = caseEModelElement(informationItem);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.INFORMATION_FLOW: {
-					InformationFlow informationFlow = (InformationFlow)theEObject;
-					Object result = caseInformationFlow(informationFlow);
-					if (result == null) result = caseDirectedRelationship(informationFlow);
-					if (result == null) result = caseRelationship(informationFlow);
-					if (result == null) result = caseElement(informationFlow);
-					if (result == null) result = caseEModelElement(informationFlow);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.MODEL: {
-					Model model = (Model)theEObject;
-					Object result = caseModel(model);
-					if (result == null) result = casePackage(model);
-					if (result == null) result = caseNamespace(model);
-					if (result == null) result = casePackageableElement(model);
-					if (result == null) result = caseNamedElement(model);
-					if (result == null) result = caseParameterableElement(model);
-					if (result == null) result = caseTemplateableElement(model);
-					if (result == null) result = caseElement(model);
-					if (result == null) result = caseEModelElement(model);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
 				case UML2Package.PERMISSION: {
 					Permission permission = (Permission)theEObject;
 					Object result = casePermission(permission);
@@ -920,6 +846,235 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
+				case UML2Package.ASSOCIATION_CLASS: {
+					AssociationClass associationClass = (AssociationClass)theEObject;
+					Object result = caseAssociationClass(associationClass);
+					if (result == null) result = caseClass(associationClass);
+					if (result == null) result = caseAssociation(associationClass);
+					if (result == null) result = caseEncapsulatedClassifier(associationClass);
+					if (result == null) result = caseBehavioredClassifier(associationClass);
+					if (result == null) result = caseClassifier(associationClass);
+					if (result == null) result = caseRelationship(associationClass);
+					if (result == null) result = caseStructuredClassifier(associationClass);
+					if (result == null) result = caseNamespace(associationClass);
+					if (result == null) result = caseType(associationClass);
+					if (result == null) result = caseRedefinableElement(associationClass);
+					if (result == null) result = caseElement(associationClass);
+					if (result == null) result = caseNamedElement(associationClass);
+					if (result == null) result = casePackageableElement(associationClass);
+					if (result == null) result = caseEModelElement(associationClass);
+					if (result == null) result = caseTemplateableElement(associationClass);
+					if (result == null) result = caseParameterableElement(associationClass);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.MODEL: {
+					Model model = (Model)theEObject;
+					Object result = caseModel(model);
+					if (result == null) result = casePackage(model);
+					if (result == null) result = caseNamespace(model);
+					if (result == null) result = casePackageableElement(model);
+					if (result == null) result = caseNamedElement(model);
+					if (result == null) result = caseParameterableElement(model);
+					if (result == null) result = caseTemplateableElement(model);
+					if (result == null) result = caseElement(model);
+					if (result == null) result = caseEModelElement(model);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.INFORMATION_ITEM: {
+					InformationItem informationItem = (InformationItem)theEObject;
+					Object result = caseInformationItem(informationItem);
+					if (result == null) result = caseClassifier(informationItem);
+					if (result == null) result = caseNamespace(informationItem);
+					if (result == null) result = caseType(informationItem);
+					if (result == null) result = caseRedefinableElement(informationItem);
+					if (result == null) result = caseNamedElement(informationItem);
+					if (result == null) result = casePackageableElement(informationItem);
+					if (result == null) result = caseTemplateableElement(informationItem);
+					if (result == null) result = caseParameterableElement(informationItem);
+					if (result == null) result = caseElement(informationItem);
+					if (result == null) result = caseEModelElement(informationItem);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.INFORMATION_FLOW: {
+					InformationFlow informationFlow = (InformationFlow)theEObject;
+					Object result = caseInformationFlow(informationFlow);
+					if (result == null) result = caseDirectedRelationship(informationFlow);
+					if (result == null) result = caseRelationship(informationFlow);
+					if (result == null) result = caseElement(informationFlow);
+					if (result == null) result = caseEModelElement(informationFlow);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.GENERALIZATION_SET: {
+					GeneralizationSet generalizationSet = (GeneralizationSet)theEObject;
+					Object result = caseGeneralizationSet(generalizationSet);
+					if (result == null) result = casePackageableElement(generalizationSet);
+					if (result == null) result = caseNamedElement(generalizationSet);
+					if (result == null) result = caseParameterableElement(generalizationSet);
+					if (result == null) result = caseTemplateableElement(generalizationSet);
+					if (result == null) result = caseElement(generalizationSet);
+					if (result == null) result = caseEModelElement(generalizationSet);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.CONNECTOR_END: {
+					ConnectorEnd connectorEnd = (ConnectorEnd)theEObject;
+					Object result = caseConnectorEnd(connectorEnd);
+					if (result == null) result = caseMultiplicityElement(connectorEnd);
+					if (result == null) result = caseElement(connectorEnd);
+					if (result == null) result = caseEModelElement(connectorEnd);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.CONNECTOR: {
+					Connector connector = (Connector)theEObject;
+					Object 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 = caseTemplateableElement(connector);
+					if (result == null) result = caseElement(connector);
+					if (result == null) result = caseEModelElement(connector);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.INTERFACE: {
+					Interface interface_ = (Interface)theEObject;
+					Object result = caseInterface(interface_);
+					if (result == null) result = caseClassifier(interface_);
+					if (result == null) result = caseNamespace(interface_);
+					if (result == null) result = caseType(interface_);
+					if (result == null) result = caseRedefinableElement(interface_);
+					if (result == null) result = caseNamedElement(interface_);
+					if (result == null) result = casePackageableElement(interface_);
+					if (result == null) result = caseTemplateableElement(interface_);
+					if (result == null) result = caseParameterableElement(interface_);
+					if (result == null) result = caseElement(interface_);
+					if (result == null) result = caseEModelElement(interface_);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.IMPLEMENTATION: {
+					Implementation implementation = (Implementation)theEObject;
+					Object result = caseImplementation(implementation);
+					if (result == null) result = caseRealization(implementation);
+					if (result == null) result = caseAbstraction(implementation);
+					if (result == null) result = caseDependency(implementation);
+					if (result == null) result = casePackageableElement(implementation);
+					if (result == null) result = caseDirectedRelationship(implementation);
+					if (result == null) result = caseNamedElement(implementation);
+					if (result == null) result = caseParameterableElement(implementation);
+					if (result == null) result = caseRelationship(implementation);
+					if (result == null) result = caseTemplateableElement(implementation);
+					if (result == null) result = caseElement(implementation);
+					if (result == null) result = caseEModelElement(implementation);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.ACTOR: {
+					Actor actor = (Actor)theEObject;
+					Object result = caseActor(actor);
+					if (result == null) result = caseClassifier(actor);
+					if (result == null) result = caseNamespace(actor);
+					if (result == null) result = caseType(actor);
+					if (result == null) result = caseRedefinableElement(actor);
+					if (result == null) result = caseNamedElement(actor);
+					if (result == null) result = casePackageableElement(actor);
+					if (result == null) result = caseTemplateableElement(actor);
+					if (result == null) result = caseParameterableElement(actor);
+					if (result == null) result = caseElement(actor);
+					if (result == null) result = caseEModelElement(actor);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.EXTEND: {
+					Extend extend = (Extend)theEObject;
+					Object result = caseExtend(extend);
+					if (result == null) result = caseNamedElement(extend);
+					if (result == null) result = caseDirectedRelationship(extend);
+					if (result == null) result = caseTemplateableElement(extend);
+					if (result == null) result = caseRelationship(extend);
+					if (result == null) result = caseElement(extend);
+					if (result == null) result = caseEModelElement(extend);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.USE_CASE: {
+					UseCase useCase = (UseCase)theEObject;
+					Object result = caseUseCase(useCase);
+					if (result == null) result = caseBehavioredClassifier(useCase);
+					if (result == null) result = caseClassifier(useCase);
+					if (result == null) result = caseNamespace(useCase);
+					if (result == null) result = caseType(useCase);
+					if (result == null) result = caseRedefinableElement(useCase);
+					if (result == null) result = caseNamedElement(useCase);
+					if (result == null) result = casePackageableElement(useCase);
+					if (result == null) result = caseTemplateableElement(useCase);
+					if (result == null) result = caseParameterableElement(useCase);
+					if (result == null) result = caseElement(useCase);
+					if (result == null) result = caseEModelElement(useCase);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.EXTENSION_POINT: {
+					ExtensionPoint extensionPoint = (ExtensionPoint)theEObject;
+					Object result = caseExtensionPoint(extensionPoint);
+					if (result == null) result = caseRedefinableElement(extensionPoint);
+					if (result == null) result = caseNamedElement(extensionPoint);
+					if (result == null) result = caseTemplateableElement(extensionPoint);
+					if (result == null) result = caseElement(extensionPoint);
+					if (result == null) result = caseEModelElement(extensionPoint);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.INCLUDE: {
+					Include include = (Include)theEObject;
+					Object result = caseInclude(include);
+					if (result == null) result = caseNamedElement(include);
+					if (result == null) result = caseDirectedRelationship(include);
+					if (result == null) result = caseTemplateableElement(include);
+					if (result == null) result = caseRelationship(include);
+					if (result == null) result = caseElement(include);
+					if (result == null) result = caseEModelElement(include);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.ARTIFACT: {
+					Artifact artifact = (Artifact)theEObject;
+					Object result = caseArtifact(artifact);
+					if (result == null) result = caseClassifier(artifact);
+					if (result == null) result = caseDeployedArtifact(artifact);
+					if (result == null) result = caseNamespace(artifact);
+					if (result == null) result = caseType(artifact);
+					if (result == null) result = caseRedefinableElement(artifact);
+					if (result == null) result = caseNamedElement(artifact);
+					if (result == null) result = casePackageableElement(artifact);
+					if (result == null) result = caseTemplateableElement(artifact);
+					if (result == null) result = caseParameterableElement(artifact);
+					if (result == null) result = caseElement(artifact);
+					if (result == null) result = caseEModelElement(artifact);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.MANIFESTATION: {
+					Manifestation manifestation = (Manifestation)theEObject;
+					Object result = caseManifestation(manifestation);
+					if (result == null) result = caseAbstraction(manifestation);
+					if (result == null) result = caseDependency(manifestation);
+					if (result == null) result = casePackageableElement(manifestation);
+					if (result == null) result = caseDirectedRelationship(manifestation);
+					if (result == null) result = caseNamedElement(manifestation);
+					if (result == null) result = caseParameterableElement(manifestation);
+					if (result == null) result = caseRelationship(manifestation);
+					if (result == null) result = caseTemplateableElement(manifestation);
+					if (result == null) result = caseElement(manifestation);
+					if (result == null) result = caseEModelElement(manifestation);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
 				case UML2Package.ACTION: {
 					Action action = (Action)theEObject;
 					Object result = caseAction(action);
@@ -1070,161 +1225,6 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.INTERFACE: {
-					Interface interface_ = (Interface)theEObject;
-					Object result = caseInterface(interface_);
-					if (result == null) result = caseClassifier(interface_);
-					if (result == null) result = caseNamespace(interface_);
-					if (result == null) result = caseType(interface_);
-					if (result == null) result = caseRedefinableElement(interface_);
-					if (result == null) result = caseNamedElement(interface_);
-					if (result == null) result = casePackageableElement(interface_);
-					if (result == null) result = caseTemplateableElement(interface_);
-					if (result == null) result = caseParameterableElement(interface_);
-					if (result == null) result = caseElement(interface_);
-					if (result == null) result = caseEModelElement(interface_);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.IMPLEMENTATION: {
-					Implementation implementation = (Implementation)theEObject;
-					Object result = caseImplementation(implementation);
-					if (result == null) result = caseRealization(implementation);
-					if (result == null) result = caseAbstraction(implementation);
-					if (result == null) result = caseDependency(implementation);
-					if (result == null) result = casePackageableElement(implementation);
-					if (result == null) result = caseDirectedRelationship(implementation);
-					if (result == null) result = caseNamedElement(implementation);
-					if (result == null) result = caseParameterableElement(implementation);
-					if (result == null) result = caseRelationship(implementation);
-					if (result == null) result = caseTemplateableElement(implementation);
-					if (result == null) result = caseElement(implementation);
-					if (result == null) result = caseEModelElement(implementation);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.ACTOR: {
-					Actor actor = (Actor)theEObject;
-					Object result = caseActor(actor);
-					if (result == null) result = caseClassifier(actor);
-					if (result == null) result = caseNamespace(actor);
-					if (result == null) result = caseType(actor);
-					if (result == null) result = caseRedefinableElement(actor);
-					if (result == null) result = caseNamedElement(actor);
-					if (result == null) result = casePackageableElement(actor);
-					if (result == null) result = caseTemplateableElement(actor);
-					if (result == null) result = caseParameterableElement(actor);
-					if (result == null) result = caseElement(actor);
-					if (result == null) result = caseEModelElement(actor);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.EXTEND: {
-					Extend extend = (Extend)theEObject;
-					Object result = caseExtend(extend);
-					if (result == null) result = caseNamedElement(extend);
-					if (result == null) result = caseDirectedRelationship(extend);
-					if (result == null) result = caseTemplateableElement(extend);
-					if (result == null) result = caseRelationship(extend);
-					if (result == null) result = caseElement(extend);
-					if (result == null) result = caseEModelElement(extend);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.USE_CASE: {
-					UseCase useCase = (UseCase)theEObject;
-					Object result = caseUseCase(useCase);
-					if (result == null) result = caseBehavioredClassifier(useCase);
-					if (result == null) result = caseClassifier(useCase);
-					if (result == null) result = caseNamespace(useCase);
-					if (result == null) result = caseType(useCase);
-					if (result == null) result = caseRedefinableElement(useCase);
-					if (result == null) result = caseNamedElement(useCase);
-					if (result == null) result = casePackageableElement(useCase);
-					if (result == null) result = caseTemplateableElement(useCase);
-					if (result == null) result = caseParameterableElement(useCase);
-					if (result == null) result = caseElement(useCase);
-					if (result == null) result = caseEModelElement(useCase);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.EXTENSION_POINT: {
-					ExtensionPoint extensionPoint = (ExtensionPoint)theEObject;
-					Object result = caseExtensionPoint(extensionPoint);
-					if (result == null) result = caseRedefinableElement(extensionPoint);
-					if (result == null) result = caseNamedElement(extensionPoint);
-					if (result == null) result = caseTemplateableElement(extensionPoint);
-					if (result == null) result = caseElement(extensionPoint);
-					if (result == null) result = caseEModelElement(extensionPoint);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.INCLUDE: {
-					Include include = (Include)theEObject;
-					Object result = caseInclude(include);
-					if (result == null) result = caseNamedElement(include);
-					if (result == null) result = caseDirectedRelationship(include);
-					if (result == null) result = caseTemplateableElement(include);
-					if (result == null) result = caseRelationship(include);
-					if (result == null) result = caseElement(include);
-					if (result == null) result = caseEModelElement(include);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.ARTIFACT: {
-					Artifact artifact = (Artifact)theEObject;
-					Object result = caseArtifact(artifact);
-					if (result == null) result = caseClassifier(artifact);
-					if (result == null) result = caseDeployedArtifact(artifact);
-					if (result == null) result = caseNamespace(artifact);
-					if (result == null) result = caseType(artifact);
-					if (result == null) result = caseRedefinableElement(artifact);
-					if (result == null) result = caseNamedElement(artifact);
-					if (result == null) result = casePackageableElement(artifact);
-					if (result == null) result = caseTemplateableElement(artifact);
-					if (result == null) result = caseParameterableElement(artifact);
-					if (result == null) result = caseElement(artifact);
-					if (result == null) result = caseEModelElement(artifact);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.MANIFESTATION: {
-					Manifestation manifestation = (Manifestation)theEObject;
-					Object result = caseManifestation(manifestation);
-					if (result == null) result = caseAbstraction(manifestation);
-					if (result == null) result = caseDependency(manifestation);
-					if (result == null) result = casePackageableElement(manifestation);
-					if (result == null) result = caseDirectedRelationship(manifestation);
-					if (result == null) result = caseNamedElement(manifestation);
-					if (result == null) result = caseParameterableElement(manifestation);
-					if (result == null) result = caseRelationship(manifestation);
-					if (result == null) result = caseTemplateableElement(manifestation);
-					if (result == null) result = caseElement(manifestation);
-					if (result == null) result = caseEModelElement(manifestation);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.CONNECTOR_END: {
-					ConnectorEnd connectorEnd = (ConnectorEnd)theEObject;
-					Object result = caseConnectorEnd(connectorEnd);
-					if (result == null) result = caseMultiplicityElement(connectorEnd);
-					if (result == null) result = caseElement(connectorEnd);
-					if (result == null) result = caseEModelElement(connectorEnd);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.CONNECTOR: {
-					Connector connector = (Connector)theEObject;
-					Object 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 = caseTemplateableElement(connector);
-					if (result == null) result = caseElement(connector);
-					if (result == null) result = caseEModelElement(connector);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
 				case UML2Package.COLLABORATION_OCCURRENCE: {
 					CollaborationOccurrence collaborationOccurrence = (CollaborationOccurrence)theEObject;
 					Object result = caseCollaborationOccurrence(collaborationOccurrence);
@@ -1253,88 +1253,6 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.TEMPLATE_SIGNATURE: {
-					TemplateSignature templateSignature = (TemplateSignature)theEObject;
-					Object result = caseTemplateSignature(templateSignature);
-					if (result == null) result = caseElement(templateSignature);
-					if (result == null) result = caseEModelElement(templateSignature);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.TEMPLATE_PARAMETER: {
-					TemplateParameter templateParameter = (TemplateParameter)theEObject;
-					Object result = caseTemplateParameter(templateParameter);
-					if (result == null) result = caseElement(templateParameter);
-					if (result == null) result = caseEModelElement(templateParameter);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.STRING_EXPRESSION: {
-					StringExpression stringExpression = (StringExpression)theEObject;
-					Object result = caseStringExpression(stringExpression);
-					if (result == null) result = caseTemplateableElement(stringExpression);
-					if (result == null) result = caseElement(stringExpression);
-					if (result == null) result = caseEModelElement(stringExpression);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.TEMPLATE_BINDING: {
-					TemplateBinding templateBinding = (TemplateBinding)theEObject;
-					Object 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 UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION: {
-					TemplateParameterSubstitution templateParameterSubstitution = (TemplateParameterSubstitution)theEObject;
-					Object result = caseTemplateParameterSubstitution(templateParameterSubstitution);
-					if (result == null) result = caseElement(templateParameterSubstitution);
-					if (result == null) result = caseEModelElement(templateParameterSubstitution);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.OPERATION_TEMPLATE_PARAMETER: {
-					OperationTemplateParameter operationTemplateParameter = (OperationTemplateParameter)theEObject;
-					Object result = caseOperationTemplateParameter(operationTemplateParameter);
-					if (result == null) result = caseTemplateParameter(operationTemplateParameter);
-					if (result == null) result = caseElement(operationTemplateParameter);
-					if (result == null) result = caseEModelElement(operationTemplateParameter);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.CLASSIFIER_TEMPLATE_PARAMETER: {
-					ClassifierTemplateParameter classifierTemplateParameter = (ClassifierTemplateParameter)theEObject;
-					Object result = caseClassifierTemplateParameter(classifierTemplateParameter);
-					if (result == null) result = caseTemplateParameter(classifierTemplateParameter);
-					if (result == null) result = caseElement(classifierTemplateParameter);
-					if (result == null) result = caseEModelElement(classifierTemplateParameter);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.REDEFINABLE_TEMPLATE_SIGNATURE: {
-					RedefinableTemplateSignature redefinableTemplateSignature = (RedefinableTemplateSignature)theEObject;
-					Object result = caseRedefinableTemplateSignature(redefinableTemplateSignature);
-					if (result == null) result = caseRedefinableElement(redefinableTemplateSignature);
-					if (result == null) result = caseTemplateSignature(redefinableTemplateSignature);
-					if (result == null) result = caseNamedElement(redefinableTemplateSignature);
-					if (result == null) result = caseElement(redefinableTemplateSignature);
-					if (result == null) result = caseTemplateableElement(redefinableTemplateSignature);
-					if (result == null) result = caseEModelElement(redefinableTemplateSignature);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER: {
-					ConnectableElementTemplateParameter connectableElementTemplateParameter = (ConnectableElementTemplateParameter)theEObject;
-					Object result = caseConnectableElementTemplateParameter(connectableElementTemplateParameter);
-					if (result == null) result = caseTemplateParameter(connectableElementTemplateParameter);
-					if (result == null) result = caseElement(connectableElementTemplateParameter);
-					if (result == null) result = caseEModelElement(connectableElementTemplateParameter);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
 				case UML2Package.INTERACTION: {
 					Interaction interaction = (Interaction)theEObject;
 					Object result = caseInteraction(interaction);
@@ -1434,77 +1352,6 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.VARIABLE: {
-					Variable variable = (Variable)theEObject;
-					Object result = caseVariable(variable);
-					if (result == null) result = caseConnectableElement(variable);
-					if (result == null) result = caseTypedElement(variable);
-					if (result == null) result = caseNamedElement(variable);
-					if (result == null) result = caseParameterableElement(variable);
-					if (result == null) result = caseTemplateableElement(variable);
-					if (result == null) result = caseElement(variable);
-					if (result == null) result = caseEModelElement(variable);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.STRUCTURED_ACTIVITY_NODE: {
-					StructuredActivityNode structuredActivityNode = (StructuredActivityNode)theEObject;
-					Object result = caseStructuredActivityNode(structuredActivityNode);
-					if (result == null) result = caseAction(structuredActivityNode);
-					if (result == null) result = caseNamespace(structuredActivityNode);
-					if (result == null) result = caseActivityGroup(structuredActivityNode);
-					if (result == null) result = caseExecutableNode(structuredActivityNode);
-					if (result == null) result = caseNamedElement(structuredActivityNode);
-					if (result == null) result = caseElement(structuredActivityNode);
-					if (result == null) result = caseActivityNode(structuredActivityNode);
-					if (result == null) result = caseTemplateableElement(structuredActivityNode);
-					if (result == null) result = caseEModelElement(structuredActivityNode);
-					if (result == null) result = caseRedefinableElement(structuredActivityNode);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.CONDITIONAL_NODE: {
-					ConditionalNode conditionalNode = (ConditionalNode)theEObject;
-					Object result = caseConditionalNode(conditionalNode);
-					if (result == null) result = caseStructuredActivityNode(conditionalNode);
-					if (result == null) result = caseAction(conditionalNode);
-					if (result == null) result = caseNamespace(conditionalNode);
-					if (result == null) result = caseActivityGroup(conditionalNode);
-					if (result == null) result = caseExecutableNode(conditionalNode);
-					if (result == null) result = caseNamedElement(conditionalNode);
-					if (result == null) result = caseElement(conditionalNode);
-					if (result == null) result = caseActivityNode(conditionalNode);
-					if (result == null) result = caseTemplateableElement(conditionalNode);
-					if (result == null) result = caseEModelElement(conditionalNode);
-					if (result == null) result = caseRedefinableElement(conditionalNode);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.CLAUSE: {
-					Clause clause = (Clause)theEObject;
-					Object result = caseClause(clause);
-					if (result == null) result = caseElement(clause);
-					if (result == null) result = caseEModelElement(clause);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.LOOP_NODE: {
-					LoopNode loopNode = (LoopNode)theEObject;
-					Object result = caseLoopNode(loopNode);
-					if (result == null) result = caseStructuredActivityNode(loopNode);
-					if (result == null) result = caseAction(loopNode);
-					if (result == null) result = caseNamespace(loopNode);
-					if (result == null) result = caseActivityGroup(loopNode);
-					if (result == null) result = caseExecutableNode(loopNode);
-					if (result == null) result = caseNamedElement(loopNode);
-					if (result == null) result = caseElement(loopNode);
-					if (result == null) result = caseActivityNode(loopNode);
-					if (result == null) result = caseTemplateableElement(loopNode);
-					if (result == null) result = caseEModelElement(loopNode);
-					if (result == null) result = caseRedefinableElement(loopNode);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
 				case UML2Package.PORT: {
 					Port port = (Port)theEObject;
 					Object result = casePort(port);
@@ -1623,84 +1470,156 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.INTERACTION_OCCURRENCE: {
-					InteractionOccurrence interactionOccurrence = (InteractionOccurrence)theEObject;
-					Object result = caseInteractionOccurrence(interactionOccurrence);
-					if (result == null) result = caseInteractionFragment(interactionOccurrence);
-					if (result == null) result = caseNamedElement(interactionOccurrence);
-					if (result == null) result = caseTemplateableElement(interactionOccurrence);
-					if (result == null) result = caseElement(interactionOccurrence);
-					if (result == null) result = caseEModelElement(interactionOccurrence);
+				case UML2Package.VARIABLE: {
+					Variable variable = (Variable)theEObject;
+					Object result = caseVariable(variable);
+					if (result == null) result = caseConnectableElement(variable);
+					if (result == null) result = caseTypedElement(variable);
+					if (result == null) result = caseNamedElement(variable);
+					if (result == null) result = caseParameterableElement(variable);
+					if (result == null) result = caseTemplateableElement(variable);
+					if (result == null) result = caseElement(variable);
+					if (result == null) result = caseEModelElement(variable);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.GATE: {
-					Gate gate = (Gate)theEObject;
-					Object result = caseGate(gate);
-					if (result == null) result = caseMessageEnd(gate);
-					if (result == null) result = caseNamedElement(gate);
-					if (result == null) result = caseTemplateableElement(gate);
-					if (result == null) result = caseElement(gate);
-					if (result == null) result = caseEModelElement(gate);
+				case UML2Package.STRUCTURED_ACTIVITY_NODE: {
+					StructuredActivityNode structuredActivityNode = (StructuredActivityNode)theEObject;
+					Object result = caseStructuredActivityNode(structuredActivityNode);
+					if (result == null) result = caseAction(structuredActivityNode);
+					if (result == null) result = caseNamespace(structuredActivityNode);
+					if (result == null) result = caseActivityGroup(structuredActivityNode);
+					if (result == null) result = caseExecutableNode(structuredActivityNode);
+					if (result == null) result = caseNamedElement(structuredActivityNode);
+					if (result == null) result = caseElement(structuredActivityNode);
+					if (result == null) result = caseActivityNode(structuredActivityNode);
+					if (result == null) result = caseTemplateableElement(structuredActivityNode);
+					if (result == null) result = caseEModelElement(structuredActivityNode);
+					if (result == null) result = caseRedefinableElement(structuredActivityNode);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.PART_DECOMPOSITION: {
-					PartDecomposition partDecomposition = (PartDecomposition)theEObject;
-					Object result = casePartDecomposition(partDecomposition);
-					if (result == null) result = caseInteractionOccurrence(partDecomposition);
-					if (result == null) result = caseInteractionFragment(partDecomposition);
-					if (result == null) result = caseNamedElement(partDecomposition);
-					if (result == null) result = caseTemplateableElement(partDecomposition);
-					if (result == null) result = caseElement(partDecomposition);
-					if (result == null) result = caseEModelElement(partDecomposition);
+				case UML2Package.CONDITIONAL_NODE: {
+					ConditionalNode conditionalNode = (ConditionalNode)theEObject;
+					Object result = caseConditionalNode(conditionalNode);
+					if (result == null) result = caseStructuredActivityNode(conditionalNode);
+					if (result == null) result = caseAction(conditionalNode);
+					if (result == null) result = caseNamespace(conditionalNode);
+					if (result == null) result = caseActivityGroup(conditionalNode);
+					if (result == null) result = caseExecutableNode(conditionalNode);
+					if (result == null) result = caseNamedElement(conditionalNode);
+					if (result == null) result = caseElement(conditionalNode);
+					if (result == null) result = caseActivityNode(conditionalNode);
+					if (result == null) result = caseTemplateableElement(conditionalNode);
+					if (result == null) result = caseEModelElement(conditionalNode);
+					if (result == null) result = caseRedefinableElement(conditionalNode);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.INTERACTION_OPERAND: {
-					InteractionOperand interactionOperand = (InteractionOperand)theEObject;
-					Object result = caseInteractionOperand(interactionOperand);
-					if (result == null) result = caseNamespace(interactionOperand);
-					if (result == null) result = caseInteractionFragment(interactionOperand);
-					if (result == null) result = caseNamedElement(interactionOperand);
-					if (result == null) result = caseTemplateableElement(interactionOperand);
-					if (result == null) result = caseElement(interactionOperand);
-					if (result == null) result = caseEModelElement(interactionOperand);
+				case UML2Package.CLAUSE: {
+					Clause clause = (Clause)theEObject;
+					Object result = caseClause(clause);
+					if (result == null) result = caseElement(clause);
+					if (result == null) result = caseEModelElement(clause);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.INTERACTION_CONSTRAINT: {
-					InteractionConstraint interactionConstraint = (InteractionConstraint)theEObject;
-					Object result = caseInteractionConstraint(interactionConstraint);
-					if (result == null) result = caseConstraint(interactionConstraint);
-					if (result == null) result = casePackageableElement(interactionConstraint);
-					if (result == null) result = caseNamedElement(interactionConstraint);
-					if (result == null) result = caseParameterableElement(interactionConstraint);
-					if (result == null) result = caseTemplateableElement(interactionConstraint);
-					if (result == null) result = caseElement(interactionConstraint);
-					if (result == null) result = caseEModelElement(interactionConstraint);
+				case UML2Package.LOOP_NODE: {
+					LoopNode loopNode = (LoopNode)theEObject;
+					Object result = caseLoopNode(loopNode);
+					if (result == null) result = caseStructuredActivityNode(loopNode);
+					if (result == null) result = caseAction(loopNode);
+					if (result == null) result = caseNamespace(loopNode);
+					if (result == null) result = caseActivityGroup(loopNode);
+					if (result == null) result = caseExecutableNode(loopNode);
+					if (result == null) result = caseNamedElement(loopNode);
+					if (result == null) result = caseElement(loopNode);
+					if (result == null) result = caseActivityNode(loopNode);
+					if (result == null) result = caseTemplateableElement(loopNode);
+					if (result == null) result = caseEModelElement(loopNode);
+					if (result == null) result = caseRedefinableElement(loopNode);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.COMBINED_FRAGMENT: {
-					CombinedFragment combinedFragment = (CombinedFragment)theEObject;
-					Object result = caseCombinedFragment(combinedFragment);
-					if (result == null) result = caseInteractionFragment(combinedFragment);
-					if (result == null) result = caseNamedElement(combinedFragment);
-					if (result == null) result = caseTemplateableElement(combinedFragment);
-					if (result == null) result = caseElement(combinedFragment);
-					if (result == null) result = caseEModelElement(combinedFragment);
+				case UML2Package.TEMPLATE_SIGNATURE: {
+					TemplateSignature templateSignature = (TemplateSignature)theEObject;
+					Object result = caseTemplateSignature(templateSignature);
+					if (result == null) result = caseElement(templateSignature);
+					if (result == null) result = caseEModelElement(templateSignature);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.CONTINUATION: {
-					Continuation continuation = (Continuation)theEObject;
-					Object result = caseContinuation(continuation);
-					if (result == null) result = caseInteractionFragment(continuation);
-					if (result == null) result = caseNamedElement(continuation);
-					if (result == null) result = caseTemplateableElement(continuation);
-					if (result == null) result = caseElement(continuation);
-					if (result == null) result = caseEModelElement(continuation);
+				case UML2Package.TEMPLATE_PARAMETER: {
+					TemplateParameter templateParameter = (TemplateParameter)theEObject;
+					Object result = caseTemplateParameter(templateParameter);
+					if (result == null) result = caseElement(templateParameter);
+					if (result == null) result = caseEModelElement(templateParameter);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.STRING_EXPRESSION: {
+					StringExpression stringExpression = (StringExpression)theEObject;
+					Object result = caseStringExpression(stringExpression);
+					if (result == null) result = caseTemplateableElement(stringExpression);
+					if (result == null) result = caseElement(stringExpression);
+					if (result == null) result = caseEModelElement(stringExpression);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.TEMPLATE_BINDING: {
+					TemplateBinding templateBinding = (TemplateBinding)theEObject;
+					Object 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 UML2Package.TEMPLATE_PARAMETER_SUBSTITUTION: {
+					TemplateParameterSubstitution templateParameterSubstitution = (TemplateParameterSubstitution)theEObject;
+					Object result = caseTemplateParameterSubstitution(templateParameterSubstitution);
+					if (result == null) result = caseElement(templateParameterSubstitution);
+					if (result == null) result = caseEModelElement(templateParameterSubstitution);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.OPERATION_TEMPLATE_PARAMETER: {
+					OperationTemplateParameter operationTemplateParameter = (OperationTemplateParameter)theEObject;
+					Object result = caseOperationTemplateParameter(operationTemplateParameter);
+					if (result == null) result = caseTemplateParameter(operationTemplateParameter);
+					if (result == null) result = caseElement(operationTemplateParameter);
+					if (result == null) result = caseEModelElement(operationTemplateParameter);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.CLASSIFIER_TEMPLATE_PARAMETER: {
+					ClassifierTemplateParameter classifierTemplateParameter = (ClassifierTemplateParameter)theEObject;
+					Object result = caseClassifierTemplateParameter(classifierTemplateParameter);
+					if (result == null) result = caseTemplateParameter(classifierTemplateParameter);
+					if (result == null) result = caseElement(classifierTemplateParameter);
+					if (result == null) result = caseEModelElement(classifierTemplateParameter);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.REDEFINABLE_TEMPLATE_SIGNATURE: {
+					RedefinableTemplateSignature redefinableTemplateSignature = (RedefinableTemplateSignature)theEObject;
+					Object result = caseRedefinableTemplateSignature(redefinableTemplateSignature);
+					if (result == null) result = caseRedefinableElement(redefinableTemplateSignature);
+					if (result == null) result = caseTemplateSignature(redefinableTemplateSignature);
+					if (result == null) result = caseNamedElement(redefinableTemplateSignature);
+					if (result == null) result = caseElement(redefinableTemplateSignature);
+					if (result == null) result = caseTemplateableElement(redefinableTemplateSignature);
+					if (result == null) result = caseEModelElement(redefinableTemplateSignature);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER: {
+					ConnectableElementTemplateParameter connectableElementTemplateParameter = (ConnectableElementTemplateParameter)theEObject;
+					Object result = caseConnectableElementTemplateParameter(connectableElementTemplateParameter);
+					if (result == null) result = caseTemplateParameter(connectableElementTemplateParameter);
+					if (result == null) result = caseElement(connectableElementTemplateParameter);
+					if (result == null) result = caseEModelElement(connectableElementTemplateParameter);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
@@ -1794,6 +1713,71 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
+				case UML2Package.FORK_NODE: {
+					ForkNode forkNode = (ForkNode)theEObject;
+					Object result = caseForkNode(forkNode);
+					if (result == null) result = caseControlNode(forkNode);
+					if (result == null) result = caseActivityNode(forkNode);
+					if (result == null) result = caseRedefinableElement(forkNode);
+					if (result == null) result = caseNamedElement(forkNode);
+					if (result == null) result = caseTemplateableElement(forkNode);
+					if (result == null) result = caseElement(forkNode);
+					if (result == null) result = caseEModelElement(forkNode);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.JOIN_NODE: {
+					JoinNode joinNode = (JoinNode)theEObject;
+					Object result = caseJoinNode(joinNode);
+					if (result == null) result = caseControlNode(joinNode);
+					if (result == null) result = caseActivityNode(joinNode);
+					if (result == null) result = caseRedefinableElement(joinNode);
+					if (result == null) result = caseNamedElement(joinNode);
+					if (result == null) result = caseTemplateableElement(joinNode);
+					if (result == null) result = caseElement(joinNode);
+					if (result == null) result = caseEModelElement(joinNode);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.FLOW_FINAL_NODE: {
+					FlowFinalNode flowFinalNode = (FlowFinalNode)theEObject;
+					Object result = caseFlowFinalNode(flowFinalNode);
+					if (result == null) result = caseFinalNode(flowFinalNode);
+					if (result == null) result = caseControlNode(flowFinalNode);
+					if (result == null) result = caseActivityNode(flowFinalNode);
+					if (result == null) result = caseRedefinableElement(flowFinalNode);
+					if (result == null) result = caseNamedElement(flowFinalNode);
+					if (result == null) result = caseTemplateableElement(flowFinalNode);
+					if (result == null) result = caseElement(flowFinalNode);
+					if (result == null) result = caseEModelElement(flowFinalNode);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.CENTRAL_BUFFER_NODE: {
+					CentralBufferNode centralBufferNode = (CentralBufferNode)theEObject;
+					Object result = caseCentralBufferNode(centralBufferNode);
+					if (result == null) result = caseObjectNode(centralBufferNode);
+					if (result == null) result = caseActivityNode(centralBufferNode);
+					if (result == null) result = caseTypedElement(centralBufferNode);
+					if (result == null) result = caseRedefinableElement(centralBufferNode);
+					if (result == null) result = caseNamedElement(centralBufferNode);
+					if (result == null) result = caseTemplateableElement(centralBufferNode);
+					if (result == null) result = caseElement(centralBufferNode);
+					if (result == null) result = caseEModelElement(centralBufferNode);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.ACTIVITY_PARTITION: {
+					ActivityPartition activityPartition = (ActivityPartition)theEObject;
+					Object result = caseActivityPartition(activityPartition);
+					if (result == null) result = caseNamedElement(activityPartition);
+					if (result == null) result = caseActivityGroup(activityPartition);
+					if (result == null) result = caseTemplateableElement(activityPartition);
+					if (result == null) result = caseElement(activityPartition);
+					if (result == null) result = caseEModelElement(activityPartition);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
 				case UML2Package.CREATE_OBJECT_ACTION: {
 					CreateObjectAction createObjectAction = (CreateObjectAction)theEObject;
 					Object result = caseCreateObjectAction(createObjectAction);
@@ -2151,68 +2135,84 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.FORK_NODE: {
-					ForkNode forkNode = (ForkNode)theEObject;
-					Object result = caseForkNode(forkNode);
-					if (result == null) result = caseControlNode(forkNode);
-					if (result == null) result = caseActivityNode(forkNode);
-					if (result == null) result = caseRedefinableElement(forkNode);
-					if (result == null) result = caseNamedElement(forkNode);
-					if (result == null) result = caseTemplateableElement(forkNode);
-					if (result == null) result = caseElement(forkNode);
-					if (result == null) result = caseEModelElement(forkNode);
+				case UML2Package.INTERACTION_OCCURRENCE: {
+					InteractionOccurrence interactionOccurrence = (InteractionOccurrence)theEObject;
+					Object result = caseInteractionOccurrence(interactionOccurrence);
+					if (result == null) result = caseInteractionFragment(interactionOccurrence);
+					if (result == null) result = caseNamedElement(interactionOccurrence);
+					if (result == null) result = caseTemplateableElement(interactionOccurrence);
+					if (result == null) result = caseElement(interactionOccurrence);
+					if (result == null) result = caseEModelElement(interactionOccurrence);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.JOIN_NODE: {
-					JoinNode joinNode = (JoinNode)theEObject;
-					Object result = caseJoinNode(joinNode);
-					if (result == null) result = caseControlNode(joinNode);
-					if (result == null) result = caseActivityNode(joinNode);
-					if (result == null) result = caseRedefinableElement(joinNode);
-					if (result == null) result = caseNamedElement(joinNode);
-					if (result == null) result = caseTemplateableElement(joinNode);
-					if (result == null) result = caseElement(joinNode);
-					if (result == null) result = caseEModelElement(joinNode);
+				case UML2Package.GATE: {
+					Gate gate = (Gate)theEObject;
+					Object result = caseGate(gate);
+					if (result == null) result = caseMessageEnd(gate);
+					if (result == null) result = caseNamedElement(gate);
+					if (result == null) result = caseTemplateableElement(gate);
+					if (result == null) result = caseElement(gate);
+					if (result == null) result = caseEModelElement(gate);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.FLOW_FINAL_NODE: {
-					FlowFinalNode flowFinalNode = (FlowFinalNode)theEObject;
-					Object result = caseFlowFinalNode(flowFinalNode);
-					if (result == null) result = caseFinalNode(flowFinalNode);
-					if (result == null) result = caseControlNode(flowFinalNode);
-					if (result == null) result = caseActivityNode(flowFinalNode);
-					if (result == null) result = caseRedefinableElement(flowFinalNode);
-					if (result == null) result = caseNamedElement(flowFinalNode);
-					if (result == null) result = caseTemplateableElement(flowFinalNode);
-					if (result == null) result = caseElement(flowFinalNode);
-					if (result == null) result = caseEModelElement(flowFinalNode);
+				case UML2Package.PART_DECOMPOSITION: {
+					PartDecomposition partDecomposition = (PartDecomposition)theEObject;
+					Object result = casePartDecomposition(partDecomposition);
+					if (result == null) result = caseInteractionOccurrence(partDecomposition);
+					if (result == null) result = caseInteractionFragment(partDecomposition);
+					if (result == null) result = caseNamedElement(partDecomposition);
+					if (result == null) result = caseTemplateableElement(partDecomposition);
+					if (result == null) result = caseElement(partDecomposition);
+					if (result == null) result = caseEModelElement(partDecomposition);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.CENTRAL_BUFFER_NODE: {
-					CentralBufferNode centralBufferNode = (CentralBufferNode)theEObject;
-					Object result = caseCentralBufferNode(centralBufferNode);
-					if (result == null) result = caseObjectNode(centralBufferNode);
-					if (result == null) result = caseActivityNode(centralBufferNode);
-					if (result == null) result = caseTypedElement(centralBufferNode);
-					if (result == null) result = caseRedefinableElement(centralBufferNode);
-					if (result == null) result = caseNamedElement(centralBufferNode);
-					if (result == null) result = caseTemplateableElement(centralBufferNode);
-					if (result == null) result = caseElement(centralBufferNode);
-					if (result == null) result = caseEModelElement(centralBufferNode);
+				case UML2Package.INTERACTION_OPERAND: {
+					InteractionOperand interactionOperand = (InteractionOperand)theEObject;
+					Object result = caseInteractionOperand(interactionOperand);
+					if (result == null) result = caseNamespace(interactionOperand);
+					if (result == null) result = caseInteractionFragment(interactionOperand);
+					if (result == null) result = caseNamedElement(interactionOperand);
+					if (result == null) result = caseTemplateableElement(interactionOperand);
+					if (result == null) result = caseElement(interactionOperand);
+					if (result == null) result = caseEModelElement(interactionOperand);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.ACTIVITY_PARTITION: {
-					ActivityPartition activityPartition = (ActivityPartition)theEObject;
-					Object result = caseActivityPartition(activityPartition);
-					if (result == null) result = caseNamedElement(activityPartition);
-					if (result == null) result = caseActivityGroup(activityPartition);
-					if (result == null) result = caseTemplateableElement(activityPartition);
-					if (result == null) result = caseElement(activityPartition);
-					if (result == null) result = caseEModelElement(activityPartition);
+				case UML2Package.INTERACTION_CONSTRAINT: {
+					InteractionConstraint interactionConstraint = (InteractionConstraint)theEObject;
+					Object result = caseInteractionConstraint(interactionConstraint);
+					if (result == null) result = caseConstraint(interactionConstraint);
+					if (result == null) result = casePackageableElement(interactionConstraint);
+					if (result == null) result = caseNamedElement(interactionConstraint);
+					if (result == null) result = caseParameterableElement(interactionConstraint);
+					if (result == null) result = caseTemplateableElement(interactionConstraint);
+					if (result == null) result = caseElement(interactionConstraint);
+					if (result == null) result = caseEModelElement(interactionConstraint);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.COMBINED_FRAGMENT: {
+					CombinedFragment combinedFragment = (CombinedFragment)theEObject;
+					Object result = caseCombinedFragment(combinedFragment);
+					if (result == null) result = caseInteractionFragment(combinedFragment);
+					if (result == null) result = caseNamedElement(combinedFragment);
+					if (result == null) result = caseTemplateableElement(combinedFragment);
+					if (result == null) result = caseElement(combinedFragment);
+					if (result == null) result = caseEModelElement(combinedFragment);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.CONTINUATION: {
+					Continuation continuation = (Continuation)theEObject;
+					Object result = caseContinuation(continuation);
+					if (result == null) result = caseInteractionFragment(continuation);
+					if (result == null) result = caseNamedElement(continuation);
+					if (result == null) result = caseTemplateableElement(continuation);
+					if (result == null) result = caseElement(continuation);
+					if (result == null) result = caseEModelElement(continuation);
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
@@ -2299,6 +2299,26 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
+				case UML2Package.COMPONENT: {
+					Component component = (Component)theEObject;
+					Object result = caseComponent(component);
+					if (result == null) result = caseClass(component);
+					if (result == null) result = caseEncapsulatedClassifier(component);
+					if (result == null) result = caseBehavioredClassifier(component);
+					if (result == null) result = caseStructuredClassifier(component);
+					if (result == null) result = caseClassifier(component);
+					if (result == null) result = caseNamespace(component);
+					if (result == null) result = caseType(component);
+					if (result == null) result = caseRedefinableElement(component);
+					if (result == null) result = caseNamedElement(component);
+					if (result == null) result = casePackageableElement(component);
+					if (result == null) result = caseTemplateableElement(component);
+					if (result == null) result = caseParameterableElement(component);
+					if (result == null) result = caseElement(component);
+					if (result == null) result = caseEModelElement(component);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
 				case UML2Package.TIME_EXPRESSION: {
 					TimeExpression timeExpression = (TimeExpression)theEObject;
 					Object result = caseTimeExpression(timeExpression);
@@ -2439,40 +2459,6 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.DATA_STORE_NODE: {
-					DataStoreNode dataStoreNode = (DataStoreNode)theEObject;
-					Object result = caseDataStoreNode(dataStoreNode);
-					if (result == null) result = caseCentralBufferNode(dataStoreNode);
-					if (result == null) result = caseObjectNode(dataStoreNode);
-					if (result == null) result = caseActivityNode(dataStoreNode);
-					if (result == null) result = caseTypedElement(dataStoreNode);
-					if (result == null) result = caseRedefinableElement(dataStoreNode);
-					if (result == null) result = caseNamedElement(dataStoreNode);
-					if (result == null) result = caseTemplateableElement(dataStoreNode);
-					if (result == null) result = caseElement(dataStoreNode);
-					if (result == null) result = caseEModelElement(dataStoreNode);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.INTERRUPTIBLE_ACTIVITY_REGION: {
-					InterruptibleActivityRegion interruptibleActivityRegion = (InterruptibleActivityRegion)theEObject;
-					Object result = caseInterruptibleActivityRegion(interruptibleActivityRegion);
-					if (result == null) result = caseActivityGroup(interruptibleActivityRegion);
-					if (result == null) result = caseElement(interruptibleActivityRegion);
-					if (result == null) result = caseEModelElement(interruptibleActivityRegion);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
-				case UML2Package.PARAMETER_SET: {
-					ParameterSet parameterSet = (ParameterSet)theEObject;
-					Object result = caseParameterSet(parameterSet);
-					if (result == null) result = caseNamedElement(parameterSet);
-					if (result == null) result = caseTemplateableElement(parameterSet);
-					if (result == null) result = caseElement(parameterSet);
-					if (result == null) result = caseEModelElement(parameterSet);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
 				case UML2Package.READ_EXTENT_ACTION: {
 					ReadExtentAction readExtentAction = (ReadExtentAction)theEObject;
 					Object result = caseReadExtentAction(readExtentAction);
@@ -2639,26 +2625,6 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
-				case UML2Package.COMPONENT: {
-					Component component = (Component)theEObject;
-					Object result = caseComponent(component);
-					if (result == null) result = caseClass(component);
-					if (result == null) result = caseEncapsulatedClassifier(component);
-					if (result == null) result = caseBehavioredClassifier(component);
-					if (result == null) result = caseStructuredClassifier(component);
-					if (result == null) result = caseClassifier(component);
-					if (result == null) result = caseNamespace(component);
-					if (result == null) result = caseType(component);
-					if (result == null) result = caseRedefinableElement(component);
-					if (result == null) result = caseNamedElement(component);
-					if (result == null) result = casePackageableElement(component);
-					if (result == null) result = caseTemplateableElement(component);
-					if (result == null) result = caseParameterableElement(component);
-					if (result == null) result = caseElement(component);
-					if (result == null) result = caseEModelElement(component);
-					if (result == null) result = defaultCase(theEObject);
-					return result;
-				}
 				case UML2Package.DEPLOYMENT: {
 					Deployment deployment = (Deployment)theEObject;
 					Object result = caseDeployment(deployment);
@@ -2757,6 +2723,40 @@
 					if (result == null) result = defaultCase(theEObject);
 					return result;
 				}
+				case UML2Package.DATA_STORE_NODE: {
+					DataStoreNode dataStoreNode = (DataStoreNode)theEObject;
+					Object result = caseDataStoreNode(dataStoreNode);
+					if (result == null) result = caseCentralBufferNode(dataStoreNode);
+					if (result == null) result = caseObjectNode(dataStoreNode);
+					if (result == null) result = caseActivityNode(dataStoreNode);
+					if (result == null) result = caseTypedElement(dataStoreNode);
+					if (result == null) result = caseRedefinableElement(dataStoreNode);
+					if (result == null) result = caseNamedElement(dataStoreNode);
+					if (result == null) result = caseTemplateableElement(dataStoreNode);
+					if (result == null) result = caseElement(dataStoreNode);
+					if (result == null) result = caseEModelElement(dataStoreNode);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.INTERRUPTIBLE_ACTIVITY_REGION: {
+					InterruptibleActivityRegion interruptibleActivityRegion = (InterruptibleActivityRegion)theEObject;
+					Object result = caseInterruptibleActivityRegion(interruptibleActivityRegion);
+					if (result == null) result = caseActivityGroup(interruptibleActivityRegion);
+					if (result == null) result = caseElement(interruptibleActivityRegion);
+					if (result == null) result = caseEModelElement(interruptibleActivityRegion);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
+				case UML2Package.PARAMETER_SET: {
+					ParameterSet parameterSet = (ParameterSet)theEObject;
+					Object result = caseParameterSet(parameterSet);
+					if (result == null) result = caseNamedElement(parameterSet);
+					if (result == null) result = caseTemplateableElement(parameterSet);
+					if (result == null) result = caseElement(parameterSet);
+					if (result == null) result = caseEModelElement(parameterSet);
+					if (result == null) result = defaultCase(theEObject);
+					return result;
+				}
 				case UML2Package.DEPLOYMENT_SPECIFICATION: {
 					DeploymentSpecification deploymentSpecification = (DeploymentSpecification)theEObject;
 					Object result = caseDeploymentSpecification(deploymentSpecification);
diff --git a/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/edit/tests/AllTests.java b/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/edit/tests/AllTests.java
index 3d9124d..9b3e64e 100644
--- a/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/edit/tests/AllTests.java
+++ b/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/edit/tests/AllTests.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AllTests.java,v 1.1 2004/04/29 14:43:45 khussey Exp $
+ * $Id: AllTests.java,v 1.2 2004/04/30 17:18:14 khussey Exp $
  */
 package org.eclipse.uml2.edit.tests;
 
@@ -126,76 +126,71 @@
 	 * @generated
 	 */
 	public static Test suite() {
-		TestSuite suite = new TestSuite("UML2 Edit Tests"); //$NON-NLS-1$                    
+		TestSuite suite = new TestSuite("UML2 Edit Tests"); //$NON-NLS-1$                                
+		suite.addTestSuite(OpaqueExpressionItemProviderTest.class);        
+		suite.addTestSuite(ExpressionItemProviderTest.class);    
 		suite.addTestSuite(ClassItemProviderTest.class);        
 		suite.addTestSuite(PropertyItemProviderTest.class);    
 		suite.addTestSuite(OperationItemProviderTest.class);        
-		suite.addTestSuite(ParameterItemProviderTest.class);        
+		suite.addTestSuite(ParameterItemProviderTest.class);    
 		suite.addTestSuite(PackageItemProviderTest.class);    
 		suite.addTestSuite(EnumerationItemProviderTest.class);    
 		suite.addTestSuite(DataTypeItemProviderTest.class);    
 		suite.addTestSuite(EnumerationLiteralItemProviderTest.class);    
-		suite.addTestSuite(PrimitiveTypeItemProviderTest.class);            
-		suite.addTestSuite(OpaqueExpressionItemProviderTest.class);        
-		suite.addTestSuite(ExpressionItemProviderTest.class);            
+		suite.addTestSuite(PrimitiveTypeItemProviderTest.class);    
+		suite.addTestSuite(ConstraintItemProviderTest.class);    
 		suite.addTestSuite(LiteralBooleanItemProviderTest.class);        
 		suite.addTestSuite(LiteralStringItemProviderTest.class);    
 		suite.addTestSuite(LiteralNullItemProviderTest.class);    
 		suite.addTestSuite(LiteralIntegerItemProviderTest.class);    
-		suite.addTestSuite(LiteralUnlimitedNaturalItemProviderTest.class);    
-		suite.addTestSuite(ConstraintItemProviderTest.class);            
+		suite.addTestSuite(LiteralUnlimitedNaturalItemProviderTest.class);                            
 		suite.addTestSuite(InstanceSpecificationItemProviderTest.class);        
-		suite.addTestSuite(InstanceValueItemProviderTest.class);                        
+		suite.addTestSuite(InstanceValueItemProviderTest.class);                
 		suite.addTestSuite(AssociationItemProviderTest.class);        
 		suite.addTestSuite(StereotypeItemProviderTest.class);    
 		suite.addTestSuite(ProfileItemProviderTest.class);    
 		suite.addTestSuite(ProfileApplicationItemProviderTest.class);    
 		suite.addTestSuite(ExtensionItemProviderTest.class);    
 		suite.addTestSuite(ExtensionEndItemProviderTest.class);    
-		suite.addTestSuite(ModelItemProviderTest.class);    
 		suite.addTestSuite(PermissionItemProviderTest.class);    
 		suite.addTestSuite(DependencyItemProviderTest.class);    
 		suite.addTestSuite(UsageItemProviderTest.class);    
 		suite.addTestSuite(AbstractionItemProviderTest.class);    
 		suite.addTestSuite(RealizationItemProviderTest.class);    
-		suite.addTestSuite(SubstitutionItemProviderTest.class);    
-		suite.addTestSuite(GeneralizationSetItemProviderTest.class);    
-		suite.addTestSuite(InformationItemItemProviderTest.class);        
-		suite.addTestSuite(AssociationClassItemProviderTest.class);            
+		suite.addTestSuite(SubstitutionItemProviderTest.class);            
 		suite.addTestSuite(ActivityItemProviderTest.class);    
-		suite.addTestSuite(ArtifactItemProviderTest.class);    
-		suite.addTestSuite(ManifestationItemProviderTest.class);    
+		suite.addTestSuite(AssociationClassItemProviderTest.class);    
+		suite.addTestSuite(ModelItemProviderTest.class);    
+		suite.addTestSuite(InformationItemItemProviderTest.class);        
+		suite.addTestSuite(GeneralizationSetItemProviderTest.class);                    
+		suite.addTestSuite(InterfaceItemProviderTest.class);    
+		suite.addTestSuite(ImplementationItemProviderTest.class);    
 		suite.addTestSuite(ActorItemProviderTest.class);        
 		suite.addTestSuite(UseCaseItemProviderTest.class);            
-		suite.addTestSuite(InterfaceItemProviderTest.class);    
-		suite.addTestSuite(ImplementationItemProviderTest.class);                                                                                                    
+		suite.addTestSuite(ArtifactItemProviderTest.class);    
+		suite.addTestSuite(ManifestationItemProviderTest.class);                                                                                    
 		suite.addTestSuite(CollaborationItemProviderTest.class);    
-		suite.addTestSuite(VariableItemProviderTest.class);                    
-		suite.addTestSuite(PortItemProviderTest.class);        
 		suite.addTestSuite(InteractionItemProviderTest.class);                                        
+		suite.addTestSuite(PortItemProviderTest.class);        
 		suite.addTestSuite(CallTriggerItemProviderTest.class);        
 		suite.addTestSuite(ChangeTriggerItemProviderTest.class);            
 		suite.addTestSuite(SignalItemProviderTest.class);    
 		suite.addTestSuite(SignalTriggerItemProviderTest.class);    
 		suite.addTestSuite(TimeTriggerItemProviderTest.class);    
 		suite.addTestSuite(AnyTriggerItemProviderTest.class);    
+		suite.addTestSuite(VariableItemProviderTest.class);                    
 		suite.addTestSuite(TemplateSignatureItemProviderTest.class);    
 		suite.addTestSuite(TemplateParameterItemProviderTest.class);                    
 		suite.addTestSuite(TemplateParameterSubstitutionItemProviderTest.class);    
 		suite.addTestSuite(OperationTemplateParameterItemProviderTest.class);    
 		suite.addTestSuite(ClassifierTemplateParameterItemProviderTest.class);        
 		suite.addTestSuite(RedefinableTemplateSignatureItemProviderTest.class);        
-		suite.addTestSuite(ConnectableElementTemplateParameterItemProviderTest.class);                    
-		suite.addTestSuite(InteractionConstraintItemProviderTest.class);            
-		suite.addTestSuite(StateMachineItemProviderTest.class);                                                                                                                                                                                                    
-		suite.addTestSuite(ComponentItemProviderTest.class);    
-		suite.addTestSuite(DeploymentItemProviderTest.class);            
-		suite.addTestSuite(NodeItemProviderTest.class);    
-		suite.addTestSuite(DeviceItemProviderTest.class);    
-		suite.addTestSuite(ExecutionEnvironmentItemProviderTest.class);    
-		suite.addTestSuite(CommunicationPathItemProviderTest.class);        
+		suite.addTestSuite(ConnectableElementTemplateParameterItemProviderTest.class);    
+		suite.addTestSuite(StateMachineItemProviderTest.class);                                                                                                                                                                                                        
+		suite.addTestSuite(InteractionConstraintItemProviderTest.class);                            
 		suite.addTestSuite(ProtocolStateMachineItemProviderTest.class);    
-		suite.addTestSuite(ProtocolTransitionItemProviderTest.class);                                                                
+		suite.addTestSuite(ProtocolTransitionItemProviderTest.class);    
+		suite.addTestSuite(ComponentItemProviderTest.class);    
 		suite.addTestSuite(TimeExpressionItemProviderTest.class);    
 		suite.addTestSuite(DurationItemProviderTest.class);        
 		suite.addTestSuite(DurationIntervalItemProviderTest.class);    
@@ -203,7 +198,12 @@
 		suite.addTestSuite(TimeConstraintItemProviderTest.class);    
 		suite.addTestSuite(IntervalConstraintItemProviderTest.class);    
 		suite.addTestSuite(TimeIntervalItemProviderTest.class);        
-		suite.addTestSuite(DurationConstraintItemProviderTest.class);    
+		suite.addTestSuite(DurationConstraintItemProviderTest.class);                                                    
+		suite.addTestSuite(DeploymentItemProviderTest.class);            
+		suite.addTestSuite(NodeItemProviderTest.class);    
+		suite.addTestSuite(DeviceItemProviderTest.class);    
+		suite.addTestSuite(ExecutionEnvironmentItemProviderTest.class);    
+		suite.addTestSuite(CommunicationPathItemProviderTest.class);                
 		suite.addTestSuite(DeploymentSpecificationItemProviderTest.class);
 		return suite;
 	}
diff --git a/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/provider/tests/ProtocolTransitionItemProviderTest.java b/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/provider/tests/ProtocolTransitionItemProviderTest.java
index c2030d3..0318c8b 100644
--- a/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/provider/tests/ProtocolTransitionItemProviderTest.java
+++ b/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/provider/tests/ProtocolTransitionItemProviderTest.java
@@ -8,14 +8,18 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProtocolTransitionItemProviderTest.java,v 1.1 2004/04/29 14:43:45 khussey Exp $
+ * $Id: ProtocolTransitionItemProviderTest.java,v 1.2 2004/04/30 17:18:14 khussey Exp $
  */
 package org.eclipse.uml2.provider.tests;
 
 import junit.textui.TestRunner;
 
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.uml2.Constraint;
 import org.eclipse.uml2.ProtocolTransition;
 import org.eclipse.uml2.UML2Factory;
+import org.eclipse.uml2.UML2Package;
 
 /**
  * <!-- begin-user-doc -->
@@ -81,7 +85,49 @@
 	 * @generated
 	 */
 	public void testCreateSetCommand() {
-		// TODO: implement this command creation test method
+		
+		// test PROTOCOL_TRANSITION__PRE_CONDITION subset...
+		Constraint constraint = UML2Factory.eINSTANCE.createConstraint();
+		
+		Command command = SetCommand.create(getEditingDomain(), getModelObject(), UML2Package.eINSTANCE.getProtocolTransition_PreCondition(), constraint);
+		
+		getCommandStack().execute(command);
+		
+		assertSame(constraint, getModelObject().getPreCondition());
+		assertSame(getModelObject().getPreCondition(), getModelObject().getGuard());
+		
+		getCommandStack().undo();
+		
+		assertNotSame(constraint, getModelObject().getPreCondition());
+		assertSame(getModelObject().getPreCondition(), getModelObject().getGuard());
+		
+		getCommandStack().redo();
+		
+		assertSame(constraint, getModelObject().getPreCondition());
+		assertSame(getModelObject().getPreCondition(), getModelObject().getGuard());
+		
+		// test PROTOCOL_TRANSITION__GUARD superset...
+		Constraint oldConstraint = UML2Factory.eINSTANCE.createConstraint();
+		Constraint newConstraint = UML2Factory.eINSTANCE.createConstraint();
+		
+		getModelObject().setPreCondition(oldConstraint);
+		
+		command = SetCommand.create(getEditingDomain(), getModelObject(), UML2Package.eINSTANCE.getTransition_Guard(), newConstraint);
+		
+		getCommandStack().execute(command);
+		
+		assertSame(newConstraint, getModelObject().getGuard());
+		assertSame(null, getModelObject().getPreCondition());
+		
+		getCommandStack().undo();
+		
+		assertSame(oldConstraint, getModelObject().getGuard());
+		assertSame(oldConstraint, getModelObject().getPreCondition());
+		
+		getCommandStack().redo();
+		
+		assertSame(newConstraint, getModelObject().getGuard());
+		assertSame(null, getModelObject().getPreCondition());
 	}
 
 } //ProtocolTransitionItemProviderTest
diff --git a/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/provider/tests/TemplateParameterSubstitutionItemProviderTest.java b/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/provider/tests/TemplateParameterSubstitutionItemProviderTest.java
index 96081cc..6fa26de 100644
--- a/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/provider/tests/TemplateParameterSubstitutionItemProviderTest.java
+++ b/deprecated/tests/org.eclipse.uml2.edit.tests/src/org/eclipse/uml2/provider/tests/TemplateParameterSubstitutionItemProviderTest.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateParameterSubstitutionItemProviderTest.java,v 1.1 2004/04/29 14:43:45 khussey Exp $
+ * $Id: TemplateParameterSubstitutionItemProviderTest.java,v 1.2 2004/04/30 17:18:14 khussey Exp $
  */
 package org.eclipse.uml2.provider.tests;
 
@@ -19,9 +19,10 @@
 
 import org.eclipse.emf.common.command.Command;
 import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.command.CommandParameter;
 import org.eclipse.emf.edit.command.RemoveCommand;
 import org.eclipse.emf.edit.command.ReplaceCommand;
-import org.eclipse.emf.edit.command.SetCommand;
 import org.eclipse.uml2.ParameterableElement;
 import org.eclipse.uml2.TemplateParameterSubstitution;
 import org.eclipse.uml2.UML2Factory;
@@ -84,6 +85,44 @@
 	}
 
 	/**
+	 * Tests the '{@link org.eclipse.uml2.provider.TemplateParameterSubstitutionItemProvider#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int) <em>Create Add Command</em>}' method.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.provider.TemplateParameterSubstitutionItemProvider#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
+	 * @generated NOT
+	 */
+	public void testCreateAddCommand() {
+		
+		// test TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL subset...
+		for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getParameterableElement()).iterator(); eAllSubClasses.hasNext();) {
+			ParameterableElement parameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create((EClass) eAllSubClasses.next());
+			
+			Command command =
+				AddCommand.create(
+						getEditingDomain(),
+						getModelObject(),
+						UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+						Collections.singleton(parameterableElement),
+						CommandParameter.NO_INDEX);
+			
+			getCommandStack().execute(command);
+			
+			assertTrue(getModelObject().getOwnedActuals().contains(parameterableElement));
+			assertTrue(getModelObject().getActuals().contains(parameterableElement));
+			
+			getCommandStack().undo();
+			
+			assertFalse(getModelObject().getOwnedActuals().contains(parameterableElement));
+			assertFalse(getModelObject().getActuals().contains(parameterableElement));
+			
+			getCommandStack().redo();
+			
+			assertTrue(getModelObject().getOwnedActuals().contains(parameterableElement));
+			assertTrue(getModelObject().getActuals().contains(parameterableElement));
+		}
+	}
+
+	/**
 	 * Tests the '{@link org.eclipse.uml2.provider.TemplateParameterSubstitutionItemProvider#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EReference, java.util.Collection) <em>Create Remove Command</em>}' method.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -95,30 +134,26 @@
 		// test TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL superset...
 		for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getParameterableElement()).iterator(); eAllSubClasses.hasNext();) {
 			ParameterableElement parameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create((EClass) eAllSubClasses.next());
-	
-			getModelObject().setOwnedActual(parameterableElement);
-	
+			
+			getModelObject().getOwnedActuals().add(parameterableElement);
+			
 			Command command =
-				RemoveCommand.create(
-					getEditingDomain(),
-					getModelObject(),
-					UML2Package.eINSTANCE.getTemplateParameterSubstitution_Actual(),
-					Collections.singleton(parameterableElement));
-	
+				RemoveCommand.create(getEditingDomain(), getModelObject(), UML2Package.eINSTANCE.getTemplateParameterSubstitution_Actual(), Collections.singleton(parameterableElement));
+			
 			getCommandStack().execute(command);
-	
+			
 			assertFalse(getModelObject().getActuals().contains(parameterableElement));
-			assertNotSame(parameterableElement, getModelObject().getOwnedActual());
-	
+			assertFalse(getModelObject().getOwnedActuals().contains(parameterableElement));
+			
 			getCommandStack().undo();
-	
+			
 			assertTrue(getModelObject().getActuals().contains(parameterableElement));
-			assertSame(parameterableElement, getModelObject().getOwnedActual());
-	
+			assertTrue(getModelObject().getOwnedActuals().contains(parameterableElement));
+			
 			getCommandStack().redo();
-	
+			
 			assertFalse(getModelObject().getActuals().contains(parameterableElement));
-			assertNotSame(parameterableElement, getModelObject().getOwnedActual());
+			assertFalse(getModelObject().getOwnedActuals().contains(parameterableElement));
 		}
 	}
 
@@ -131,72 +166,74 @@
 	 */
 	public void testCreateReplaceCommand() {
 		
+		// test TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL subset...
+		for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getParameterableElement()).iterator(); eAllSubClasses.hasNext();) {
+			EClass eClass = (EClass) eAllSubClasses.next();
+			ParameterableElement parameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create(eClass);
+			ParameterableElement replacementParameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create(eClass);
+			
+			getModelObject().getOwnedActuals().add(parameterableElement);
+			
+			Command command =
+				ReplaceCommand.create(
+						getEditingDomain(),
+						getModelObject(),
+						UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(),
+						parameterableElement,
+						Collections.singleton(replacementParameterableElement));
+			
+			getCommandStack().execute(command);
+			
+			assertFalse(getModelObject().getOwnedActuals().contains(parameterableElement));
+			assertTrue(getModelObject().getOwnedActuals().contains(replacementParameterableElement));
+			assertTrue(getModelObject().getActuals().contains(replacementParameterableElement));
+			
+			getCommandStack().undo();
+			
+			assertTrue(getModelObject().getOwnedActuals().contains(parameterableElement));
+			assertFalse(getModelObject().getOwnedActuals().contains(replacementParameterableElement));
+			assertFalse(getModelObject().getActuals().contains(replacementParameterableElement));
+			
+			getCommandStack().redo();
+			
+			assertFalse(getModelObject().getOwnedActuals().contains(parameterableElement));
+			assertTrue(getModelObject().getOwnedActuals().contains(replacementParameterableElement));
+			assertTrue(getModelObject().getActuals().contains(replacementParameterableElement));
+		}
+		
 		// test TEMPLATE_PARAMETER_SUBSTITUTION__ACTUAL superset...
 		for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getParameterableElement()).iterator(); eAllSubClasses.hasNext();) {
 			EClass eClass = (EClass) eAllSubClasses.next();
 			ParameterableElement parameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create(eClass);
 			ParameterableElement replacementParameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create(eClass);
-	
-			getModelObject().setOwnedActual(parameterableElement);
-	
+			
+			getModelObject().getOwnedActuals().add(parameterableElement);
+			
 			Command command =
 				ReplaceCommand.create(
-					getEditingDomain(),
-					getModelObject(),
-					UML2Package.eINSTANCE.getTemplateParameterSubstitution_Actual(),
-					parameterableElement,
-					Collections.singleton(replacementParameterableElement));
-	
+						getEditingDomain(),
+						getModelObject(),
+						UML2Package.eINSTANCE.getTemplateParameterSubstitution_Actual(),
+						parameterableElement,
+						Collections.singleton(replacementParameterableElement));
+			
 			getCommandStack().execute(command);
-	
+			
 			assertFalse(getModelObject().getActuals().contains(parameterableElement));
 			assertTrue(getModelObject().getActuals().contains(replacementParameterableElement));
-			assertNotSame(parameterableElement, getModelObject().getOwnedActual());
-	
+			assertFalse(getModelObject().getOwnedActuals().contains(parameterableElement));
+			
 			getCommandStack().undo();
-	
+			
 			assertTrue(getModelObject().getActuals().contains(parameterableElement));
 			assertFalse(getModelObject().getActuals().contains(replacementParameterableElement));
-			assertSame(parameterableElement, getModelObject().getOwnedActual());
-	
+			assertTrue(getModelObject().getOwnedActuals().contains(parameterableElement));
+			
 			getCommandStack().redo();
-	
+			
 			assertFalse(getModelObject().getActuals().contains(parameterableElement));
 			assertTrue(getModelObject().getActuals().contains(replacementParameterableElement));
-			assertNotSame(parameterableElement, getModelObject().getOwnedActual());
-		}
-	}
-
-	/**
-	 * Tests the '{@link org.eclipse.uml2.provider.TemplateParameterSubstitutionItemProvider#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) <em>Create Set Command</em>}' method.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.provider.TemplateParameterSubstitutionItemProvider#createSetCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object)
-	 * @generated NOT
-	 */
-	public void testCreateSetCommand() {
-		
-		// test TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL subset...
-		for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getParameterableElement()).iterator(); eAllSubClasses.hasNext();) {
-			ParameterableElement parameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create((EClass) eAllSubClasses.next());
-	
-			Command command =
-				SetCommand.create(getEditingDomain(), getModelObject(), UML2Package.eINSTANCE.getTemplateParameterSubstitution_OwnedActual(), parameterableElement);
-	
-			getCommandStack().execute(command);
-	
-			assertSame(parameterableElement, getModelObject().getOwnedActual());
-			assertTrue(getModelObject().getActuals().contains(parameterableElement));
-	
-			getCommandStack().undo();
-	
-			assertNotSame(parameterableElement, getModelObject().getOwnedActual());
-			assertFalse(getModelObject().getActuals().contains(parameterableElement));
-	
-			getCommandStack().redo();
-	
-			assertSame(parameterableElement, getModelObject().getOwnedActual());
-			assertTrue(getModelObject().getActuals().contains(parameterableElement));
+			assertFalse(getModelObject().getOwnedActuals().contains(parameterableElement));
 		}
 	}
 
diff --git a/deprecated/tests/org.eclipse.uml2.tests/src/org/eclipse/uml2/impl/tests/TemplateParameterSubstitutionImplTest.java b/deprecated/tests/org.eclipse.uml2.tests/src/org/eclipse/uml2/impl/tests/TemplateParameterSubstitutionImplTest.java
index 9450054..daa3300 100644
--- a/deprecated/tests/org.eclipse.uml2.tests/src/org/eclipse/uml2/impl/tests/TemplateParameterSubstitutionImplTest.java
+++ b/deprecated/tests/org.eclipse.uml2.tests/src/org/eclipse/uml2/impl/tests/TemplateParameterSubstitutionImplTest.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: TemplateParameterSubstitutionImplTest.java,v 1.1 2004/04/29 14:56:47 khussey Exp $
+ * $Id: TemplateParameterSubstitutionImplTest.java,v 1.2 2004/04/30 17:18:09 khussey Exp $
  */
 package org.eclipse.uml2.impl.tests;
 
@@ -30,7 +30,7 @@
  * The following features are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getActuals() <em>Actual</em>}</li>
- *   <li>{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getOwnedActual() <em>Owned Actual</em>}</li>
+ *   <li>{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getOwnedActuals() <em>Owned Actual</em>}</li>
  * </ul>
  * </p>
  * <p>
@@ -105,71 +105,21 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getActuals()
-	 * @generated NOT
+	 * @generated
 	 */
 	public void testGetActuals() {
-
-		for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getParameterableElement()).iterator(); eAllSubClasses.hasNext();) {
-			ParameterableElement parameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create((EClass) eAllSubClasses.next());
-
-			getFixture().setOwnedActual(parameterableElement);
-
-			getFixture().getActuals().remove(parameterableElement);
-
-			assertFalse(getFixture().getActuals().contains(parameterableElement));
-			assertSame(null, getFixture().getOwnedActual());
-
-			getFixture().getActuals().add(parameterableElement);
-
-			assertTrue(getFixture().getActuals().contains(parameterableElement));
-			assertSame(null, getFixture().getOwnedActual());
-		}
+		// TODO: implement this feature getter test method
 	}
 
 	/**
-	 * Tests the '{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getOwnedActual() <em>Owned Actual</em>}' feature getter.
+	 * Tests the '{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getOwnedActuals() <em>Owned Actual</em>}' feature getter.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getOwnedActual()
-	 * @generated NOT
+	 * @see org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#getOwnedActuals()
+	 * @generated
 	 */
-	public void testGetOwnedActual() {
-
-		for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getParameterableElement()).iterator(); eAllSubClasses.hasNext();) {
-			ParameterableElement parameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create((EClass) eAllSubClasses.next());
-
-			getFixture().setOwnedActual(parameterableElement);
-
-			assertSame(parameterableElement, getFixture().getOwnedActual());
-
-			getFixture().setOwnedActual(null);
-
-			assertSame(null, getFixture().getOwnedActual());
-		}
-	}
-
-	/**
-	 * Tests the '{@link org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#setOwnedActual() <em>Owned Actual</em>}' feature setter.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.impl.TemplateParameterSubstitutionImpl#setOwnedActual()
-	 * @generated NOT
-	 */
-	public void testSetOwnedActual() {
-
-		for (Iterator eAllSubClasses = getEAllSubClasses(UML2Package.eINSTANCE.getParameterableElement()).iterator(); eAllSubClasses.hasNext();) {
-			ParameterableElement parameterableElement = (ParameterableElement) UML2Factory.eINSTANCE.create((EClass) eAllSubClasses.next());
-
-			getFixture().setOwnedActual(parameterableElement);
-
-			assertSame(parameterableElement, getFixture().getOwnedActual());
-			assertTrue(getFixture().getActuals().contains(parameterableElement));
-
-			getFixture().setOwnedActual(null);
-
-			assertSame(null, getFixture().getOwnedActual());
-			assertTrue(getFixture().getActuals().contains(parameterableElement));
-		}
+	public void testGetOwnedActuals() {
+		// TODO: implement this feature getter test method
 	}
 
 	/**
@@ -195,16 +145,24 @@
 	public void testGetOwnedElements() {
 		super.testGetOwnedElements();
 
-		getFixture().setOwnedActual(UML2Factory.eINSTANCE.createInstanceValue());
-
-		assertTrue(getFixture().getOwnedElements().contains(getFixture().getOwnedActual()));
+		assertTrue(getFixture().getOwnedElements().containsAll(getFixture().getOwnedActuals()));
 	}
 
-	/**
+	/* (non-Javadoc)
 	 * @see org.eclipse.uml2.impl.tests.ElementImplTest#setUpOwner()
 	 */
 	protected void setUpOwner() {
 		UML2Factory.eINSTANCE.createTemplateBinding().getParameterSubstitutions().add(getFixture());
 	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.uml2.impl.tests.ElementImplTest#setUpOwnedElements()
+	 */
+	protected void setUpOwnedElements() {
+		super.setUpOwnedElements();
+
+		getFixture().getOwnedActuals().add(UML2Factory.eINSTANCE.createInstanceValue());
+		getFixture().getOwnedActuals().add(UML2Factory.eINSTANCE.createInstanceValue());
+	}
 
 } //TemplateParameterSubstitutionImplTest
diff --git a/deprecated/tests/org.eclipse.uml2.tests/src/org/eclipse/uml2/tests/AllTests.java b/deprecated/tests/org.eclipse.uml2.tests/src/org/eclipse/uml2/tests/AllTests.java
index 811d295..cd7db3c 100644
--- a/deprecated/tests/org.eclipse.uml2.tests/src/org/eclipse/uml2/tests/AllTests.java
+++ b/deprecated/tests/org.eclipse.uml2.tests/src/org/eclipse/uml2/tests/AllTests.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: AllTests.java,v 1.1 2004/04/29 14:56:55 khussey Exp $
+ * $Id: AllTests.java,v 1.2 2004/04/30 17:18:09 khussey Exp $
  */
 package org.eclipse.uml2.tests;
 
@@ -237,6 +237,9 @@
 	 */
 	public static Test suiteGen() {
 		TestSuite suite = new TestSuite("UML2 Tests"); //$NON-NLS-1$
+		suite.addTestSuite(CommentImplTest.class);
+		suite.addTestSuite(OpaqueExpressionImplTest.class);
+		suite.addTestSuite(ExpressionImplTest.class);
 		suite.addTestSuite(ClassImplTest.class);
 		suite.addTestSuite(PropertyImplTest.class);
 		suite.addTestSuite(OperationImplTest.class);
@@ -246,19 +249,16 @@
 		suite.addTestSuite(DataTypeImplTest.class);
 		suite.addTestSuite(EnumerationLiteralImplTest.class);
 		suite.addTestSuite(PrimitiveTypeImplTest.class);
-		suite.addTestSuite(CommentImplTest.class);
-		suite.addTestSuite(OpaqueExpressionImplTest.class);
-		suite.addTestSuite(ExpressionImplTest.class);
+		suite.addTestSuite(ConstraintImplTest.class);
 		suite.addTestSuite(LiteralBooleanImplTest.class);
 		suite.addTestSuite(LiteralStringImplTest.class);
 		suite.addTestSuite(LiteralNullImplTest.class);
 		suite.addTestSuite(LiteralIntegerImplTest.class);
 		suite.addTestSuite(LiteralUnlimitedNaturalImplTest.class);
-		suite.addTestSuite(ConstraintImplTest.class);
+		suite.addTestSuite(GeneralizationImplTest.class);
 		suite.addTestSuite(InstanceSpecificationImplTest.class);
 		suite.addTestSuite(SlotImplTest.class);
 		suite.addTestSuite(InstanceValueImplTest.class);
-		suite.addTestSuite(GeneralizationImplTest.class);
 		suite.addTestSuite(ElementImportImplTest.class);
 		suite.addTestSuite(PackageImportImplTest.class);
 		suite.addTestSuite(AssociationImplTest.class);
@@ -268,27 +268,29 @@
 		suite.addTestSuite(ProfileApplicationImplTest.class);
 		suite.addTestSuite(ExtensionImplTest.class);
 		suite.addTestSuite(ExtensionEndImplTest.class);
-		suite.addTestSuite(ModelImplTest.class);
 		suite.addTestSuite(PermissionImplTest.class);
 		suite.addTestSuite(DependencyImplTest.class);
 		suite.addTestSuite(UsageImplTest.class);
 		suite.addTestSuite(AbstractionImplTest.class);
 		suite.addTestSuite(RealizationImplTest.class);
 		suite.addTestSuite(SubstitutionImplTest.class);
-		suite.addTestSuite(GeneralizationSetImplTest.class);
+		suite.addTestSuite(ActivityImplTest.class);
+		suite.addTestSuite(AssociationClassImplTest.class);
+		suite.addTestSuite(ModelImplTest.class);
 		suite.addTestSuite(InformationItemImplTest.class);
 		suite.addTestSuite(InformationFlowImplTest.class);
-		suite.addTestSuite(AssociationClassImplTest.class);
-		suite.addTestSuite(ActivityImplTest.class);
-		suite.addTestSuite(ArtifactImplTest.class);
-		suite.addTestSuite(ManifestationImplTest.class);
+		suite.addTestSuite(GeneralizationSetImplTest.class);
+		suite.addTestSuite(ConnectorEndImplTest.class);
+		suite.addTestSuite(ConnectorImplTest.class);
+		suite.addTestSuite(InterfaceImplTest.class);
+		suite.addTestSuite(ImplementationImplTest.class);
 		suite.addTestSuite(ActorImplTest.class);
 		suite.addTestSuite(ExtendImplTest.class);
 		suite.addTestSuite(UseCaseImplTest.class);
 		suite.addTestSuite(ExtensionPointImplTest.class);
 		suite.addTestSuite(IncludeImplTest.class);
-		suite.addTestSuite(InterfaceImplTest.class);
-		suite.addTestSuite(ImplementationImplTest.class);
+		suite.addTestSuite(ArtifactImplTest.class);
+		suite.addTestSuite(ManifestationImplTest.class);
 		suite.addTestSuite(ActionImplTest.class);
 		suite.addTestSuite(ControlFlowImplTest.class);
 		suite.addTestSuite(ObjectFlowImplTest.class);
@@ -300,16 +302,8 @@
 		suite.addTestSuite(InputPinImplTest.class);
 		suite.addTestSuite(ActivityParameterNodeImplTest.class);
 		suite.addTestSuite(ValuePinImplTest.class);
-		suite.addTestSuite(ConnectorEndImplTest.class);
-		suite.addTestSuite(ConnectorImplTest.class);
 		suite.addTestSuite(CollaborationOccurrenceImplTest.class);
 		suite.addTestSuite(CollaborationImplTest.class);
-		suite.addTestSuite(VariableImplTest.class);
-		suite.addTestSuite(StructuredActivityNodeImplTest.class);
-		suite.addTestSuite(ConditionalNodeImplTest.class);
-		suite.addTestSuite(ClauseImplTest.class);
-		suite.addTestSuite(LoopNodeImplTest.class);
-		suite.addTestSuite(PortImplTest.class);
 		suite.addTestSuite(InteractionImplTest.class);
 		suite.addTestSuite(LifelineImplTest.class);
 		suite.addTestSuite(MessageImplTest.class);
@@ -318,6 +312,7 @@
 		suite.addTestSuite(ExecutionOccurrenceImplTest.class);
 		suite.addTestSuite(StateInvariantImplTest.class);
 		suite.addTestSuite(StopImplTest.class);
+		suite.addTestSuite(PortImplTest.class);
 		suite.addTestSuite(CallTriggerImplTest.class);
 		suite.addTestSuite(ChangeTriggerImplTest.class);
 		suite.addTestSuite(ReceptionImplTest.class);
@@ -325,6 +320,11 @@
 		suite.addTestSuite(SignalTriggerImplTest.class);
 		suite.addTestSuite(TimeTriggerImplTest.class);
 		suite.addTestSuite(AnyTriggerImplTest.class);
+		suite.addTestSuite(VariableImplTest.class);
+		suite.addTestSuite(StructuredActivityNodeImplTest.class);
+		suite.addTestSuite(ConditionalNodeImplTest.class);
+		suite.addTestSuite(ClauseImplTest.class);
+		suite.addTestSuite(LoopNodeImplTest.class);
 		suite.addTestSuite(TemplateSignatureImplTest.class);
 		suite.addTestSuite(TemplateParameterImplTest.class);
 		suite.addTestSuite(StringExpressionImplTest.class);
@@ -334,13 +334,6 @@
 		suite.addTestSuite(ClassifierTemplateParameterImplTest.class);
 		suite.addTestSuite(RedefinableTemplateSignatureImplTest.class);
 		suite.addTestSuite(ConnectableElementTemplateParameterImplTest.class);
-		suite.addTestSuite(InteractionOccurrenceImplTest.class);
-		suite.addTestSuite(GateImplTest.class);
-		suite.addTestSuite(PartDecompositionImplTest.class);
-		suite.addTestSuite(InteractionOperandImplTest.class);
-		suite.addTestSuite(InteractionConstraintImplTest.class);
-		suite.addTestSuite(CombinedFragmentImplTest.class);
-		suite.addTestSuite(ContinuationImplTest.class);
 		suite.addTestSuite(StateMachineImplTest.class);
 		suite.addTestSuite(RegionImplTest.class);
 		suite.addTestSuite(PseudostateImplTest.class);
@@ -353,9 +346,6 @@
 		suite.addTestSuite(FlowFinalNodeImplTest.class);
 		suite.addTestSuite(CentralBufferNodeImplTest.class);
 		suite.addTestSuite(ActivityPartitionImplTest.class);
-		suite.addTestSuite(ExpansionNodeImplTest.class);
-		suite.addTestSuite(ExpansionRegionImplTest.class);
-		suite.addTestSuite(ExceptionHandlerImplTest.class);
 		suite.addTestSuite(CreateObjectActionImplTest.class);
 		suite.addTestSuite(DestroyObjectActionImplTest.class);
 		suite.addTestSuite(TestIdentityActionImplTest.class);
@@ -381,18 +371,30 @@
 		suite.addTestSuite(SendObjectActionImplTest.class);
 		suite.addTestSuite(CallOperationActionImplTest.class);
 		suite.addTestSuite(CallBehaviorActionImplTest.class);
-		suite.addTestSuite(ComponentImplTest.class);
-		suite.addTestSuite(DeploymentImplTest.class);
-		suite.addTestSuite(NodeImplTest.class);
-		suite.addTestSuite(DeviceImplTest.class);
-		suite.addTestSuite(ExecutionEnvironmentImplTest.class);
-		suite.addTestSuite(CommunicationPathImplTest.class);
+		suite.addTestSuite(InteractionOccurrenceImplTest.class);
+		suite.addTestSuite(GateImplTest.class);
+		suite.addTestSuite(PartDecompositionImplTest.class);
+		suite.addTestSuite(InteractionOperandImplTest.class);
+		suite.addTestSuite(InteractionConstraintImplTest.class);
+		suite.addTestSuite(CombinedFragmentImplTest.class);
+		suite.addTestSuite(ContinuationImplTest.class);
+		suite.addTestSuite(ExpansionNodeImplTest.class);
+		suite.addTestSuite(ExpansionRegionImplTest.class);
+		suite.addTestSuite(ExceptionHandlerImplTest.class);
 		suite.addTestSuite(ProtocolConformanceImplTest.class);
 		suite.addTestSuite(ProtocolStateMachineImplTest.class);
 		suite.addTestSuite(ProtocolTransitionImplTest.class);
-		suite.addTestSuite(DataStoreNodeImplTest.class);
-		suite.addTestSuite(InterruptibleActivityRegionImplTest.class);
-		suite.addTestSuite(ParameterSetImplTest.class);
+		suite.addTestSuite(ComponentImplTest.class);
+		suite.addTestSuite(TimeExpressionImplTest.class);
+		suite.addTestSuite(DurationImplTest.class);
+		suite.addTestSuite(TimeObservationActionImplTest.class);
+		suite.addTestSuite(DurationIntervalImplTest.class);
+		suite.addTestSuite(IntervalImplTest.class);
+		suite.addTestSuite(TimeConstraintImplTest.class);
+		suite.addTestSuite(IntervalConstraintImplTest.class);
+		suite.addTestSuite(TimeIntervalImplTest.class);
+		suite.addTestSuite(DurationObservationActionImplTest.class);
+		suite.addTestSuite(DurationConstraintImplTest.class);
 		suite.addTestSuite(ReadExtentActionImplTest.class);
 		suite.addTestSuite(ReclassifyObjectActionImplTest.class);
 		suite.addTestSuite(ReadIsClassifiedObjectActionImplTest.class);
@@ -405,16 +407,14 @@
 		suite.addTestSuite(AcceptCallActionImplTest.class);
 		suite.addTestSuite(ReplyActionImplTest.class);
 		suite.addTestSuite(RaiseExceptionActionImplTest.class);
-		suite.addTestSuite(TimeExpressionImplTest.class);
-		suite.addTestSuite(DurationImplTest.class);
-		suite.addTestSuite(TimeObservationActionImplTest.class);
-		suite.addTestSuite(DurationIntervalImplTest.class);
-		suite.addTestSuite(IntervalImplTest.class);
-		suite.addTestSuite(TimeConstraintImplTest.class);
-		suite.addTestSuite(IntervalConstraintImplTest.class);
-		suite.addTestSuite(TimeIntervalImplTest.class);
-		suite.addTestSuite(DurationObservationActionImplTest.class);
-		suite.addTestSuite(DurationConstraintImplTest.class);
+		suite.addTestSuite(DeploymentImplTest.class);
+		suite.addTestSuite(NodeImplTest.class);
+		suite.addTestSuite(DeviceImplTest.class);
+		suite.addTestSuite(ExecutionEnvironmentImplTest.class);
+		suite.addTestSuite(CommunicationPathImplTest.class);
+		suite.addTestSuite(DataStoreNodeImplTest.class);
+		suite.addTestSuite(InterruptibleActivityRegionImplTest.class);
+		suite.addTestSuite(ParameterSetImplTest.class);
 		suite.addTestSuite(DeploymentSpecificationImplTest.class);
 		return suite;
 	}