[381237] Restoring UML2 customizations in reference metamodel.
diff --git a/plugins/org.eclipse.uml2.uml.resources/metamodels/Ecore.metamodel.properties b/plugins/org.eclipse.uml2.uml.resources/metamodels/Ecore.metamodel.properties
index 9424515..9405ba3 100644
--- a/plugins/org.eclipse.uml2.uml.resources/metamodels/Ecore.metamodel.properties
+++ b/plugins/org.eclipse.uml2.uml.resources/metamodels/Ecore.metamodel.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2006, 2011 IBM Corporation, CEA, and others.
+# Copyright (c) 2006, 2012 IBM Corporation, CEA, and others.
 # All rights reserved.   This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -6,7 +6,7 @@
 #
 # Contributors: 
 #   IBM - initial API and implementation
-#   Kenn Hussey (CEA) - 327039
+#   Kenn Hussey (CEA) - 327039, 381237
 #
 
 # NLS_MESSAGEFORMAT_VAR
@@ -53,11 +53,11 @@
 _label_Ecore__EClassifier__instanceTypeName = Instance Type Name
 _label_Ecore__EClassifier__ePackage = Package
 _label_Ecore__EClassifier__eTypeParameters = Type Parameters
-_label_Ecore__EClassifier__Wildcard = Wildcard
-_label_Ecore__EClassifier__EJavaClass_Wildcard = Wildcard Java Class
 _label_Ecore__EClassifier__isInstance = Is Instance
 _label_Ecore__EClassifier__isInstance__object = Object
 _label_Ecore__EClassifier__getClassifierID = Get Classifier ID
+_label_Ecore__EClassifier__Wildcard = Wildcard
+_label_Ecore__EClassifier__EJavaClass_Wildcard = Wildcard Java Class
 _label_Ecore__EDataType = Data Type
 _label_Ecore__EDataType__serializable = Serializable
 _label_Ecore__EEnum = Enum
@@ -96,8 +96,6 @@
 _label_Ecore__ENamedElement = Named Element
 _label_Ecore__ENamedElement__name = Name
 _label_Ecore__EObject = Object
-_label_Ecore__EObject__EEList_EObject = Object Ecore List
-_label_Ecore__EObject__ETreeIterator_EObject = Object Tree Iterator
 _label_Ecore__EObject__eClass = Class
 _label_Ecore__EObject__eIsProxy = Is Proxy
 _label_Ecore__EObject__eResource = Resource
@@ -117,6 +115,8 @@
 _label_Ecore__EObject__eIsSet__feature = Feature
 _label_Ecore__EObject__eUnset = Unset
 _label_Ecore__EObject__eUnset__feature = Feature
+_label_Ecore__EObject__EEList_EObject = Object Ecore List
+_label_Ecore__EObject__ETreeIterator_EObject = Object Tree Iterator
 _label_Ecore__EOperation = Operation
 _label_Ecore__EOperation__eContainingClass = Containing Class
 _label_Ecore__EOperation__eTypeParameters = Type Parameters
@@ -153,10 +153,10 @@
 _label_Ecore__EStructuralFeature__defaultValue = Default Value
 _label_Ecore__EStructuralFeature__unsettable = Unsettable
 _label_Ecore__EStructuralFeature__derived = Derived
-_label_Ecore__EStructuralFeature__Wildcard = Wildcard
-_label_Ecore__EStructuralFeature__EJavaClass_Wildcard = Wildcard Java Class
 _label_Ecore__EStructuralFeature__getFeatureID = Get Feature ID
 _label_Ecore__EStructuralFeature__getContainerClass = Get Container Class
+_label_Ecore__EStructuralFeature__Wildcard = Wildcard
+_label_Ecore__EStructuralFeature__EJavaClass_Wildcard = Wildcard Java Class
 _label_Ecore__ETypedElement = Typed Element
 _label_Ecore__ETypedElement__ordered = Ordered
 _label_Ecore__ETypedElement__unique = Unique
diff --git a/plugins/org.eclipse.uml2.uml.resources/metamodels/Ecore.metamodel.uml b/plugins/org.eclipse.uml2.uml.resources/metamodels/Ecore.metamodel.uml
index 4f1950a..54d24ac 100644
--- a/plugins/org.eclipse.uml2.uml.resources/metamodels/Ecore.metamodel.uml
+++ b/plugins/org.eclipse.uml2.uml.resources/metamodels/Ecore.metamodel.uml
@@ -193,7 +193,7 @@
         </ownedParameter>
       </ownedOperation>
       <nestedClassifier xmi:type="uml:Class" xmi:id="EClassifier-Wildcard" name="Wildcard"/>
-      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="EClassifier-EJavaClass_Wildcard" name="EJavaClass_Wildcard" visibility="private">
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="EClassifier-EJavaClass_Wildcard" name="EJavaClass_Wildcard">
         <templateBinding xmi:id="EClassifier-EJavaClass_Wildcard-_templateBinding.0" signature="EJavaClass-_ownedElement.0">
           <parameterSubstitution xmi:id="EClassifier-EJavaClass_Wildcard-_templateBinding.0-_parameterSubstitution.0" actual="EClassifier-Wildcard" formal="EJavaClass-_ownedElement.0-_ownedParameter.0"/>
         </templateBinding>
@@ -427,12 +427,12 @@
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EObject-eUnset-feature-_lowerValue"/>
         </ownedParameter>
       </ownedOperation>
-      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="EObject-EEList_EObject" name="EEList_EObject" visibility="private">
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="EObject-EEList_EObject" name="EEList_EObject">
         <templateBinding xmi:id="EObject-EEList_EObject-_templateBinding.0" signature="EEList-_ownedElement.0">
           <parameterSubstitution xmi:id="EObject-EEList_EObject-_templateBinding.0-_parameterSubstitution.0" actual="EObject" formal="EEList-_ownedElement.0-_ownedParameter.0"/>
         </templateBinding>
       </nestedClassifier>
-      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="EObject-ETreeIterator_EObject" name="ETreeIterator_EObject" visibility="private">
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="EObject-ETreeIterator_EObject" name="ETreeIterator_EObject">
         <templateBinding xmi:id="EObject-ETreeIterator_EObject-_templateBinding.0" signature="ETreeIterator-_ownedElement.0">
           <parameterSubstitution xmi:id="EObject-ETreeIterator_EObject-_templateBinding.0-_parameterSubstitution.0" actual="EObject" formal="ETreeIterator-_ownedElement.0-_ownedParameter.0"/>
         </templateBinding>
@@ -577,7 +577,7 @@
         </ownedParameter>
       </ownedOperation>
       <nestedClassifier xmi:type="uml:Class" xmi:id="EStructuralFeature-Wildcard" name="Wildcard"/>
-      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="EStructuralFeature-EJavaClass_Wildcard" name="EJavaClass_Wildcard" visibility="private">
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="EStructuralFeature-EJavaClass_Wildcard" name="EJavaClass_Wildcard">
         <templateBinding xmi:id="EStructuralFeature-EJavaClass_Wildcard-_templateBinding.0" signature="EJavaClass-_ownedElement.0">
           <parameterSubstitution xmi:id="EStructuralFeature-EJavaClass_Wildcard-_templateBinding.0-_parameterSubstitution.0" actual="EStructuralFeature-Wildcard" formal="EJavaClass-_ownedElement.0-_ownedParameter.0"/>
         </templateBinding>
@@ -732,122 +732,122 @@
       <ownedEnd xmi:id="_packagedElement.58-_ownedEnd.0" type="EAttribute" association="_packagedElement.58"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_packagedElement.59" visibility="private" memberEnd="EEnum-eLiterals EEnumLiteral-eEnum"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EBigDecimal" name="EBigDecimal" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EBigDecimal" name="EBigDecimal">
       <eAnnotations xmi:id="EBigDecimal-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EBigDecimal-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#decimal"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EBigInteger" name="EBigInteger" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EBigInteger" name="EBigInteger">
       <eAnnotations xmi:id="EBigInteger-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EBigInteger-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#integer"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EBoolean" name="EBoolean" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EBoolean" name="EBoolean">
       <eAnnotations xmi:id="EBoolean-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EBoolean-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#boolean"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EBooleanObject" name="EBooleanObject" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EBooleanObject" name="EBooleanObject">
       <eAnnotations xmi:id="EBooleanObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EBooleanObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="name" value="EBoolean:Object"/>
         <details xmi:id="EBooleanObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.1" key="baseType" value="EBoolean"/>
       </eAnnotations>
       <generalization xmi:id="EBooleanObject-_generalization.0" general="EBoolean"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EByte" name="EByte" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EByte" name="EByte">
       <eAnnotations xmi:id="EByte-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EByte-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#byte"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EByteArray" name="EByteArray" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EByteArray" name="EByteArray">
       <eAnnotations xmi:id="EByteArray-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EByteArray-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#hexBinary"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EByteObject" name="EByteObject" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EByteObject" name="EByteObject">
       <eAnnotations xmi:id="EByteObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EByteObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="name" value="EByte:Object"/>
         <details xmi:id="EByteObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.1" key="baseType" value="EByte"/>
       </eAnnotations>
       <generalization xmi:id="EByteObject-_generalization.0" general="EByte"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EChar" name="EChar" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="ECharacterObject" name="ECharacterObject" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EChar" name="EChar"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="ECharacterObject" name="ECharacterObject">
       <eAnnotations xmi:id="ECharacterObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="ECharacterObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="name" value="EChar:Object"/>
         <details xmi:id="ECharacterObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.1" key="baseType" value="EChar"/>
       </eAnnotations>
       <generalization xmi:id="ECharacterObject-_generalization.0" general="EChar"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EDate" name="EDate" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EDiagnosticChain" name="EDiagnosticChain" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EDouble" name="EDouble" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EDate" name="EDate"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EDiagnosticChain" name="EDiagnosticChain"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EDouble" name="EDouble">
       <eAnnotations xmi:id="EDouble-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EDouble-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#double"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EDoubleObject" name="EDoubleObject" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EDoubleObject" name="EDoubleObject">
       <eAnnotations xmi:id="EDoubleObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EDoubleObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="name" value="EDouble:Object"/>
         <details xmi:id="EDoubleObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.1" key="baseType" value="EDouble"/>
       </eAnnotations>
       <generalization xmi:id="EDoubleObject-_generalization.0" general="EDouble"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EEList" name="EEList" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EEList" name="EEList">
       <ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="EEList-_ownedElement.0" parameter="EEList-_ownedElement.0-_ownedParameter.0">
         <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="EEList-_ownedElement.0-_ownedParameter.0" parameteredElement="EEList-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement">
           <ownedParameteredElement xmi:type="uml:Class" xmi:id="EEList-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement" name="E" templateParameter="EEList-_ownedElement.0-_ownedParameter.0"/>
         </ownedParameter>
       </ownedTemplateSignature>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EEnumerator" name="EEnumerator" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EFeatureMap" name="EFeatureMap" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EFeatureMapEntry" name="EFeatureMapEntry" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EFloat" name="EFloat" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EEnumerator" name="EEnumerator"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EFeatureMap" name="EFeatureMap"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EFeatureMapEntry" name="EFeatureMapEntry"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EFloat" name="EFloat">
       <eAnnotations xmi:id="EFloat-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EFloat-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#float"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EFloatObject" name="EFloatObject" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EFloatObject" name="EFloatObject">
       <eAnnotations xmi:id="EFloatObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EFloatObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="name" value="EFloat:Object"/>
         <details xmi:id="EFloatObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.1" key="baseType" value="EFloat"/>
       </eAnnotations>
       <generalization xmi:id="EFloatObject-_generalization.0" general="EFloat"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EInt" name="EInt" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EInt" name="EInt">
       <eAnnotations xmi:id="EInt-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EInt-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#int"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EIntegerObject" name="EIntegerObject" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EIntegerObject" name="EIntegerObject">
       <eAnnotations xmi:id="EIntegerObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EIntegerObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="name" value="EInt:Object"/>
         <details xmi:id="EIntegerObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.1" key="baseType" value="EInt"/>
       </eAnnotations>
       <generalization xmi:id="EIntegerObject-_generalization.0" general="EInt"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EJavaClass" name="EJavaClass" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EJavaClass" name="EJavaClass">
       <ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="EJavaClass-_ownedElement.0" parameter="EJavaClass-_ownedElement.0-_ownedParameter.0">
         <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="EJavaClass-_ownedElement.0-_ownedParameter.0" parameteredElement="EJavaClass-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement">
           <ownedParameteredElement xmi:type="uml:Class" xmi:id="EJavaClass-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement" name="T" templateParameter="EJavaClass-_ownedElement.0-_ownedParameter.0"/>
         </ownedParameter>
       </ownedTemplateSignature>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EJavaObject" name="EJavaObject" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="ELong" name="ELong" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EJavaObject" name="EJavaObject"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="ELong" name="ELong">
       <eAnnotations xmi:id="ELong-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="ELong-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#long"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="ELongObject" name="ELongObject" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="ELongObject" name="ELongObject">
       <eAnnotations xmi:id="ELongObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="ELongObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="name" value="ELong:Object"/>
         <details xmi:id="ELongObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.1" key="baseType" value="ELong"/>
       </eAnnotations>
       <generalization xmi:id="ELongObject-_generalization.0" general="ELong"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EMap" name="EMap" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EMap" name="EMap">
       <ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="EMap-_ownedElement.0" parameter="EMap-_ownedElement.0-_ownedParameter.0 EMap-_ownedElement.0-_ownedParameter.1">
         <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="EMap-_ownedElement.0-_ownedParameter.0" parameteredElement="EMap-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement">
           <ownedParameteredElement xmi:type="uml:Class" xmi:id="EMap-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement" name="K" templateParameter="EMap-_ownedElement.0-_ownedParameter.0"/>
@@ -857,33 +857,33 @@
         </ownedParameter>
       </ownedTemplateSignature>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EResource" name="EResource" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EResourceSet" name="EResourceSet" visibility="private"/>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EShort" name="EShort" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EResource" name="EResource"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EResourceSet" name="EResourceSet"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EShort" name="EShort">
       <eAnnotations xmi:id="EShort-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EShort-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#short"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EShortObject" name="EShortObject" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EShortObject" name="EShortObject">
       <eAnnotations xmi:id="EShortObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EShortObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="name" value="EShort:Object"/>
         <details xmi:id="EShortObject-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.1" key="baseType" value="EShort"/>
       </eAnnotations>
       <generalization xmi:id="EShortObject-_generalization.0" general="EShort"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EString" name="EString" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EString" name="EString">
       <eAnnotations xmi:id="EString-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData" source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details xmi:id="EString-_http2F2F2Forg2Feclipse2Femf2Fecore2Futil2FExtendedMetaData-_details.0" key="baseType" value="http://www.w3.org/2001/XMLSchema#string"/>
       </eAnnotations>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="ETreeIterator" name="ETreeIterator" visibility="private">
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="ETreeIterator" name="ETreeIterator">
       <ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="ETreeIterator-_ownedElement.0" parameter="ETreeIterator-_ownedElement.0-_ownedParameter.0">
         <ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="ETreeIterator-_ownedElement.0-_ownedParameter.0" parameteredElement="ETreeIterator-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement">
           <ownedParameteredElement xmi:type="uml:Class" xmi:id="ETreeIterator-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement" name="E" templateParameter="ETreeIterator-_ownedElement.0-_ownedParameter.0"/>
         </ownedParameter>
       </ownedTemplateSignature>
     </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EInvocationTargetException" name="EInvocationTargetException" visibility="private"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="EInvocationTargetException" name="EInvocationTargetException"/>
     <profileApplication xmi:id="_profileApplication.0">
       <eAnnotations xmi:id="_profileApplication.0-_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
@@ -988,32 +988,32 @@
   <Ecore:EDataType xmi:id="_uvy4e8YcEduPJbEsMYXjUQ" instanceClassName="java.lang.String" base_PrimitiveType="EString"/>
   <Ecore:EDataType xmi:id="_uvy4fMYcEduPJbEsMYXjUQ" instanceClassName="org.eclipse.emf.common.util.TreeIterator" base_PrimitiveType="ETreeIterator"/>
   <Ecore:EDataType xmi:id="_usvVwN7TEd6R9YfsTdOlYA" instanceClassName="java.lang.reflect.InvocationTargetException" base_PrimitiveType="EInvocationTargetException"/>
-  <l3:Metamodel xmi:id="_08Hk4MMEEeCcwLvOz-Esrg" base_Model="_0"/>
-  <l2:Metaclass xmi:id="_08NEcMMEEeCcwLvOz-Esrg" base_Class="EAnnotation"/>
-  <l2:Metaclass xmi:id="_08NrgMMEEeCcwLvOz-Esrg" base_Class="EAttribute"/>
-  <l2:Metaclass xmi:id="_08OSkMMEEeCcwLvOz-Esrg" base_Class="EClass"/>
-  <l2:Metaclass xmi:id="_08QHwMMEEeCcwLvOz-Esrg" base_Class="EClassifier"/>
-  <l2:Metaclass xmi:id="_08Qu0MMEEeCcwLvOz-Esrg" base_Class="EClassifier-Wildcard"/>
-  <l2:Metaclass xmi:id="_08RV4MMEEeCcwLvOz-Esrg" base_Class="EDataType"/>
-  <l2:Metaclass xmi:id="_08RV4cMEEeCcwLvOz-Esrg" base_Class="EEnum"/>
-  <l2:Metaclass xmi:id="_08SkAMMEEeCcwLvOz-Esrg" base_Class="EEnumLiteral"/>
-  <l2:Metaclass xmi:id="_08SkAcMEEeCcwLvOz-Esrg" base_Class="EFactory"/>
-  <l2:Metaclass xmi:id="_08TLEMMEEeCcwLvOz-Esrg" base_Class="EGenericType"/>
-  <l2:Metaclass xmi:id="_08TyIMMEEeCcwLvOz-Esrg" base_Class="EModelElement"/>
-  <l2:Metaclass xmi:id="_08UZMMMEEeCcwLvOz-Esrg" base_Class="ENamedElement"/>
-  <l2:Metaclass xmi:id="_08VAQMMEEeCcwLvOz-Esrg" base_Class="EObject"/>
-  <l2:Metaclass xmi:id="_08W1cMMEEeCcwLvOz-Esrg" base_Class="EOperation"/>
-  <l2:Metaclass xmi:id="_08YDkMMEEeCcwLvOz-Esrg" base_Class="EPackage"/>
-  <l2:Metaclass xmi:id="_08YqoMMEEeCcwLvOz-Esrg" base_Class="EParameter"/>
-  <l2:Metaclass xmi:id="_08YqocMEEeCcwLvOz-Esrg" base_Class="EReference"/>
-  <l2:Metaclass xmi:id="_08ZRsMMEEeCcwLvOz-Esrg" base_Class="EStringToStringMapEntry"/>
-  <l2:Metaclass xmi:id="_08Z4wMMEEeCcwLvOz-Esrg" base_Class="EStructuralFeature"/>
-  <l2:Metaclass xmi:id="_08af0MMEEeCcwLvOz-Esrg" base_Class="EStructuralFeature-Wildcard"/>
-  <l2:Metaclass xmi:id="_08bG4MMEEeCcwLvOz-Esrg" base_Class="ETypedElement"/>
-  <l2:Metaclass xmi:id="_08bt8MMEEeCcwLvOz-Esrg" base_Class="ETypeParameter"/>
-  <l2:Metaclass xmi:id="_08fYUMMEEeCcwLvOz-Esrg" base_Class="EEList-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement"/>
-  <l2:Metaclass xmi:id="_08gmcMMEEeCcwLvOz-Esrg" base_Class="EJavaClass-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement"/>
-  <l2:Metaclass xmi:id="_08hNgMMEEeCcwLvOz-Esrg" base_Class="EMap-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement"/>
-  <l2:Metaclass xmi:id="_08h0kMMEEeCcwLvOz-Esrg" base_Class="EMap-_ownedElement.0-_ownedParameter.1-_ownedParameteredElement"/>
-  <l2:Metaclass xmi:id="_08iboMMEEeCcwLvOz-Esrg" base_Class="ETreeIterator-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement"/>
+  <l3:Metamodel xmi:id="_QzhTgKtKEeGF4uwJob34Mw" base_Model="_0"/>
+  <l2:Metaclass xmi:id="_QzoBMKtKEeGF4uwJob34Mw" base_Class="EAnnotation"/>
+  <l2:Metaclass xmi:id="_QzooQKtKEeGF4uwJob34Mw" base_Class="EAttribute"/>
+  <l2:Metaclass xmi:id="_QzpPUKtKEeGF4uwJob34Mw" base_Class="EClass"/>
+  <l2:Metaclass xmi:id="_QzrrkKtKEeGF4uwJob34Mw" base_Class="EClassifier"/>
+  <l2:Metaclass xmi:id="_Qzs5sKtKEeGF4uwJob34Mw" base_Class="EClassifier-Wildcard"/>
+  <l2:Metaclass xmi:id="_QztgwKtKEeGF4uwJob34Mw" base_Class="EDataType"/>
+  <l2:Metaclass xmi:id="_QztgwatKEeGF4uwJob34Mw" base_Class="EEnum"/>
+  <l2:Metaclass xmi:id="_QzuH0KtKEeGF4uwJob34Mw" base_Class="EEnumLiteral"/>
+  <l2:Metaclass xmi:id="_Qzuu4KtKEeGF4uwJob34Mw" base_Class="EFactory"/>
+  <l2:Metaclass xmi:id="_QzvV8KtKEeGF4uwJob34Mw" base_Class="EGenericType"/>
+  <l2:Metaclass xmi:id="_Qzv9AKtKEeGF4uwJob34Mw" base_Class="EModelElement"/>
+  <l2:Metaclass xmi:id="_QzwkEKtKEeGF4uwJob34Mw" base_Class="ENamedElement"/>
+  <l2:Metaclass xmi:id="_QzwkEatKEeGF4uwJob34Mw" base_Class="EObject"/>
+  <l2:Metaclass xmi:id="_QzzAUKtKEeGF4uwJob34Mw" base_Class="EOperation"/>
+  <l2:Metaclass xmi:id="_QzznYKtKEeGF4uwJob34Mw" base_Class="EPackage"/>
+  <l2:Metaclass xmi:id="_Qz0OcKtKEeGF4uwJob34Mw" base_Class="EParameter"/>
+  <l2:Metaclass xmi:id="_Qz01gKtKEeGF4uwJob34Mw" base_Class="EReference"/>
+  <l2:Metaclass xmi:id="_Qz1ckKtKEeGF4uwJob34Mw" base_Class="EStringToStringMapEntry"/>
+  <l2:Metaclass xmi:id="_Qz1ckatKEeGF4uwJob34Mw" base_Class="EStructuralFeature"/>
+  <l2:Metaclass xmi:id="_Qz2DoKtKEeGF4uwJob34Mw" base_Class="EStructuralFeature-Wildcard"/>
+  <l2:Metaclass xmi:id="_Qz2qsKtKEeGF4uwJob34Mw" base_Class="ETypedElement"/>
+  <l2:Metaclass xmi:id="_Qz340KtKEeGF4uwJob34Mw" base_Class="ETypeParameter"/>
+  <l2:Metaclass xmi:id="_Qz7jMKtKEeGF4uwJob34Mw" base_Class="EEList-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement"/>
+  <l2:Metaclass xmi:id="_Qz9_cKtKEeGF4uwJob34Mw" base_Class="EJavaClass-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement"/>
+  <l2:Metaclass xmi:id="_Qz_0oKtKEeGF4uwJob34Mw" base_Class="EMap-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement"/>
+  <l2:Metaclass xmi:id="_Q0AbsKtKEeGF4uwJob34Mw" base_Class="EMap-_ownedElement.0-_ownedParameter.1-_ownedParameteredElement"/>
+  <l2:Metaclass xmi:id="_Q0CQ4KtKEeGF4uwJob34Mw" base_Class="ETreeIterator-_ownedElement.0-_ownedParameter.0-_ownedParameteredElement"/>
 </xmi:XMI>
diff --git a/plugins/org.eclipse.uml2.uml.resources/metamodels/UML.metamodel.properties b/plugins/org.eclipse.uml2.uml.resources/metamodels/UML.metamodel.properties
index a3101f5..de8913f 100644
--- a/plugins/org.eclipse.uml2.uml.resources/metamodels/UML.metamodel.properties
+++ b/plugins/org.eclipse.uml2.uml.resources/metamodels/UML.metamodel.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2006, 2011 IBM Corporation, Embarcadero Technologies, CEA, and others.
+# Copyright (c) 2006, 2012 IBM Corporation, Embarcadero Technologies, CEA, and others.
 # All rights reserved.   This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -7,7 +7,7 @@
 # Contributors: 
 #   IBM - initial API and implementation
 #   Kenn Hussey (Embarcadero Technologies) - 205188, 226397
-#   Kenn Hussey (CEA) - 327039, 351774
+#   Kenn Hussey (CEA) - 327039, 351774, 381237
 #
 
 # NLS_MESSAGEFORMAT_VAR
@@ -34,6 +34,8 @@
 _label_UML__ActionInputPin = Action Input Pin
 _label_UML__ActionInputPin__fromAction = From Action
 _label_UML__Activity = Activity
+_label_UML__Activity__ownedGroup = Owned Group
+_label_UML__Activity__ownedNode = Owned Node
 _label_UML__Activity__edge = Edge
 _label_UML__Activity__group = Group
 _label_UML__Activity__isReadOnly = Is Read Only
@@ -93,12 +95,23 @@
 _label_UML__Artifact__nestedArtifact = Nested Artifact
 _label_UML__Artifact__ownedAttribute = Owned Attribute
 _label_UML__Artifact__ownedOperation = Owned Operation
+_label_UML__Artifact__createOwnedAttribute = Create Owned Attribute
+_label_UML__Artifact__createOwnedAttribute__name = Name
+_label_UML__Artifact__createOwnedAttribute__type = Type
+_label_UML__Artifact__createOwnedAttribute__lower = Lower
+_label_UML__Artifact__createOwnedAttribute__upper = Upper
+_label_UML__Artifact__createOwnedOperation = Create Owned Operation
+_label_UML__Artifact__createOwnedOperation__name = Name
+_label_UML__Artifact__createOwnedOperation__parameterNames = Parameter Names
+_label_UML__Artifact__createOwnedOperation__parameterTypes = Parameter Types
+_label_UML__Artifact__createOwnedOperation__returnType = Return Type
 _label_UML__Association = Association
 _label_UML__Association__endType = End Type
 _label_UML__Association__isDerived = Is Derived
 _label_UML__Association__memberEnd = Member End
 _label_UML__Association__navigableOwnedEnd = Navigable Owned End
 _label_UML__Association__ownedEnd = Owned End
+_label_UML__Association__isBinary = Is Binary
 _label_UML__Association__endType__result = Result
 _label_UML__AssociationClass = Association Class
 _label_UML__Behavior = Behavior
@@ -120,6 +133,9 @@
 _label_UML__BehavioralFeature__ownedParameter = Owned Parameter
 _label_UML__BehavioralFeature__ownedParameterSet = Owned Parameter Set
 _label_UML__BehavioralFeature__raisedException = Raised Exception
+_label_UML__BehavioralFeature__createReturnResult = Create Return Result
+_label_UML__BehavioralFeature__createReturnResult__name = Name
+_label_UML__BehavioralFeature__createReturnResult__type = Type
 _label_UML__BehavioralFeature__isDistinguishableFrom = Is Distinguishable From
 _label_UML__BehavioralFeature__isDistinguishableFrom__result = Result
 _label_UML__BehavioralFeature__isDistinguishableFrom__n = N
@@ -128,6 +144,8 @@
 _label_UML__BehavioredClassifier__classifierBehavior = Classifier Behavior
 _label_UML__BehavioredClassifier__interfaceRealization = Interface Realization
 _label_UML__BehavioredClassifier__ownedBehavior = Owned Behavior
+_label_UML__BehavioredClassifier__getAllImplementedInterfaces = Get All Implemented Interfaces
+_label_UML__BehavioredClassifier__getImplementedInterfaces = Get Implemented Interfaces
 _label_UML__BroadcastSignalAction = Broadcast Signal Action
 _label_UML__BroadcastSignalAction__signal = Signal
 _label_UML__CallAction = Call Action
@@ -152,6 +170,12 @@
 _label_UML__Class__ownedOperation = Owned Operation
 _label_UML__Class__ownedReception = Owned Reception
 _label_UML__Class__superClass = Super Class
+_label_UML__Class__createOwnedOperation = Create Owned Operation
+_label_UML__Class__createOwnedOperation__name = Name
+_label_UML__Class__createOwnedOperation__parameterNames = Parameter Names
+_label_UML__Class__createOwnedOperation__parameterTypes = Parameter Types
+_label_UML__Class__createOwnedOperation__returnType = Return Type
+_label_UML__Class__isMetaclass = Is Metaclass
 _label_UML__Class__extension__result = Result
 _label_UML__Class__inherit = Inherit
 _label_UML__Class__inherit__result = Result
@@ -174,6 +198,16 @@
 _label_UML__Classifier__substitution = Substitution
 _label_UML__Classifier__templateParameter = Template Parameter
 _label_UML__Classifier__useCase = Use Case
+_label_UML__Classifier__getAllAttributes = Get All Attributes
+_label_UML__Classifier__getAllOperations = Get All Operations
+_label_UML__Classifier__getAllUsedInterfaces = Get All Used Interfaces
+_label_UML__Classifier__getOperation = Get Operation
+_label_UML__Classifier__getOperation__name = Name
+_label_UML__Classifier__getOperation__parameterNames = Parameter Names
+_label_UML__Classifier__getOperation__parameterTypes = Parameter Types
+_label_UML__Classifier__getOperation__ignoreCase = Ignore Case
+_label_UML__Classifier__getOperations = Get Operations
+_label_UML__Classifier__getUsedInterfaces = Get Used Interfaces
 _label_UML__Classifier__allFeatures = All Features
 _label_UML__Classifier__allFeatures__result = Result
 _label_UML__Classifier__allParents = All Parents
@@ -235,6 +269,15 @@
 _label_UML__Component__provided = Provided
 _label_UML__Component__realization = Realization
 _label_UML__Component__required = Required
+_label_UML__Component__createOwnedClass = Create Owned Class
+_label_UML__Component__createOwnedClass__name = Name
+_label_UML__Component__createOwnedClass__isAbstract = Is Abstract
+_label_UML__Component__createOwnedEnumeration = Create Owned Enumeration
+_label_UML__Component__createOwnedEnumeration__name = Name
+_label_UML__Component__createOwnedInterface = Create Owned Interface
+_label_UML__Component__createOwnedInterface__name = Name
+_label_UML__Component__createOwnedPrimitiveType = Create Owned Primitive Type
+_label_UML__Component__createOwnedPrimitiveType__name = Name
 _label_UML__Component__provided__result = Result
 _label_UML__Component__realizedInterfaces = Realized Interfaces
 _label_UML__Component__realizedInterfaces__result = Result
@@ -294,6 +337,16 @@
 _label_UML__DataType = Data Type
 _label_UML__DataType__ownedAttribute = Owned Attribute
 _label_UML__DataType__ownedOperation = Owned Operation
+_label_UML__DataType__createOwnedAttribute = Create Owned Attribute
+_label_UML__DataType__createOwnedAttribute__name = Name
+_label_UML__DataType__createOwnedAttribute__type = Type
+_label_UML__DataType__createOwnedAttribute__lower = Lower
+_label_UML__DataType__createOwnedAttribute__upper = Upper
+_label_UML__DataType__createOwnedOperation = Create Owned Operation
+_label_UML__DataType__createOwnedOperation__name = Name
+_label_UML__DataType__createOwnedOperation__parameterNames = Parameter Names
+_label_UML__DataType__createOwnedOperation__parameterTypes = Parameter Types
+_label_UML__DataType__createOwnedOperation__returnType = Return Type
 _label_UML__DataType__inherit = Inherit
 _label_UML__DataType__inherit__result = Result
 _label_UML__DataType__inherit__inhs = Inhs
@@ -330,6 +383,7 @@
 _label_UML__Duration = Duration
 _label_UML__Duration__expr = Expr
 _label_UML__Duration__observation = Observation
+_label_UML__Duration__stringValue = String Value
 _label_UML__DurationConstraint = Duration Constraint
 _label_UML__DurationConstraint__firstEvent = First Event
 _label_UML__DurationConstraint__specification = Specification
@@ -343,6 +397,61 @@
 _label_UML__Element__ownedComment = Owned Comment
 _label_UML__Element__ownedElement = Owned Element
 _label_UML__Element__owner = Owner
+_label_UML__Element__addKeyword = Add Keyword
+_label_UML__Element__addKeyword__keyword = Keyword
+_label_UML__Element__applyStereotype = Apply Stereotype
+_label_UML__Element__applyStereotype__stereotype = Stereotype
+_label_UML__Element__createEAnnotation = Create EAnnotation
+_label_UML__Element__createEAnnotation__source = Source
+_label_UML__Element__destroy = Destroy
+_label_UML__Element__getKeywords = Get Keywords
+_label_UML__Element__getApplicableStereotype = Get Applicable Stereotype
+_label_UML__Element__getApplicableStereotype__qualifiedName = Qualified Name
+_label_UML__Element__getApplicableStereotypes = Get Applicable Stereotypes
+_label_UML__Element__getAppliedStereotype = Get Applied Stereotype
+_label_UML__Element__getAppliedStereotype__qualifiedName = Qualified Name
+_label_UML__Element__getAppliedStereotypes = Get Applied Stereotypes
+_label_UML__Element__getAppliedSubstereotype = Get Applied Substereotype
+_label_UML__Element__getAppliedSubstereotype__stereotype = Stereotype
+_label_UML__Element__getAppliedSubstereotype__qualifiedName = Qualified Name
+_label_UML__Element__getAppliedSubstereotypes = Get Applied Substereotypes
+_label_UML__Element__getAppliedSubstereotypes__stereotype = Stereotype
+_label_UML__Element__getModel = Get Model
+_label_UML__Element__getNearestPackage = Get Nearest Package
+_label_UML__Element__getRelationships = Get Relationships
+_label_UML__Element__getRelationships__eClass = Ecore Class
+_label_UML__Element__getRequiredStereotype = Get Required Stereotype
+_label_UML__Element__getRequiredStereotype__qualifiedName = Qualified Name
+_label_UML__Element__getRequiredStereotypes = Get Required Stereotypes
+_label_UML__Element__getSourceDirectedRelationships = Get Source Directed Relationships
+_label_UML__Element__getSourceDirectedRelationships__eClass = Ecore Class
+_label_UML__Element__getStereotypeApplication = Get Stereotype Application
+_label_UML__Element__getStereotypeApplication__stereotype = Stereotype
+_label_UML__Element__getStereotypeApplications = Get Stereotype Applications
+_label_UML__Element__getTargetDirectedRelationships = Get Target Directed Relationships
+_label_UML__Element__getTargetDirectedRelationships__eClass = Ecore Class
+_label_UML__Element__getValue = Get Value
+_label_UML__Element__getValue__stereotype = Stereotype
+_label_UML__Element__getValue__propertyName = Property Name
+_label_UML__Element__hasKeyword = Has Keyword
+_label_UML__Element__hasKeyword__keyword = Keyword
+_label_UML__Element__hasValue = Has Value
+_label_UML__Element__hasValue__stereotype = Stereotype
+_label_UML__Element__hasValue__propertyName = Property Name
+_label_UML__Element__isStereotypeApplicable = Is Stereotype Applicable
+_label_UML__Element__isStereotypeApplicable__stereotype = Stereotype
+_label_UML__Element__isStereotypeApplied = Is Stereotype Applied
+_label_UML__Element__isStereotypeApplied__stereotype = Stereotype
+_label_UML__Element__isStereotypeRequired = Is Stereotype Required
+_label_UML__Element__isStereotypeRequired__stereotype = Stereotype
+_label_UML__Element__removeKeyword = Remove Keyword
+_label_UML__Element__removeKeyword__keyword = Keyword
+_label_UML__Element__setValue = Set Value
+_label_UML__Element__setValue__stereotype = Stereotype
+_label_UML__Element__setValue__propertyName = Property Name
+_label_UML__Element__setValue__newValue = New Value
+_label_UML__Element__unapplyStereotype = Unapply Stereotype
+_label_UML__Element__unapplyStereotype__stereotype = Stereotype
 _label_UML__Element__allOwnedElements = All Owned Elements
 _label_UML__Element__allOwnedElements__result = Result
 _label_UML__Element__mustBeOwned = Must Be Owned
@@ -362,6 +471,7 @@
 _label_UML__EnumerationLiteral = Enumeration Literal
 _label_UML__EnumerationLiteral__classifier = Classifier
 _label_UML__EnumerationLiteral__enumeration = Enumeration
+_label_UML__EnumerationLiteral__getClassifiers = Get Classifiers
 _label_UML__EnumerationLiteral__classifier__result = Result
 _label_UML__Event = Event
 _label_UML__ExceptionHandler = Exception Handler
@@ -396,6 +506,8 @@
 _label_UML__Extension__isRequired = Is Required
 _label_UML__Extension__metaclass = Metaclass
 _label_UML__Extension__ownedEnd = Owned End
+_label_UML__Extension__getStereotype = Get Stereotype
+_label_UML__Extension__getStereotypeEnd = Get Stereotype End
 _label_UML__Extension__isRequired__result = Result
 _label_UML__Extension__metaclass__result = Result
 _label_UML__Extension__metaclassEnd = Metaclass End
@@ -403,6 +515,9 @@
 _label_UML__ExtensionEnd = Extension End
 _label_UML__ExtensionEnd__lower = Lower
 _label_UML__ExtensionEnd__type = Type
+_label_UML__ExtensionEnd__getLower = Get Lower
+_label_UML__ExtensionEnd__setLower = Set Lower
+_label_UML__ExtensionEnd__setLower__newLower = New Lower
 _label_UML__ExtensionEnd__lowerBound = Lower Bound
 _label_UML__ExtensionEnd__lowerBound__result = Result
 _label_UML__ExtensionPoint = Extension Point
@@ -454,6 +569,7 @@
 _label_UML__InstanceSpecification__specification = Specification
 _label_UML__InstanceValue = Instance Value
 _label_UML__InstanceValue__instance = Instance
+_label_UML__InstanceValue__stringValue = String Value
 _label_UML__Interaction = Interaction
 _label_UML__Interaction__action = Action
 _label_UML__Interaction__formalGate = Formal Gate
@@ -484,6 +600,16 @@
 _label_UML__Interface__ownedReception = Owned Reception
 _label_UML__Interface__protocol = Protocol
 _label_UML__Interface__redefinedInterface = Redefined Interface
+_label_UML__Interface__createOwnedAttribute = Create Owned Attribute
+_label_UML__Interface__createOwnedAttribute__name = Name
+_label_UML__Interface__createOwnedAttribute__type = Type
+_label_UML__Interface__createOwnedAttribute__lower = Lower
+_label_UML__Interface__createOwnedAttribute__upper = Upper
+_label_UML__Interface__createOwnedOperation = Create Owned Operation
+_label_UML__Interface__createOwnedOperation__name = Name
+_label_UML__Interface__createOwnedOperation__parameterNames = Parameter Names
+_label_UML__Interface__createOwnedOperation__parameterTypes = Parameter Types
+_label_UML__Interface__createOwnedOperation__returnType = Return Type
 _label_UML__InterfaceRealization = Interface Realization
 _label_UML__InterfaceRealization__contract = Contract
 _label_UML__InterfaceRealization__implementingClassifier = Implementing Classifier
@@ -524,12 +650,14 @@
 _label_UML__LinkEndDestructionData__isDestroyDuplicates = Is Destroy Duplicates
 _label_UML__LiteralBoolean = Literal Boolean
 _label_UML__LiteralBoolean__value = Value
+_label_UML__LiteralBoolean__stringValue = String Value
 _label_UML__LiteralBoolean__booleanValue = Boolean Value
 _label_UML__LiteralBoolean__booleanValue__result = Result
 _label_UML__LiteralBoolean__isComputable = Is Computable
 _label_UML__LiteralBoolean__isComputable__result = Result
 _label_UML__LiteralInteger = Literal Integer
 _label_UML__LiteralInteger__value = Value
+_label_UML__LiteralInteger__stringValue = String Value
 _label_UML__LiteralInteger__integerValue = Integer Value
 _label_UML__LiteralInteger__integerValue__result = Result
 _label_UML__LiteralInteger__isComputable = Is Computable
@@ -541,6 +669,7 @@
 _label_UML__LiteralNull__isNull__result = Result
 _label_UML__LiteralReal = Literal Real
 _label_UML__LiteralReal__value = Value
+_label_UML__LiteralReal__stringValue = String Value
 _label_UML__LiteralReal__isComputable = Is Computable
 _label_UML__LiteralReal__isComputable__result = Result
 _label_UML__LiteralReal__realValue = Real Value
@@ -548,12 +677,15 @@
 _label_UML__LiteralSpecification = Literal Specification
 _label_UML__LiteralString = Literal String
 _label_UML__LiteralString__value = Value
+_label_UML__LiteralString__integerValue = Integer Value
+_label_UML__LiteralString__unlimitedValue = Unlimited Value
 _label_UML__LiteralString__isComputable = Is Computable
 _label_UML__LiteralString__isComputable__result = Result
 _label_UML__LiteralString__stringValue = String Value
 _label_UML__LiteralString__stringValue__result = Result
 _label_UML__LiteralUnlimitedNatural = Literal Unlimited Natural
 _label_UML__LiteralUnlimitedNatural__value = Value
+_label_UML__LiteralUnlimitedNatural__stringValue = String Value
 _label_UML__LiteralUnlimitedNatural__isComputable = Is Computable
 _label_UML__LiteralUnlimitedNatural__isComputable__result = Result
 _label_UML__LiteralUnlimitedNatural__unlimitedValue = Unlimited Value
@@ -587,6 +719,7 @@
 _label_UML__MessageOccurrenceSpecification = Message Occurrence Specification
 _label_UML__Model = Model
 _label_UML__Model__viewpoint = Viewpoint
+_label_UML__Model__isMetamodel = Is Metamodel
 _label_UML__MultiplicityElement = Multiplicity Element
 _label_UML__MultiplicityElement__isOrdered = Is Ordered
 _label_UML__MultiplicityElement__isUnique = Is Unique
@@ -594,6 +727,10 @@
 _label_UML__MultiplicityElement__lowerValue = Lower Value
 _label_UML__MultiplicityElement__upper = Upper
 _label_UML__MultiplicityElement__upperValue = Upper Value
+_label_UML__MultiplicityElement__setLower = Set Lower
+_label_UML__MultiplicityElement__setLower__newLower = New Lower
+_label_UML__MultiplicityElement__setUpper = Set Upper
+_label_UML__MultiplicityElement__setUpper__newUpper = New Upper
 _label_UML__MultiplicityElement__compatibleWith = Compatible With
 _label_UML__MultiplicityElement__compatibleWith__result = Result
 _label_UML__MultiplicityElement__compatibleWith__other = Other
@@ -622,6 +759,12 @@
 _label_UML__NamedElement__namespace = Namespace
 _label_UML__NamedElement__qualifiedName = Qualified Name
 _label_UML__NamedElement__visibility = Visibility
+_label_UML__NamedElement__createDependency = Create Dependency
+_label_UML__NamedElement__createDependency__supplier = Supplier
+_label_UML__NamedElement__createUsage = Create Usage
+_label_UML__NamedElement__createUsage__supplier = Supplier
+_label_UML__NamedElement__getLabel = Get Label
+_label_UML__NamedElement__getLabel__localize = Localize
 _label_UML__NamedElement__allNamespaces = All Namespaces
 _label_UML__NamedElement__allNamespaces__result = Result
 _label_UML__NamedElement__allOwningPackages = All Owning Packages
@@ -641,6 +784,14 @@
 _label_UML__Namespace__ownedMember = Owned Member
 _label_UML__Namespace__ownedRule = Owned Rule
 _label_UML__Namespace__packageImport = Package Import
+_label_UML__Namespace__createElementImport = Create Element Import
+_label_UML__Namespace__createElementImport__element = Element
+_label_UML__Namespace__createElementImport__visibility = Visibility
+_label_UML__Namespace__createPackageImport = Create Package Import
+_label_UML__Namespace__createPackageImport__package_ = Package 
+_label_UML__Namespace__createPackageImport__visibility = Visibility
+_label_UML__Namespace__getImportedElements = Get Imported Elements
+_label_UML__Namespace__getImportedPackages = Get Imported Packages
 _label_UML__Namespace__excludeCollisions = Exclude Collisions
 _label_UML__Namespace__excludeCollisions__result = Result
 _label_UML__Namespace__excludeCollisions__imps = Imps
@@ -656,6 +807,19 @@
 _label_UML__Namespace__ownedMember__result = Result
 _label_UML__Node = Node
 _label_UML__Node__nestedNode = Nested Node
+_label_UML__Node__createCommunicationPath = Create Communication Path
+_label_UML__Node__createCommunicationPath__end1IsNavigable = End 1 Is Navigable
+_label_UML__Node__createCommunicationPath__end1Aggregation = End 1 Aggregation
+_label_UML__Node__createCommunicationPath__end1Name = End 1 Name
+_label_UML__Node__createCommunicationPath__end1Lower = End 1 Lower
+_label_UML__Node__createCommunicationPath__end1Upper = End 1 Upper
+_label_UML__Node__createCommunicationPath__end1Node = End 1 Node
+_label_UML__Node__createCommunicationPath__end2IsNavigable = End 2 Is Navigable
+_label_UML__Node__createCommunicationPath__end2Aggregation = End 2 Aggregation
+_label_UML__Node__createCommunicationPath__end2Name = End 2 Name
+_label_UML__Node__createCommunicationPath__end2Lower = End 2 Lower
+_label_UML__Node__createCommunicationPath__end2Upper = End 2 Upper
+_label_UML__Node__getCommunicationPaths = Get Communication Paths
 _label_UML__ObjectFlow = Object Flow
 _label_UML__ObjectFlow__isMulticast = Is Multicast
 _label_UML__ObjectFlow__isMultireceive = Is Multireceive
@@ -685,6 +849,7 @@
 _label_UML__OpaqueExpression__body = Body
 _label_UML__OpaqueExpression__language = Language
 _label_UML__OpaqueExpression__result = Result
+_label_UML__OpaqueExpression__stringValue = String Value
 _label_UML__OpaqueExpression__isIntegral = Is Integral
 _label_UML__OpaqueExpression__isIntegral__result = Result
 _label_UML__OpaqueExpression__isNonNegative = Is Non Negative
@@ -711,6 +876,17 @@
 _label_UML__Operation__templateParameter = Template Parameter
 _label_UML__Operation__type = Type
 _label_UML__Operation__upper = Upper
+_label_UML__Operation__getReturnResult = Get Return Result
+_label_UML__Operation__setIsOrdered = Set Is Ordered
+_label_UML__Operation__setIsOrdered__newIsOrdered = New Is Ordered
+_label_UML__Operation__setIsUnique = Set Is Unique
+_label_UML__Operation__setIsUnique__newIsUnique = New Is Unique
+_label_UML__Operation__setLower = Set Lower
+_label_UML__Operation__setLower__newLower = New Lower
+_label_UML__Operation__setType = Set Type
+_label_UML__Operation__setType__newType = New Type
+_label_UML__Operation__setUpper = Set Upper
+_label_UML__Operation__setUpper__newUpper = New Upper
 _label_UML__Operation__isConsistentWith = Is Consistent With
 _label_UML__Operation__isConsistentWith__result = Result
 _label_UML__Operation__isConsistentWith__redefinee = Redefinee
@@ -733,6 +909,34 @@
 _label_UML__Package__packageMerge = Package Merge
 _label_UML__Package__packagedElement = Packaged Element
 _label_UML__Package__profileApplication = Profile Application
+_label_UML__Package__applyProfile = Apply Profile
+_label_UML__Package__applyProfile__profile = Profile
+_label_UML__Package__createOwnedClass = Create Owned Class
+_label_UML__Package__createOwnedClass__name = Name
+_label_UML__Package__createOwnedClass__isAbstract = Is Abstract
+_label_UML__Package__createOwnedEnumeration = Create Owned Enumeration
+_label_UML__Package__createOwnedEnumeration__name = Name
+_label_UML__Package__createOwnedInterface = Create Owned Interface
+_label_UML__Package__createOwnedInterface__name = Name
+_label_UML__Package__createOwnedPrimitiveType = Create Owned Primitive Type
+_label_UML__Package__createOwnedPrimitiveType__name = Name
+_label_UML__Package__createOwnedStereotype = Create Owned Stereotype
+_label_UML__Package__createOwnedStereotype__name = Name
+_label_UML__Package__createOwnedStereotype__isAbstract = Is Abstract
+_label_UML__Package__getAllAppliedProfiles = Get All Applied Profiles
+_label_UML__Package__getAllProfileApplications = Get All Profile Applications
+_label_UML__Package__getAppliedProfile = Get Applied Profile
+_label_UML__Package__getAppliedProfile__qualifiedName = Qualified Name
+_label_UML__Package__getAppliedProfile__recurse = Recurse
+_label_UML__Package__getAppliedProfiles = Get Applied Profiles
+_label_UML__Package__getProfileApplication = Get Profile Application
+_label_UML__Package__getProfileApplication__profile = Profile
+_label_UML__Package__getProfileApplication__recurse = Recurse
+_label_UML__Package__isModelLibrary = Is Model Library
+_label_UML__Package__isProfileApplied = Is Profile Applied
+_label_UML__Package__isProfileApplied__profile = Profile
+_label_UML__Package__unapplyProfile = Unapply Profile
+_label_UML__Package__unapplyProfile__profile = Profile
 _label_UML__Package__allApplicableStereotypes = All Applicable Stereotypes
 _label_UML__Package__allApplicableStereotypes__result = Result
 _label_UML__Package__containingProfile = Containing Profile
@@ -765,6 +969,21 @@
 _label_UML__Parameter__isStream = Is Stream
 _label_UML__Parameter__operation = Operation
 _label_UML__Parameter__parameterSet = Parameter Set
+_label_UML__Parameter__isSetDefault = Is Set Default
+_label_UML__Parameter__setBooleanDefaultValue = Set Boolean Default Value
+_label_UML__Parameter__setBooleanDefaultValue__value = Value
+_label_UML__Parameter__setDefault = Set Default
+_label_UML__Parameter__setDefault__newDefault = New Default
+_label_UML__Parameter__setIntegerDefaultValue = Set Integer Default Value
+_label_UML__Parameter__setIntegerDefaultValue__value = Value
+_label_UML__Parameter__setNullDefaultValue = Set Null Default Value
+_label_UML__Parameter__setRealDefaultValue = Set Real Default Value
+_label_UML__Parameter__setRealDefaultValue__value = Value
+_label_UML__Parameter__setStringDefaultValue = Set String Default Value
+_label_UML__Parameter__setStringDefaultValue__value = Value
+_label_UML__Parameter__setUnlimitedNaturalDefaultValue = Set Unlimited Natural Default Value
+_label_UML__Parameter__setUnlimitedNaturalDefaultValue__value = Value
+_label_UML__Parameter__unsetDefault = Unset Default
 _label_UML__Parameter__default__result = Result
 _label_UML__ParameterSet = Parameter Set
 _label_UML__ParameterSet__condition = Condition
@@ -794,10 +1013,27 @@
 _label_UML__Profile = Profile
 _label_UML__Profile__metaclassReference = Metaclass Reference
 _label_UML__Profile__metamodelReference = Metamodel Reference
+_label_UML__Profile__create = Create
+_label_UML__Profile__create__classifier = Classifier
+_label_UML__Profile__define = Define
+_label_UML__Profile__define__options = Options
+_label_UML__Profile__define__diagnostics = Diagnostics
+_label_UML__Profile__define__context = Context
+_label_UML__Profile__getDefinition = Get Definition
+_label_UML__Profile__getDefinition__namedElement = Named Element
+_label_UML__Profile__getOwnedExtensions = Get Owned Extensions
+_label_UML__Profile__getOwnedExtensions__requiredOnly = Required Only
+_label_UML__Profile__getReferencedMetaclasses = Get Referenced Metaclasses
+_label_UML__Profile__getReferencedMetamodels = Get Referenced Metamodels
+_label_UML__Profile__isDefined = Is Defined
+_label_UML__Profile__EMap_EJavaObject_EJavaObject = Java Object to Java Object Ecore Map
+_label_UML__Profile__EMap_EString_EString = String to String Ecore Map
 _label_UML__ProfileApplication = Profile Application
 _label_UML__ProfileApplication__appliedProfile = Applied Profile
 _label_UML__ProfileApplication__applyingPackage = Applying Package
 _label_UML__ProfileApplication__isStrict = Is Strict
+_label_UML__ProfileApplication__getAppliedDefinition = Get Applied Definition
+_label_UML__ProfileApplication__getAppliedDefinition__namedElement = Named Element
 _label_UML__Property = Property
 _label_UML__Property__aggregation = Aggregation
 _label_UML__Property__association = Association
@@ -817,6 +1053,28 @@
 _label_UML__Property__qualifier = Qualifier
 _label_UML__Property__redefinedProperty = Redefined Property
 _label_UML__Property__subsettedProperty = Subsetted Property
+_label_UML__Property__getOtherEnd = Get Other End
+_label_UML__Property__isSetDefault = Is Set Default
+_label_UML__Property__setBooleanDefaultValue = Set Boolean Default Value
+_label_UML__Property__setBooleanDefaultValue__value = Value
+_label_UML__Property__setDefault = Set Default
+_label_UML__Property__setDefault__newDefault = New Default
+_label_UML__Property__setIntegerDefaultValue = Set Integer Default Value
+_label_UML__Property__setIntegerDefaultValue__value = Value
+_label_UML__Property__setIsComposite = Set Is Composite
+_label_UML__Property__setIsComposite__newIsComposite = New Is Composite
+_label_UML__Property__setIsNavigable = Set Is Navigable
+_label_UML__Property__setIsNavigable__isNavigable = Is Navigable
+_label_UML__Property__setNullDefaultValue = Set Null Default Value
+_label_UML__Property__setOpposite = Set Opposite
+_label_UML__Property__setOpposite__newOpposite = New Opposite
+_label_UML__Property__setRealDefaultValue = Set Real Default Value
+_label_UML__Property__setRealDefaultValue__value = Value
+_label_UML__Property__setStringDefaultValue = Set String Default Value
+_label_UML__Property__setStringDefaultValue__value = Value
+_label_UML__Property__setUnlimitedNaturalDefaultValue = Set Unlimited Natural Default Value
+_label_UML__Property__setUnlimitedNaturalDefaultValue__value = Value
+_label_UML__Property__unsetDefault = Unset Default
 _label_UML__Property__default__result = Result
 _label_UML__Property__isAttribute = Is Attribute
 _label_UML__Property__isAttribute__result = Result
@@ -947,6 +1205,11 @@
 _label_UML__SequenceNode__executableNode = Executable Node
 _label_UML__Signal = Signal
 _label_UML__Signal__ownedAttribute = Owned Attribute
+_label_UML__Signal__createOwnedAttribute = Create Owned Attribute
+_label_UML__Signal__createOwnedAttribute__name = Name
+_label_UML__Signal__createOwnedAttribute__type = Type
+_label_UML__Signal__createOwnedAttribute__lower = Lower
+_label_UML__Signal__createOwnedAttribute__upper = Upper
 _label_UML__SignalEvent = Signal Event
 _label_UML__SignalEvent__signal = Signal
 _label_UML__Slot = Slot
@@ -1011,6 +1274,18 @@
 _label_UML__Stereotype = Stereotype
 _label_UML__Stereotype__icon = Icon
 _label_UML__Stereotype__profile = Profile
+_label_UML__Stereotype__createExtension = Create Extension
+_label_UML__Stereotype__createExtension__metaclass = Metaclass
+_label_UML__Stereotype__createExtension__isRequired = Is Required
+_label_UML__Stereotype__createIcon = Create Icon
+_label_UML__Stereotype__createIcon__location = Location
+_label_UML__Stereotype__createIcon__format = Format
+_label_UML__Stereotype__createIcon__content = Content
+_label_UML__Stereotype__getAllExtendedMetaclasses = Get All Extended Metaclasses
+_label_UML__Stereotype__getDefinition = Get Definition
+_label_UML__Stereotype__getExtendedMetaclasses = Get Extended Metaclasses
+_label_UML__Stereotype__getKeyword = Get Keyword
+_label_UML__Stereotype__getKeyword__localize = Localize
 _label_UML__Stereotype__containingProfile = Containing Profile
 _label_UML__Stereotype__containingProfile__result = Result
 _label_UML__Stereotype__profile__result = Result
@@ -1037,6 +1312,11 @@
 _label_UML__StructuredClassifier__ownedConnector = Owned Connector
 _label_UML__StructuredClassifier__part = Part
 _label_UML__StructuredClassifier__role = Role
+_label_UML__StructuredClassifier__createOwnedAttribute = Create Owned Attribute
+_label_UML__StructuredClassifier__createOwnedAttribute__name = Name
+_label_UML__StructuredClassifier__createOwnedAttribute__type = Type
+_label_UML__StructuredClassifier__createOwnedAttribute__lower = Lower
+_label_UML__StructuredClassifier__createOwnedAttribute__upper = Upper
 _label_UML__StructuredClassifier__part__result = Result
 _label_UML__Substitution = Substitution
 _label_UML__Substitution__contract = Contract
@@ -1080,6 +1360,7 @@
 _label_UML__TimeExpression = Time Expression
 _label_UML__TimeExpression__expr = Expr
 _label_UML__TimeExpression__observation = Observation
+_label_UML__TimeExpression__stringValue = String Value
 _label_UML__TimeInterval = Time Interval
 _label_UML__TimeInterval__max = Max
 _label_UML__TimeInterval__min = Min
@@ -1107,6 +1388,19 @@
 _label_UML__Trigger__port = Port
 _label_UML__Type = Type
 _label_UML__Type__package = Package
+_label_UML__Type__createAssociation = Create Association
+_label_UML__Type__createAssociation__end1IsNavigable = End 1 Is Navigable
+_label_UML__Type__createAssociation__end1Aggregation = End 1 Aggregation
+_label_UML__Type__createAssociation__end1Name = End 1 Name
+_label_UML__Type__createAssociation__end1Lower = End 1 Lower
+_label_UML__Type__createAssociation__end1Upper = End 1 Upper
+_label_UML__Type__createAssociation__end1Type = End 1 Type
+_label_UML__Type__createAssociation__end2IsNavigable = End 2 Is Navigable
+_label_UML__Type__createAssociation__end2Aggregation = End 2 Aggregation
+_label_UML__Type__createAssociation__end2Name = End 2 Name
+_label_UML__Type__createAssociation__end2Lower = End 2 Lower
+_label_UML__Type__createAssociation__end2Upper = End 2 Upper
+_label_UML__Type__getAssociations = Get Associations
 _label_UML__Type__conformsTo = Conforms To
 _label_UML__Type__conformsTo__result = Result
 _label_UML__Type__conformsTo__other = Other
diff --git a/plugins/org.eclipse.uml2.uml.resources/metamodels/UML.metamodel.uml b/plugins/org.eclipse.uml2.uml.resources/metamodels/UML.metamodel.uml
index b6549fe..dafc058 100644
--- a/plugins/org.eclipse.uml2.uml.resources/metamodels/UML.metamodel.uml
+++ b/plugins/org.eclipse.uml2.uml.resources/metamodels/UML.metamodel.uml
@@ -2,6 +2,9 @@
 <xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:l2="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2" xmlns:l3="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L3" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
   <uml:Model xmi:id="_0" name="UML" URI="http://www.omg.org/spec/UML/20110701">
     <packageImport xmi:id="_packageImport.0">
+      <importedPackage xmi:type="uml:Model" href="Ecore.metamodel.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:id="_packageImport.1">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
     <packagedElement xmi:type="uml:Association" xmi:id="A_action_actionExecutionSpecification" name="A_action_actionExecutionSpecification" visibility="private" memberEnd="ActionExecutionSpecification-action A_action_actionExecutionSpecification-actionExecutionSpecification">
@@ -391,7 +394,12 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_end_readLinkObjectEndAction-readLinkObjectEndAction-_lowerValue"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="A_end_role" name="A_end_role" visibility="private" memberEnd="ConnectableElement-end ConnectorEnd-role"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="A_end_role" name="A_end_role" visibility="private" memberEnd="ConnectableElement-end ConnectorEnd-role A_end_role-end">
+      <ownedEnd xmi:id="A_end_role-end" name="end" visibility="private" type="ConnectorEnd" association="A_end_role">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_end_role-end-_lowerValue"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_end_role-end-_upperValue" value="*"/>
+      </ownedEnd>
+    </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="A_entry_connectionPointReference" name="A_entry_connectionPointReference" visibility="private" memberEnd="ConnectionPointReference-entry A_entry_connectionPointReference-connectionPointReference">
       <ownedEnd xmi:id="A_entry_connectionPointReference-connectionPointReference" name="connectionPointReference" visibility="public" type="ConnectionPointReference" association="A_entry_connectionPointReference">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_entry_connectionPointReference-connectionPointReference-_lowerValue"/>
@@ -611,7 +619,12 @@
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="A_include_includingCase" name="A_include_includingCase" visibility="private" memberEnd="UseCase-include Include-includingCase"/>
     <packagedElement xmi:type="uml:Association" xmi:id="A_incoming_target_node" name="A_incoming_target_node" visibility="private" memberEnd="ActivityNode-incoming ActivityEdge-target"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="A_incoming_target_vertex" name="A_incoming_target_vertex" visibility="private" memberEnd="Vertex-incoming Transition-target"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="A_incoming_target_vertex" name="A_incoming_target_vertex" visibility="private" memberEnd="Vertex-incoming Transition-target A_incoming_target_vertex-incoming">
+      <ownedEnd xmi:id="A_incoming_target_vertex-incoming" name="incoming" visibility="private" type="Transition" association="A_incoming_target_vertex">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_incoming_target_vertex-incoming-_lowerValue"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_incoming_target_vertex-incoming-_upperValue" value="*"/>
+      </ownedEnd>
+    </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="A_informationSource_informationFlow" name="A_informationSource_informationFlow" visibility="private" memberEnd="InformationFlow-informationSource A_informationSource_informationFlow-informationFlow">
       <ownedEnd xmi:id="A_informationSource_informationFlow-informationFlow" name="informationFlow" visibility="public" type="InformationFlow" subsettedProperty="A_source_directedRelationship-directedRelationship" association="A_informationSource_informationFlow">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_informationSource_informationFlow-informationFlow-_lowerValue"/>
@@ -941,7 +954,12 @@
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_node" name="A_outgoing_source_node" visibility="private" memberEnd="ActivityNode-outgoing ActivityEdge-source"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_vertex" name="A_outgoing_source_vertex" visibility="private" memberEnd="Vertex-outgoing Transition-source"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_vertex" name="A_outgoing_source_vertex" visibility="private" memberEnd="Vertex-outgoing Transition-source A_outgoing_source_vertex-outgoing">
+      <ownedEnd xmi:id="A_outgoing_source_vertex-outgoing" name="outgoing" visibility="private" type="Transition" association="A_outgoing_source_vertex">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_outgoing_source_vertex-outgoing-_lowerValue"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_outgoing_source_vertex-outgoing-_upperValue" value="*"/>
+      </ownedEnd>
+    </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="A_outputElement_regionAsOutput" name="A_outputElement_regionAsOutput" visibility="private" memberEnd="ExpansionRegion-outputElement ExpansionNode-regionAsOutput"/>
     <packagedElement xmi:type="uml:Association" xmi:id="A_outputValue_opaqueAction" name="A_outputValue_opaqueAction" visibility="private" memberEnd="OpaqueAction-outputValue A_outputValue_opaqueAction-opaqueAction">
       <ownedEnd xmi:id="A_outputValue_opaqueAction-opaqueAction" name="opaqueAction" visibility="public" type="OpaqueAction" subsettedProperty="A_output_action-action" association="A_outputValue_opaqueAction">
@@ -1702,7 +1720,11 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode-_lowerValue"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="A_structuredNode_activity" name="A_structuredNode_activity" visibility="private" memberEnd="Activity-structuredNode StructuredActivityNode-activity"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="A_structuredNode_activity" name="A_structuredNode_activity" visibility="private" memberEnd="Activity-structuredNode StructuredActivityNode-activity A_structuredNode_activity-activity">
+      <ownedEnd xmi:id="A_structuredNode_activity-activity" name="activity" visibility="private" type="Activity" association="A_structuredNode_activity">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuredNode_activity-activity-_lowerValue"/>
+      </ownedEnd>
+    </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="A_subExpression_owningExpression" name="A_subExpression_owningExpression" visibility="private" memberEnd="StringExpression-subExpression StringExpression-owningExpression"/>
     <packagedElement xmi:type="uml:Association" xmi:id="A_subgroup_superGroup" name="A_subgroup_superGroup" visibility="private" isDerived="true" memberEnd="ActivityGroup-subgroup ActivityGroup-superGroup"/>
     <packagedElement xmi:type="uml:Association" xmi:id="A_subject_useCase" name="A_subject_useCase" visibility="private" memberEnd="UseCase-subject Classifier-useCase"/>
@@ -2160,6 +2182,14 @@
         </specification>
       </ownedRule>
       <generalization xmi:id="Activity-_generalization.0" general="Behavior"/>
+      <ownedAttribute xmi:id="Activity-ownedGroup" name="ownedGroup" visibility="protected" type="ActivityGroup" aggregation="composite" subsettedProperty="Activity-group">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-ownedGroup-_lowerValue"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-ownedGroup-_upperValue" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="Activity-ownedNode" name="ownedNode" visibility="protected" type="ActivityNode" aggregation="composite" subsettedProperty="Activity-node">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-ownedNode-_lowerValue"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-ownedNode-_upperValue" value="*"/>
+      </ownedAttribute>
       <ownedAttribute xmi:id="Activity-edge" name="edge" visibility="public" type="ActivityEdge" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_edge_activity">
         <ownedComment xmi:id="Activity-edge-_ownedComment.0" annotatedElement="Activity-edge">
           <body>Edges expressing flow between nodes of the activity.</body>
@@ -2167,7 +2197,7 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-edge-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-edge-_upperValue" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="Activity-group" name="group" visibility="public" type="ActivityGroup" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_group_inActivity">
+      <ownedAttribute xmi:id="Activity-group" name="group" visibility="public" type="ActivityGroup" aggregation="composite" isDerived="true" subsettedProperty="Element-ownedElement" association="A_group_inActivity">
         <ownedComment xmi:id="Activity-group-_ownedComment.0" annotatedElement="Activity-group">
           <body>Top-level groups in the activity.</body>
         </ownedComment>
@@ -2188,14 +2218,14 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Activity-isSingleExecution-_defaultValue"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="Activity-node" name="node" visibility="public" type="ActivityNode" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_node_activity">
+      <ownedAttribute xmi:id="Activity-node" name="node" visibility="public" type="ActivityNode" aggregation="composite" isDerived="true" subsettedProperty="Element-ownedElement" association="A_node_activity">
         <ownedComment xmi:id="Activity-node-_ownedComment.0" annotatedElement="Activity-node">
           <body>Nodes coordinated by the activity.</body>
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-node-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-node-_upperValue" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="Activity-partition" name="partition" visibility="public" type="ActivityPartition" subsettedProperty="Activity-group" association="A_partition_activity">
+      <ownedAttribute xmi:id="Activity-partition" name="partition" visibility="public" type="ActivityPartition" subsettedProperty="Activity-group Activity-ownedGroup" association="A_partition_activity">
         <ownedComment xmi:id="Activity-partition-_ownedComment.0" annotatedElement="Activity-partition">
           <body>Top-level partitions in the activity.</body>
         </ownedComment>
@@ -2794,6 +2824,75 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-ownedOperation-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-ownedOperation-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Artifact-createOwnedAttribute" name="createOwnedAttribute">
+        <ownedComment xmi:id="Artifact-createOwnedAttribute-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute">
+          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this artifact.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Artifact-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
+        <ownedParameter xmi:id="Artifact-createOwnedAttribute-name" name="name" effect="read">
+          <ownedComment xmi:id="Artifact-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-name">
+            <body>The name for the new attribute, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedAttribute-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedAttribute-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Artifact-createOwnedAttribute-type" name="type" type="Type" effect="read">
+          <ownedComment xmi:id="Artifact-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-type">
+            <body>The type for the new attribute, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedAttribute-type-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedAttribute-type-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Artifact-createOwnedAttribute-lower" name="lower" effect="read">
+          <ownedComment xmi:id="Artifact-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-lower">
+            <body>The lower bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Artifact-createOwnedAttribute-upper" name="upper" effect="read">
+          <ownedComment xmi:id="Artifact-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-upper">
+            <body>The upper bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Artifact-createOwnedOperation" name="createOwnedOperation">
+        <ownedComment xmi:id="Artifact-createOwnedOperation-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation">
+          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this artifact.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Artifact-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
+        <ownedParameter xmi:id="Artifact-createOwnedOperation-name" name="name" effect="read">
+          <ownedComment xmi:id="Artifact-createOwnedOperation-name-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-name">
+            <body>The name for the new operation, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Artifact-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
+          <ownedComment xmi:id="Artifact-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-parameterNames">
+            <body>The parameter names for  the new operation, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-parameterNames-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-parameterNames-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Artifact-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
+          <ownedComment xmi:id="Artifact-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-parameterTypes">
+            <body>The parameter types for the new operation, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-parameterTypes-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Artifact-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
+          <ownedComment xmi:id="Artifact-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-returnType">
+            <body>The return type for the new operation, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-returnType-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-returnType-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="Association" name="Association">
       <ownedComment xmi:id="Association-_ownedComment.0" annotatedElement="Association">
@@ -2876,6 +2975,14 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Association-ownedEnd-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-ownedEnd-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Association-isBinary" name="isBinary">
+        <ownedComment xmi:id="Association-isBinary-_ownedComment.0" annotatedElement="Association-isBinary">
+          <body>Determines whether this association is a binary association, i.e. whether it has exactly two member ends.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Association-isBinary-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Association-endType.1" name="endType" visibility="public" bodyCondition="Association-endType.1-spec" isQuery="true">
         <ownedComment xmi:id="Association-endType.1-_ownedComment.0" annotatedElement="Association-endType.1">
           <body>endType is derived from the types of the member ends.</body>
@@ -3027,6 +3134,7 @@
         </ownedRule>
         <ownedParameter xmi:id="Behavior-context.1-result" name="result" visibility="public" type="BehavioredClassifier" direction="return">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-context.1-result-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-context.1-result-_upperValue" value="1"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
@@ -3095,6 +3203,27 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-raisedException-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-raisedException-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="BehavioralFeature-createReturnResult" name="createReturnResult">
+        <ownedComment xmi:id="BehavioralFeature-createReturnResult-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult">
+          <body>Creates a return result parameter with the specified name and type.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-_ownedParameter.0" type="Parameter" direction="return"/>
+        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-name" name="name" effect="read">
+          <ownedComment xmi:id="BehavioralFeature-createReturnResult-name-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult-name">
+            <body>The name for the new return result, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-createReturnResult-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-createReturnResult-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-type" name="type" type="Type" effect="read">
+          <ownedComment xmi:id="BehavioralFeature-createReturnResult-type-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult-type">
+            <body>The type for the new return result, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-createReturnResult-type-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-createReturnResult-type-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="BehavioralFeature-isDistinguishableFrom" name="isDistinguishableFrom" visibility="public" bodyCondition="BehavioralFeature-isDistinguishableFrom-spec" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
         <ownedComment xmi:id="BehavioralFeature-isDistinguishableFrom-_ownedComment.0" annotatedElement="BehavioralFeature-isDistinguishableFrom">
           <body>The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they have to have different signatures.</body>
@@ -3156,6 +3285,24 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-ownedBehavior-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-ownedBehavior-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="BehavioredClassifier-getAllImplementedInterfaces" name="getAllImplementedInterfaces">
+        <ownedComment xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedComment.0" annotatedElement="BehavioredClassifier-getAllImplementedInterfaces">
+          <body>Retrieves all the interfaces on which this behaviored classifier or any of its parents has an interface realization dependency.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0" type="Interface" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="BehavioredClassifier-getImplementedInterfaces" name="getImplementedInterfaces">
+        <ownedComment xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedComment.0" annotatedElement="BehavioredClassifier-getImplementedInterfaces">
+          <body>Retrieves the interfaces on which this behaviored classifier has an interface realization dependency.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0" type="Interface" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="BroadcastSignalAction" name="BroadcastSignalAction">
       <ownedComment xmi:id="BroadcastSignalAction-_ownedComment.0" annotatedElement="BroadcastSignalAction">
@@ -3434,6 +3581,50 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-superClass-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-superClass-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Class-createOwnedOperation" name="createOwnedOperation">
+        <ownedComment xmi:id="Class-createOwnedOperation-_ownedComment.0" annotatedElement="Class-createOwnedOperation">
+          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this class.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Class-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
+        <ownedParameter xmi:id="Class-createOwnedOperation-name" name="name" effect="read">
+          <ownedComment xmi:id="Class-createOwnedOperation-name-_ownedComment.0" annotatedElement="Class-createOwnedOperation-name">
+            <body>The name for the new operation, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Class-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
+          <ownedComment xmi:id="Class-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Class-createOwnedOperation-parameterNames">
+            <body>The parameter names for the new operation, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-parameterNames-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-parameterNames-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Class-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
+          <ownedComment xmi:id="Class-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Class-createOwnedOperation-parameterTypes">
+            <body>The parameter types for the new operation, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-parameterTypes-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Class-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
+          <ownedComment xmi:id="Class-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Class-createOwnedOperation-returnType">
+            <body>The return type for the new operation, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-returnType-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-returnType-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Class-isMetaclass" name="isMetaclass" isQuery="true">
+        <ownedComment xmi:id="Class-isMetaclass-_ownedComment.0" annotatedElement="Class-isMetaclass">
+          <body>Determines whether this class is a metaclass.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Class-isMetaclass-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Class-extension.1" name="extension" visibility="public" bodyCondition="Class-extension.1-spec" isQuery="true">
         <ownedComment xmi:id="Class-extension.1-_ownedComment.0" annotatedElement="Class-extension.1">
           <body>Missing derivation for Class::/extension : Extension</body>
@@ -3652,6 +3843,121 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-useCase-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-useCase-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Classifier-getAllAttributes" name="getAllAttributes" isQuery="true">
+        <ownedComment xmi:id="Classifier-getAllAttributes-_ownedComment.0" annotatedElement="Classifier-getAllAttributes">
+          <body>Retrieves all the attributes of this classifier, including those inherited from its parents.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Classifier-getAllAttributes-_ownedParameter.0" type="Property" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllAttributes-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllAttributes-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Classifier-getAllOperations" name="getAllOperations" isQuery="true">
+        <ownedComment xmi:id="Classifier-getAllOperations-_ownedComment.0" annotatedElement="Classifier-getAllOperations">
+          <body>Retrieves all the operations of this classifier, including those inherited from its parents.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Classifier-getAllOperations-_ownedParameter.0" type="Operation" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllOperations-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllOperations-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Classifier-getAllUsedInterfaces" name="getAllUsedInterfaces">
+        <ownedComment xmi:id="Classifier-getAllUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-getAllUsedInterfaces">
+          <body>Retrieves all the interfaces on which this classifier or any of its parents has a usage dependency.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0" type="Interface" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Classifier-getOperation" name="getOperation" isQuery="true">
+        <ownedComment xmi:id="Classifier-getOperation-_ownedComment.0" annotatedElement="Classifier-getOperation">
+          <body>Retrieves the first operation with the specified name, parameter names, and parameter types from this classifier.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Classifier-getOperation-_ownedParameter.0" type="Operation" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Classifier-getOperation-name" name="name" effect="read">
+          <ownedComment xmi:id="Classifier-getOperation-name-_ownedComment.0" annotatedElement="Classifier-getOperation-name">
+            <body>The name of the operation to retrieve, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Classifier-getOperation-parameterNames" name="parameterNames" effect="read">
+          <ownedComment xmi:id="Classifier-getOperation-parameterNames-_ownedComment.0" annotatedElement="Classifier-getOperation-parameterNames">
+            <body>The parameter names of the operation to retrieve, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-parameterNames-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-parameterNames-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Classifier-getOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
+          <ownedComment xmi:id="Classifier-getOperation-parameterTypes-_ownedComment.0" annotatedElement="Classifier-getOperation-parameterTypes">
+            <body>The parameter types of the operation to retrieve, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-parameterTypes-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-parameterTypes-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Classifier-getOperation.1" name="getOperation" isQuery="true">
+        <ownedComment xmi:id="Classifier-getOperation.1-_ownedComment.0" annotatedElement="Classifier-getOperation.1">
+          <body>Retrieves the first operation with the specified name, parameter names, and parameter types from this classifier, ignoring case if indicated.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Classifier-getOperation.1-_ownedParameter.0" type="Operation" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Classifier-getOperation.1-name" name="name" effect="read">
+          <ownedComment xmi:id="Classifier-getOperation.1-name-_ownedComment.0" annotatedElement="Classifier-getOperation.1-name">
+            <body>The name of the operation to retrieve, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Classifier-getOperation.1-parameterNames" name="parameterNames" effect="read">
+          <ownedComment xmi:id="Classifier-getOperation.1-parameterNames-_ownedComment.0" annotatedElement="Classifier-getOperation.1-parameterNames">
+            <body>The parameter names of the operation to retrieve, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-parameterNames-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-parameterNames-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Classifier-getOperation.1-parameterTypes" name="parameterTypes" type="Type" effect="read">
+          <ownedComment xmi:id="Classifier-getOperation.1-parameterTypes-_ownedComment.0" annotatedElement="Classifier-getOperation.1-parameterTypes">
+            <body>The parameter types of the operation to retrieve, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-parameterTypes-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-parameterTypes-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Classifier-getOperation.1-ignoreCase" name="ignoreCase" effect="read">
+          <ownedComment xmi:id="Classifier-getOperation.1-ignoreCase-_ownedComment.0" annotatedElement="Classifier-getOperation.1-ignoreCase">
+            <body>Whether to ignore case in String comparisons.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Classifier-getOperations" name="getOperations" isQuery="true">
+        <ownedComment xmi:id="Classifier-getOperations-_ownedComment.0" annotatedElement="Classifier-getOperations">
+          <body>Retrieves the operations of this classifier.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Classifier-getOperations-_ownedParameter.0" type="Operation" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperations-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperations-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Classifier-getUsedInterfaces" name="getUsedInterfaces">
+        <ownedComment xmi:id="Classifier-getUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-getUsedInterfaces">
+          <body>Retrieves the interfaces on which this classifier has a usage dependency.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0" type="Interface" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Classifier-allFeatures" name="allFeatures" visibility="public" bodyCondition="Classifier-allFeatures-spec" isQuery="true">
         <ownedComment xmi:id="Classifier-allFeatures-_ownedComment.0" annotatedElement="Classifier-allFeatures">
           <body>The query allFeatures() gives all of the features in the namespace of the classifier. In general, through mechanisms such as inheritance, this will be a larger set than feature.</body>
@@ -4229,6 +4535,60 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-required-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-required-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Component-createOwnedClass" name="createOwnedClass">
+        <ownedComment xmi:id="Component-createOwnedClass-_ownedComment.0" annotatedElement="Component-createOwnedClass">
+          <body>Creates a(n) (abstract) class with the specified name as a packaged element of this component.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Component-createOwnedClass-_ownedParameter.0" type="Class" direction="return"/>
+        <ownedParameter xmi:id="Component-createOwnedClass-name" name="name" effect="read">
+          <ownedComment xmi:id="Component-createOwnedClass-name-_ownedComment.0" annotatedElement="Component-createOwnedClass-name">
+            <body>The name for the new class, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Component-createOwnedClass-isAbstract" name="isAbstract" effect="read">
+          <ownedComment xmi:id="Component-createOwnedClass-isAbstract-_ownedComment.0" annotatedElement="Component-createOwnedClass-isAbstract">
+            <body>Whether the new class should be abstract.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Component-createOwnedEnumeration" name="createOwnedEnumeration">
+        <ownedComment xmi:id="Component-createOwnedEnumeration-_ownedComment.0" annotatedElement="Component-createOwnedEnumeration">
+          <body>Creates a enumeration with the specified name as a packaged element of this component.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Component-createOwnedEnumeration-_ownedParameter.0" type="Enumeration" direction="return"/>
+        <ownedParameter xmi:id="Component-createOwnedEnumeration-name" name="name" effect="read">
+          <ownedComment xmi:id="Component-createOwnedEnumeration-name-_ownedComment.0" annotatedElement="Component-createOwnedEnumeration-name">
+            <body>The name for the new enumeration, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Component-createOwnedInterface" name="createOwnedInterface">
+        <ownedComment xmi:id="Component-createOwnedInterface-_ownedComment.0" annotatedElement="Component-createOwnedInterface">
+          <body>Creates an interface with the specified name as a packaged element of this component.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Component-createOwnedInterface-_ownedParameter.0" type="Interface" direction="return"/>
+        <ownedParameter xmi:id="Component-createOwnedInterface-name" name="name" effect="read">
+          <ownedComment xmi:id="Component-createOwnedInterface-name-_ownedComment.0" annotatedElement="Component-createOwnedInterface-name">
+            <body>The name for the new interface, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Component-createOwnedPrimitiveType" name="createOwnedPrimitiveType">
+        <ownedComment xmi:id="Component-createOwnedPrimitiveType-_ownedComment.0" annotatedElement="Component-createOwnedPrimitiveType">
+          <body>Creates a primitive type with the specified name as a packaged element of this component.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Component-createOwnedPrimitiveType-_ownedParameter.0" type="PrimitiveType" direction="return"/>
+        <ownedParameter xmi:id="Component-createOwnedPrimitiveType-name" name="name" effect="read">
+          <ownedComment xmi:id="Component-createOwnedPrimitiveType-name-_ownedComment.0" annotatedElement="Component-createOwnedPrimitiveType-name">
+            <body>The name for the new primitive type, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Component-provided.1" name="provided" visibility="public" bodyCondition="Component-provided.1-spec" isQuery="true">
         <ownedComment xmi:id="Component-provided.1-_ownedComment.0" annotatedElement="Component-provided.1">
           <body>Missing derivation for Component::/provided : Interface</body>
@@ -4663,6 +5023,8 @@
         <ownedComment xmi:id="ConnectorEnd-role-_ownedComment.0" annotatedElement="ConnectorEnd-role">
           <body>The connectable element attached at this connector end. When an instance of the containing classifier is created, a link may (depending on the multiplicities) be created to an instance of the classifier that types this connectable element.</body>
         </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-role-_lowerValue" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectorEnd-role-_upperValue" value="1"/>
       </ownedAttribute>
       <ownedOperation xmi:id="ConnectorEnd-definingEnd.1" name="definingEnd" visibility="public" bodyCondition="ConnectorEnd-definingEnd.1-spec" isQuery="true">
         <ownedComment xmi:id="ConnectorEnd-definingEnd.1-_ownedComment.0" annotatedElement="ConnectorEnd-definingEnd.1">
@@ -4968,6 +5330,75 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-ownedOperation-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-ownedOperation-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="DataType-createOwnedAttribute" name="createOwnedAttribute">
+        <ownedComment xmi:id="DataType-createOwnedAttribute-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute">
+          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this data type.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="DataType-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
+        <ownedParameter xmi:id="DataType-createOwnedAttribute-name" name="name" effect="read">
+          <ownedComment xmi:id="DataType-createOwnedAttribute-name-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-name">
+            <body>The name for the new attribute, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedAttribute-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedAttribute-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="DataType-createOwnedAttribute-type" name="type" type="Type" effect="read">
+          <ownedComment xmi:id="DataType-createOwnedAttribute-type-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-type">
+            <body>The type for the new attribute, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedAttribute-type-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedAttribute-type-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="DataType-createOwnedAttribute-lower" name="lower" effect="read">
+          <ownedComment xmi:id="DataType-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-lower">
+            <body>The lower bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="DataType-createOwnedAttribute-upper" name="upper" effect="read">
+          <ownedComment xmi:id="DataType-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-upper">
+            <body>The upper bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="DataType-createOwnedOperation" name="createOwnedOperation">
+        <ownedComment xmi:id="DataType-createOwnedOperation-_ownedComment.0" annotatedElement="DataType-createOwnedOperation">
+          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this data type.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="DataType-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
+        <ownedParameter xmi:id="DataType-createOwnedOperation-name" name="name" effect="read">
+          <ownedComment xmi:id="DataType-createOwnedOperation-name-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-name">
+            <body>The name for the new operation, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="DataType-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
+          <ownedComment xmi:id="DataType-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-parameterNames">
+            <body>The parameter names for the new operation, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-parameterNames-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-parameterNames-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="DataType-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
+          <ownedComment xmi:id="DataType-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-parameterTypes">
+            <body>The parameter types for the new operation, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-parameterTypes-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="DataType-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
+          <ownedComment xmi:id="DataType-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-returnType">
+            <body>The return type for the new operation, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-returnType-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-returnType-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="DataType-inherit" name="inherit" visibility="public" bodyCondition="DataType-inherit-spec" isQuery="true" redefinedOperation="Classifier-inherit">
         <ownedComment xmi:id="DataType-inherit-_ownedComment.0" annotatedElement="DataType-inherit">
           <body>The inherit operation is overridden to exclude redefined properties.</body>
@@ -5324,6 +5755,11 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Duration-observation-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Duration-observation-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Duration-stringValue" name="stringValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="Duration-stringValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="DurationConstraint" name="DurationConstraint">
       <ownedComment xmi:id="DurationConstraint-_ownedComment.0" annotatedElement="DurationConstraint">
@@ -5422,6 +5858,9 @@
           <body>not self.allOwnedElements()->includes(self)</body>
         </specification>
       </ownedRule>
+      <generalization xmi:id="Element-_generalization.0">
+        <general xmi:type="uml:Class" href="Ecore.metamodel.uml#EModelElement"/>
+      </generalization>
       <ownedAttribute xmi:id="Element-ownedComment" name="ownedComment" visibility="public" type="Comment" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_ownedComment_owningElement">
         <ownedComment xmi:id="Element-ownedComment-_ownedComment.0" annotatedElement="Element-ownedComment">
           <body>The Comments owned by this element.</body>
@@ -5442,6 +5881,425 @@
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-owner-_lowerValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Element-addKeyword" name="addKeyword">
+        <ownedComment xmi:id="Element-addKeyword-_ownedComment.0" annotatedElement="Element-addKeyword">
+          <body>Adds the specified keyword to this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-addKeyword-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-addKeyword-keyword" name="keyword" effect="read">
+          <ownedComment xmi:id="Element-addKeyword-keyword-_ownedComment.0" annotatedElement="Element-addKeyword-keyword">
+            <body>The keyword to add.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-applyStereotype" name="applyStereotype">
+        <ownedComment xmi:id="Element-applyStereotype-_ownedComment.0" annotatedElement="Element-applyStereotype">
+          <body>Applies the specified stereotype to this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-applyStereotype-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-applyStereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-applyStereotype-stereotype-_ownedComment.0" annotatedElement="Element-applyStereotype-stereotype">
+            <body>The stereotype to apply.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-createEAnnotation" name="createEAnnotation">
+        <ownedComment xmi:id="Element-createEAnnotation-_ownedComment.0" annotatedElement="Element-createEAnnotation">
+          <body>Creates an annotation with the specified source and this element as its model element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-createEAnnotation-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EAnnotation"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-createEAnnotation-source" name="source" effect="read">
+          <ownedComment xmi:id="Element-createEAnnotation-source-_ownedComment.0" annotatedElement="Element-createEAnnotation-source">
+            <body>The source for the new annotation.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-destroy" name="destroy">
+        <ownedComment xmi:id="Element-destroy-_ownedComment.0" annotatedElement="Element-destroy">
+          <body>Destroys this element by removing all cross references to/from it and removing it from its containing resource or object.</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getKeywords" name="getKeywords" isQuery="true">
+        <ownedComment xmi:id="Element-getKeywords-_ownedComment.0" annotatedElement="Element-getKeywords">
+          <body>Retrieves the keywords for this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getKeywords-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getKeywords-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getKeywords-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getApplicableStereotype" name="getApplicableStereotype" isQuery="true">
+        <ownedComment xmi:id="Element-getApplicableStereotype-_ownedComment.0" annotatedElement="Element-getApplicableStereotype">
+          <body>Retrieves the stereotype with the specified qualified name that is applicable to this element, or null if no such stereotype is applicable.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getApplicableStereotype-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getApplicableStereotype-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getApplicableStereotype-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getApplicableStereotype-qualifiedName" name="qualifiedName" effect="read">
+          <ownedComment xmi:id="Element-getApplicableStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getApplicableStereotype-qualifiedName">
+            <body>The qualified name of the applicable stereotype to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getApplicableStereotypes" name="getApplicableStereotypes" isQuery="true">
+        <ownedComment xmi:id="Element-getApplicableStereotypes-_ownedComment.0" annotatedElement="Element-getApplicableStereotypes">
+          <body>Retrieves the stereotypes that are applicable to this element, including those that are required and/or may already be applied.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getApplicableStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getApplicableStereotypes-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getApplicableStereotypes-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getAppliedStereotype" name="getAppliedStereotype" isQuery="true">
+        <ownedComment xmi:id="Element-getAppliedStereotype-_ownedComment.0" annotatedElement="Element-getAppliedStereotype">
+          <body>Retrieves the stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is  applied.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getAppliedStereotype-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedStereotype-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedStereotype-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getAppliedStereotype-qualifiedName" name="qualifiedName" effect="read">
+          <ownedComment xmi:id="Element-getAppliedStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getAppliedStereotype-qualifiedName">
+            <body>The qualified name of the applied stereotype to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getAppliedStereotypes" name="getAppliedStereotypes" isQuery="true">
+        <ownedComment xmi:id="Element-getAppliedStereotypes-_ownedComment.0" annotatedElement="Element-getAppliedStereotypes">
+          <body>Retrieves the stereotypes that are applied to this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getAppliedStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedStereotypes-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedStereotypes-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getAppliedSubstereotype" name="getAppliedSubstereotype" isQuery="true">
+        <ownedComment xmi:id="Element-getAppliedSubstereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype">
+          <body>Retrieves the substereotype of the specified stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is applied.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getAppliedSubstereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-getAppliedSubstereotype-stereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype-stereotype">
+            <body>The superstereotype of the applied substereotype to retrieve.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getAppliedSubstereotype-qualifiedName" name="qualifiedName" effect="read">
+          <ownedComment xmi:id="Element-getAppliedSubstereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype-qualifiedName">
+            <body>The qualified name of the applied substereotype to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getAppliedSubstereotypes" name="getAppliedSubstereotypes" isQuery="true">
+        <ownedComment xmi:id="Element-getAppliedSubstereotypes-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotypes">
+          <body>Retrieves the substereotypes of the specified stereotype that are applied to this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getAppliedSubstereotypes-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-getAppliedSubstereotypes-stereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotypes-stereotype">
+            <body>The superstereotype of the applied substereotypes to retrieve.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getModel" name="getModel" isQuery="true">
+        <ownedComment xmi:id="Element-getModel-_ownedComment.0" annotatedElement="Element-getModel">
+          <body>Retrieves the model that owns (either directly or indirectly) this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getModel-_ownedParameter.0" type="Model" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getModel-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getModel-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getNearestPackage" name="getNearestPackage" isQuery="true">
+        <ownedComment xmi:id="Element-getNearestPackage-_ownedComment.0" annotatedElement="Element-getNearestPackage">
+          <body>Retrieves the nearest package that owns (either directly or indirectly) this element, or the element itself (if it is a package).</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getNearestPackage-_ownedParameter.0" type="Package" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getNearestPackage-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getNearestPackage-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getRelationships" name="getRelationships">
+        <ownedComment xmi:id="Element-getRelationships-_ownedComment.0" annotatedElement="Element-getRelationships">
+          <body>Retrieves the relationships in which this element is involved.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getRelationships-_ownedParameter.0" type="Relationship" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRelationships-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRelationships-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getRelationships.1" name="getRelationships">
+        <ownedComment xmi:id="Element-getRelationships.1-_ownedComment.0" annotatedElement="Element-getRelationships.1">
+          <body>Retrieves the relationships of the specified type in which this element is involved.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getRelationships.1-_ownedParameter.0" type="Relationship" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRelationships.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getRelationships.1-eClass" name="eClass" effect="read">
+          <ownedComment xmi:id="Element-getRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getRelationships.1-eClass">
+            <body>The (meta)type of the relationships to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getRequiredStereotype" name="getRequiredStereotype" isQuery="true">
+        <ownedComment xmi:id="Element-getRequiredStereotype-_ownedComment.0" annotatedElement="Element-getRequiredStereotype">
+          <body>Retrieves the stereotype with the specified qualified name that is required for this element, or null if no such stereotype is required.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getRequiredStereotype-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRequiredStereotype-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRequiredStereotype-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getRequiredStereotype-qualifiedName" name="qualifiedName" effect="read">
+          <ownedComment xmi:id="Element-getRequiredStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getRequiredStereotype-qualifiedName">
+            <body>The qualified name of the required stereotype to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getRequiredStereotypes" name="getRequiredStereotypes" isQuery="true">
+        <ownedComment xmi:id="Element-getRequiredStereotypes-_ownedComment.0" annotatedElement="Element-getRequiredStereotypes">
+          <body>Retrieves the stereotypes that are required for this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getRequiredStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRequiredStereotypes-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRequiredStereotypes-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getSourceDirectedRelationships" name="getSourceDirectedRelationships">
+        <ownedComment xmi:id="Element-getSourceDirectedRelationships-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships">
+          <body>Retrieves the directed relationships for which this element is a source.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0" type="DirectedRelationship" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getSourceDirectedRelationships.1" name="getSourceDirectedRelationships">
+        <ownedComment xmi:id="Element-getSourceDirectedRelationships.1-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships.1">
+          <body>Retrieves the directed relationships of the specified type for which this element is a source.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0" type="DirectedRelationship" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getSourceDirectedRelationships.1-eClass" name="eClass" effect="read">
+          <ownedComment xmi:id="Element-getSourceDirectedRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships.1-eClass">
+            <body>The (meta)type of the directed relationships to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getStereotypeApplication" name="getStereotypeApplication" isQuery="true">
+        <ownedComment xmi:id="Element-getStereotypeApplication-_ownedComment.0" annotatedElement="Element-getStereotypeApplication">
+          <body>Retrieves the application of the specified stereotype for this element, or null if no such stereotype application exists.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getStereotypeApplication-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getStereotypeApplication-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getStereotypeApplication-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getStereotypeApplication-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-getStereotypeApplication-stereotype-_ownedComment.0" annotatedElement="Element-getStereotypeApplication-stereotype">
+            <body>The stereotype for which to retrieve an application.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getStereotypeApplications" name="getStereotypeApplications" isQuery="true">
+        <ownedComment xmi:id="Element-getStereotypeApplications-_ownedComment.0" annotatedElement="Element-getStereotypeApplications">
+          <body>Retrieves the stereotype applications for this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getStereotypeApplications-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getStereotypeApplications-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getStereotypeApplications-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getTargetDirectedRelationships" name="getTargetDirectedRelationships">
+        <ownedComment xmi:id="Element-getTargetDirectedRelationships-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships">
+          <body>Retrieves the directed relationships for which this element is a target.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0" type="DirectedRelationship" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getTargetDirectedRelationships.1" name="getTargetDirectedRelationships">
+        <ownedComment xmi:id="Element-getTargetDirectedRelationships.1-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships.1">
+          <body>Retrieves the directed relationships of the specified type for which this element is a target.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0" type="DirectedRelationship" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getTargetDirectedRelationships.1-eClass" name="eClass" effect="read">
+          <ownedComment xmi:id="Element-getTargetDirectedRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships.1-eClass">
+            <body>The (meta)type of the directed relationships to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-getValue" name="getValue" isQuery="true">
+        <ownedComment xmi:id="Element-getValue-_ownedComment.0" annotatedElement="Element-getValue">
+          <body>Retrieves the value of the property with the specified name in the specified stereotype for this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-getValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getValue-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getValue-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getValue-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-getValue-stereotype-_ownedComment.0" annotatedElement="Element-getValue-stereotype">
+            <body>The stereotype for which to retrieve the value.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-getValue-propertyName" name="propertyName" effect="read">
+          <ownedComment xmi:id="Element-getValue-propertyName-_ownedComment.0" annotatedElement="Element-getValue-propertyName">
+            <body>The name of the property whose value to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-hasKeyword" name="hasKeyword" isQuery="true">
+        <ownedComment xmi:id="Element-hasKeyword-_ownedComment.0" annotatedElement="Element-hasKeyword">
+          <body>Determines whether this element has the specified keyword.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-hasKeyword-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-hasKeyword-keyword" name="keyword" effect="read">
+          <ownedComment xmi:id="Element-hasKeyword-keyword-_ownedComment.0" annotatedElement="Element-hasKeyword-keyword">
+            <body>The keyword in question.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-hasValue" name="hasValue" isQuery="true">
+        <ownedComment xmi:id="Element-hasValue-_ownedComment.0" annotatedElement="Element-hasValue">
+          <body>Determines whether this element has a (non-default) value for the property with the specified name in the specified stereotype.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-hasValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-hasValue-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-hasValue-stereotype-_ownedComment.0" annotatedElement="Element-hasValue-stereotype">
+            <body>The stereotype for which to test the property.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-hasValue-propertyName" name="propertyName" effect="read">
+          <ownedComment xmi:id="Element-hasValue-propertyName-_ownedComment.0" annotatedElement="Element-hasValue-propertyName">
+            <body>The name of the property in question.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-isStereotypeApplicable" name="isStereotypeApplicable" isQuery="true">
+        <ownedComment xmi:id="Element-isStereotypeApplicable-_ownedComment.0" annotatedElement="Element-isStereotypeApplicable">
+          <body>Determines whether the specified stereotype is applicable to this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-isStereotypeApplicable-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-isStereotypeApplicable-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-isStereotypeApplicable-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeApplicable-stereotype">
+            <body>The stereotype in question.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-isStereotypeApplied" name="isStereotypeApplied" isQuery="true">
+        <ownedComment xmi:id="Element-isStereotypeApplied-_ownedComment.0" annotatedElement="Element-isStereotypeApplied">
+          <body>Determines whether the specified stereotype is applied to this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-isStereotypeApplied-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-isStereotypeApplied-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-isStereotypeApplied-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeApplied-stereotype">
+            <body>The stereotype in question.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-isStereotypeRequired" name="isStereotypeRequired" isQuery="true">
+        <ownedComment xmi:id="Element-isStereotypeRequired-_ownedComment.0" annotatedElement="Element-isStereotypeRequired">
+          <body>Determines whether the specified stereotype is required for this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-isStereotypeRequired-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-isStereotypeRequired-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-isStereotypeRequired-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeRequired-stereotype">
+            <body>The stereotype in question.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-removeKeyword" name="removeKeyword">
+        <ownedComment xmi:id="Element-removeKeyword-_ownedComment.0" annotatedElement="Element-removeKeyword">
+          <body>Removes the specified keyword from this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-removeKeyword-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-removeKeyword-keyword" name="keyword" effect="read">
+          <ownedComment xmi:id="Element-removeKeyword-keyword-_ownedComment.0" annotatedElement="Element-removeKeyword-keyword">
+            <body>The keyword to remove.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-setValue" name="setValue">
+        <ownedComment xmi:id="Element-setValue-_ownedComment.0" annotatedElement="Element-setValue">
+          <body>Sets the value of the property with the specified name in the specified stereotype for this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-setValue-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-setValue-stereotype-_ownedComment.0" annotatedElement="Element-setValue-stereotype">
+            <body>The stereotype for which to set the value.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-setValue-propertyName" name="propertyName" effect="read">
+          <ownedComment xmi:id="Element-setValue-propertyName-_ownedComment.0" annotatedElement="Element-setValue-propertyName">
+            <body>The name of the property whose value to set.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-setValue-newValue" name="newValue" effect="read">
+          <ownedComment xmi:id="Element-setValue-newValue-_ownedComment.0" annotatedElement="Element-setValue-newValue">
+            <body>The new value for the property.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Element-unapplyStereotype" name="unapplyStereotype">
+        <ownedComment xmi:id="Element-unapplyStereotype-_ownedComment.0" annotatedElement="Element-unapplyStereotype">
+          <body>Unapplies the specified stereotype from this element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Element-unapplyStereotype-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Element-unapplyStereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
+          <ownedComment xmi:id="Element-unapplyStereotype-stereotype-_ownedComment.0" annotatedElement="Element-unapplyStereotype-stereotype">
+            <body>The stereotype to unapply.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Element-allOwnedElements" name="allOwnedElements" visibility="public" bodyCondition="Element-allOwnedElements-spec" isQuery="true">
         <ownedComment xmi:id="Element-allOwnedElements-_ownedComment.0" annotatedElement="Element-allOwnedElements">
           <body>The query allOwnedElements() gives all of the direct and indirect owned elements of an element.</body>
@@ -5600,6 +6458,12 @@
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EnumerationLiteral-enumeration-_lowerValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="EnumerationLiteral-getClassifiers" name="getClassifiers" visibility="protected">
+        <ownedParameter xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0" type="Classifier" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="EnumerationLiteral-classifier.1" name="classifier" visibility="public" bodyCondition="EnumerationLiteral-classifier.1-spec" isQuery="true">
         <ownedComment xmi:id="EnumerationLiteral-classifier.1-_ownedComment.0" annotatedElement="EnumerationLiteral-classifier.1">
           <body>Missing derivation for EnumerationLiteral::/classifier : Enumeration</body>
@@ -5902,6 +6766,24 @@
           <body>References the end of the extension that is typed by a Stereotype.</body>
         </ownedComment>
       </ownedAttribute>
+      <ownedOperation xmi:id="Extension-getStereotype" name="getStereotype" isQuery="true">
+        <ownedComment xmi:id="Extension-getStereotype-_ownedComment.0" annotatedElement="Extension-getStereotype">
+          <body>Retrieves the stereotype that extends a metaclass through this extension.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Extension-getStereotype-_ownedParameter.0" type="Stereotype" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Extension-getStereotype-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Extension-getStereotype-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Extension-getStereotypeEnd" name="getStereotypeEnd" isQuery="true">
+        <ownedComment xmi:id="Extension-getStereotypeEnd-_ownedComment.0" annotatedElement="Extension-getStereotypeEnd">
+          <body>Retrieves the extension end that is typed by a stereotype (as opposed to a metaclass).</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Extension-getStereotypeEnd-_ownedParameter.0" type="Property" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Extension-getStereotypeEnd-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Extension-getStereotypeEnd-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Extension-isRequired.1" name="isRequired" visibility="public" bodyCondition="Extension-isRequired.1-spec" isQuery="true">
         <ownedComment xmi:id="Extension-isRequired.1-_ownedComment.0" annotatedElement="Extension-isRequired.1">
           <body>The query isRequired() is true if the owned end has a multiplicity with the lower bound of 1.</body>
@@ -5980,6 +6862,16 @@
           <body>References the type of the ExtensionEnd. Note that this association restricts the possible types of an ExtensionEnd to only be Stereotypes.</body>
         </ownedComment>
       </ownedAttribute>
+      <ownedOperation xmi:id="ExtensionEnd-getLower" name="getLower" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="ExtensionEnd-getLower-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="ExtensionEnd-setLower" name="setLower">
+        <ownedParameter xmi:id="ExtensionEnd-setLower-newLower" name="newLower" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="ExtensionEnd-lowerBound" name="lowerBound" visibility="public" bodyCondition="ExtensionEnd-lowerBound-spec" isQuery="true" redefinedOperation="MultiplicityElement-lowerBound">
         <ownedComment xmi:id="ExtensionEnd-lowerBound-_ownedComment.0" annotatedElement="ExtensionEnd-lowerBound">
           <body>The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default lower bound, which normally, for MultiplicityElements, evaluates to 1 if empty.</body>
@@ -6608,6 +7500,11 @@
           <body>The instance that is the specified value.</body>
         </ownedComment>
       </ownedAttribute>
+      <ownedOperation xmi:id="InstanceValue-stringValue" name="stringValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="InstanceValue-stringValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="Interaction" name="Interaction">
       <ownedComment xmi:id="Interaction-_ownedComment.0" annotatedElement="Interaction">
@@ -6945,6 +7842,75 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-redefinedInterface-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-redefinedInterface-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Interface-createOwnedAttribute" name="createOwnedAttribute">
+        <ownedComment xmi:id="Interface-createOwnedAttribute-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute">
+          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this interface.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Interface-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
+        <ownedParameter xmi:id="Interface-createOwnedAttribute-name" name="name" effect="read">
+          <ownedComment xmi:id="Interface-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-name">
+            <body>The name for the new attribute, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedAttribute-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedAttribute-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Interface-createOwnedAttribute-type" name="type" type="Type" effect="read">
+          <ownedComment xmi:id="Interface-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-type">
+            <body>The type for the new attribute, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedAttribute-type-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedAttribute-type-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Interface-createOwnedAttribute-lower" name="lower" effect="read">
+          <ownedComment xmi:id="Interface-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-lower">
+            <body>The lower bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Interface-createOwnedAttribute-upper" name="upper" effect="read">
+          <ownedComment xmi:id="Interface-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-upper">
+            <body>The upper bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Interface-createOwnedOperation" name="createOwnedOperation">
+        <ownedComment xmi:id="Interface-createOwnedOperation-_ownedComment.0" annotatedElement="Interface-createOwnedOperation">
+          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this interface.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Interface-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
+        <ownedParameter xmi:id="Interface-createOwnedOperation-name" name="name" effect="read">
+          <ownedComment xmi:id="Interface-createOwnedOperation-name-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-name">
+            <body>The name for the new operation, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Interface-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
+          <ownedComment xmi:id="Interface-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-parameterNames">
+            <body>The parameter names for the new operation, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-parameterNames-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-parameterNames-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Interface-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
+          <ownedComment xmi:id="Interface-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-parameterTypes">
+            <body>The parameter types for the new operation, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-parameterTypes-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Interface-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
+          <ownedComment xmi:id="Interface-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-returnType">
+            <body>The return type for the new operation, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-returnType-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-returnType-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="InterfaceRealization" name="InterfaceRealization">
       <ownedComment xmi:id="InterfaceRealization-_ownedComment.0" annotatedElement="InterfaceRealization">
@@ -7384,6 +8350,11 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LiteralBoolean-value-_defaultValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="LiteralBoolean-stringValue" name="stringValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="LiteralBoolean-stringValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="LiteralBoolean-booleanValue" name="booleanValue" visibility="public" bodyCondition="LiteralBoolean-booleanValue-spec" isQuery="true" redefinedOperation="ValueSpecification-booleanValue">
         <ownedComment xmi:id="LiteralBoolean-booleanValue-_ownedComment.0" annotatedElement="LiteralBoolean-booleanValue">
           <body>The query booleanValue() gives the value.</body>
@@ -7425,6 +8396,11 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
         <defaultValue xmi:type="uml:LiteralInteger" xmi:id="LiteralInteger-value-_defaultValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="LiteralInteger-stringValue" name="stringValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="LiteralInteger-stringValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="LiteralInteger-integerValue" name="integerValue" visibility="public" bodyCondition="LiteralInteger-integerValue-spec" isQuery="true" redefinedOperation="ValueSpecification-integerValue">
         <ownedComment xmi:id="LiteralInteger-integerValue-_ownedComment.0" annotatedElement="LiteralInteger-integerValue">
           <body>The query integerValue() gives the value.</body>
@@ -7496,6 +8472,11 @@
       <ownedAttribute xmi:id="LiteralReal-value" name="value" visibility="public">
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="LiteralReal-stringValue" name="stringValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="LiteralReal-stringValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="LiteralReal-isComputable" name="isComputable" visibility="public" bodyCondition="LiteralReal-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
         <ownedComment xmi:id="LiteralReal-isComputable-_ownedComment.0" annotatedElement="LiteralReal-isComputable">
           <body>The query isComputable() is redefined to be true.</body>
@@ -7543,6 +8524,16 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LiteralString-value-_lowerValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="LiteralString-integerValue" name="integerValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="LiteralString-integerValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="LiteralString-unlimitedValue" name="unlimitedValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="LiteralString-unlimitedValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="LiteralString-isComputable" name="isComputable" visibility="public" bodyCondition="LiteralString-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
         <ownedComment xmi:id="LiteralString-isComputable-_ownedComment.0" annotatedElement="LiteralString-isComputable">
           <body>The query isComputable() is redefined to be true.</body>
@@ -7584,6 +8575,11 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
         <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LiteralUnlimitedNatural-value-_defaultValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="LiteralUnlimitedNatural-stringValue" name="stringValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="LiteralUnlimitedNatural-stringValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="LiteralUnlimitedNatural-isComputable" name="isComputable" visibility="public" bodyCondition="LiteralUnlimitedNatural-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
         <ownedComment xmi:id="LiteralUnlimitedNatural-isComputable-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-isComputable">
           <body>The query isComputable() is redefined to be true.</body>
@@ -7916,6 +8912,14 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Model-viewpoint-_lowerValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Model-isMetamodel" name="isMetamodel" isQuery="true">
+        <ownedComment xmi:id="Model-isMetamodel-_ownedComment.0" annotatedElement="Model-isMetamodel">
+          <body>Determines whether this model is a metamodel.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Model-isMetamodel-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="MultiplicityElement" name="MultiplicityElement" isAbstract="true">
       <ownedComment xmi:id="MultiplicityElement-_ownedComment.0" annotatedElement="MultiplicityElement">
@@ -8000,6 +9004,16 @@
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-upperValue-_lowerValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="MultiplicityElement-setLower" name="setLower" visibility="protected">
+        <ownedParameter xmi:id="MultiplicityElement-setLower-newLower" name="newLower" visibility="protected" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="MultiplicityElement-setUpper" name="setUpper" visibility="protected">
+        <ownedParameter xmi:id="MultiplicityElement-setUpper-newUpper" name="newUpper" visibility="protected" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="MultiplicityElement-compatibleWith" name="compatibleWith" visibility="public" bodyCondition="MultiplicityElement-compatibleWith-spec" isQuery="true">
         <ownedComment xmi:id="MultiplicityElement-compatibleWith-_ownedComment.0" annotatedElement="MultiplicityElement-compatibleWith">
           <body>The operation compatibleWith takes another multiplicity as input. It checks if one multiplicity is compatible with another.</body>
@@ -8236,6 +9250,54 @@
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-visibility-_lowerValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="NamedElement-createDependency" name="createDependency">
+        <ownedComment xmi:id="NamedElement-createDependency-_ownedComment.0" annotatedElement="NamedElement-createDependency">
+          <body>Creates a dependency between this named element and the specified supplier, owned by this named element's nearest package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="NamedElement-createDependency-_ownedParameter.0" type="Dependency" direction="return"/>
+        <ownedParameter xmi:id="NamedElement-createDependency-supplier" name="supplier" type="NamedElement" effect="read">
+          <ownedComment xmi:id="NamedElement-createDependency-supplier-_ownedComment.0" annotatedElement="NamedElement-createDependency-supplier">
+            <body>The supplier for the new dependency.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="NamedElement-createUsage" name="createUsage">
+        <ownedComment xmi:id="NamedElement-createUsage-_ownedComment.0" annotatedElement="NamedElement-createUsage">
+          <body>Creates a usage between this named element and the specified supplier, owned by this named element's nearest package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="NamedElement-createUsage-_ownedParameter.0" type="Usage" direction="return"/>
+        <ownedParameter xmi:id="NamedElement-createUsage-supplier" name="supplier" type="NamedElement">
+          <ownedComment xmi:id="NamedElement-createUsage-supplier-_ownedComment.0" annotatedElement="NamedElement-createUsage-supplier">
+            <body>The supplier for the new usage.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="NamedElement-getLabel" name="getLabel" isQuery="true">
+        <ownedComment xmi:id="NamedElement-getLabel-_ownedComment.0" annotatedElement="NamedElement-getLabel">
+          <body>Retrieves a localized label for this named element.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="NamedElement-getLabel-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-getLabel-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-getLabel-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="NamedElement-getLabel.1" name="getLabel" isQuery="true">
+        <ownedComment xmi:id="NamedElement-getLabel.1-_ownedComment.0" annotatedElement="NamedElement-getLabel.1">
+          <body>Retrieves a label for this named element, localized if indicated.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="NamedElement-getLabel.1-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-getLabel.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-getLabel.1-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="NamedElement-getLabel.1-localize" name="localize" effect="read">
+          <ownedComment xmi:id="NamedElement-getLabel.1-localize-_ownedComment.0" annotatedElement="NamedElement-getLabel.1-localize">
+            <body>Whether to localize the label.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="NamedElement-allNamespaces" name="allNamespaces" visibility="public" bodyCondition="NamedElement-allNamespaces-spec" isQuery="true">
         <ownedComment xmi:id="NamedElement-allNamespaces-_ownedComment.0" annotatedElement="NamedElement-allNamespaces">
           <body>The query allNamespaces() gives the sequence of namespaces in which the NamedElement is nested, working outwards.</body>
@@ -8319,6 +9381,7 @@
         </ownedRule>
         <ownedParameter xmi:id="NamedElement-qualifiedName.1-result" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-qualifiedName.1-result-_lowerValue"/>
         </ownedParameter>
       </ownedOperation>
       <ownedOperation xmi:id="NamedElement-separator" name="separator" visibility="public" bodyCondition="NamedElement-separator-spec" isQuery="true">
@@ -8392,6 +9455,56 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-packageImport-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-packageImport-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Namespace-createElementImport" name="createElementImport">
+        <ownedComment xmi:id="Namespace-createElementImport-_ownedComment.0" annotatedElement="Namespace-createElementImport">
+          <body>Creates an import of the specified element into this namespace with the specified visibility.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Namespace-createElementImport-_ownedParameter.0" type="ElementImport" direction="return"/>
+        <ownedParameter xmi:id="Namespace-createElementImport-element" name="element" type="PackageableElement" effect="read">
+          <ownedComment xmi:id="Namespace-createElementImport-element-_ownedComment.0" annotatedElement="Namespace-createElementImport-element">
+            <body>The element to import.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Namespace-createElementImport-visibility" name="visibility" type="VisibilityKind" effect="read">
+          <ownedComment xmi:id="Namespace-createElementImport-visibility-_ownedComment.0" annotatedElement="Namespace-createElementImport-visibility">
+            <body>The visibility for the new element import.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Namespace-createPackageImport" name="createPackageImport">
+        <ownedComment xmi:id="Namespace-createPackageImport-_ownedComment.0" annotatedElement="Namespace-createPackageImport">
+          <body>Creates an import of the specified package into this namespace with the specified visibility.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Namespace-createPackageImport-_ownedParameter.0" type="PackageImport" direction="return"/>
+        <ownedParameter xmi:id="Namespace-createPackageImport-package_" name="package_" type="Package" effect="read">
+          <ownedComment xmi:id="Namespace-createPackageImport-package_-_ownedComment.0" annotatedElement="Namespace-createPackageImport-package_">
+            <body>The package to import.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Namespace-createPackageImport-visibility" name="visibility" type="VisibilityKind" effect="read">
+          <ownedComment xmi:id="Namespace-createPackageImport-visibility-_ownedComment.0" annotatedElement="Namespace-createPackageImport-visibility">
+            <body>The visibility for the new package import.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Namespace-getImportedElements" name="getImportedElements" isQuery="true">
+        <ownedComment xmi:id="Namespace-getImportedElements-_ownedComment.0" annotatedElement="Namespace-getImportedElements">
+          <body>Retrieves the elements imported by this namespace.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Namespace-getImportedElements-_ownedParameter.0" type="PackageableElement" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-getImportedElements-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-getImportedElements-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Namespace-getImportedPackages" name="getImportedPackages" isQuery="true">
+        <ownedComment xmi:id="Namespace-getImportedPackages-_ownedComment.0" annotatedElement="Namespace-getImportedPackages">
+          <body>Retrieves the packages imported by this namespace.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Namespace-getImportedPackages-_ownedParameter.0" type="Package" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-getImportedPackages-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-getImportedPackages-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Namespace-excludeCollisions" name="excludeCollisions" visibility="public" bodyCondition="Namespace-excludeCollisions-spec" isQuery="true">
         <ownedComment xmi:id="Namespace-excludeCollisions-_ownedComment.0" annotatedElement="Namespace-excludeCollisions">
           <body>The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this namespace.</body>
@@ -8528,6 +9641,84 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Node-nestedNode-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Node-nestedNode-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Node-createCommunicationPath" name="createCommunicationPath">
+        <ownedComment xmi:id="Node-createCommunicationPath-_ownedComment.0" annotatedElement="Node-createCommunicationPath">
+          <body>Creates a (binary) communication path between this node and the specified other node, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this node's nearest package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Node-createCommunicationPath-_ownedParameter.0" type="CommunicationPath" direction="return"/>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end1IsNavigable" name="end1IsNavigable" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end1IsNavigable-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1IsNavigable">
+            <body>The navigability for the first end of the new communication path.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end1Aggregation" name="end1Aggregation" type="AggregationKind" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end1Aggregation-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Aggregation">
+            <body>The aggregation for the first end of the new communication path.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end1Name" name="end1Name" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end1Name-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Name">
+            <body>The name for the first end of the new communication path.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end1Lower" name="end1Lower" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end1Lower-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Lower">
+            <body>The lower bound for the first end of the new communication path.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end1Upper" name="end1Upper" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end1Upper-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Upper">
+            <body>The upper bound for the first end of the new communication path.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end1Node" name="end1Node" type="Node" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end1Node-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Node">
+            <body>The type for the first end of the new communication path.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end2IsNavigable" name="end2IsNavigable" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end2IsNavigable-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2IsNavigable">
+            <body>The navigability for the second end of the new communication path.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end2Aggregation" name="end2Aggregation" type="AggregationKind" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end2Aggregation-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Aggregation">
+            <body>The aggregation for the second end of the new communication path.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end2Name" name="end2Name" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end2Name-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Name">
+            <body>The name for the second end of the new communication path.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end2Lower" name="end2Lower" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end2Lower-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Lower">
+            <body>The lower bound for the second end of the new communication path.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Node-createCommunicationPath-end2Upper" name="end2Upper" effect="read">
+          <ownedComment xmi:id="Node-createCommunicationPath-end2Upper-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Upper">
+            <body>The upper bound for the second end of the new communication path.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Node-getCommunicationPaths" name="getCommunicationPaths">
+        <ownedComment xmi:id="Node-getCommunicationPaths-_ownedComment.0" annotatedElement="Node-getCommunicationPaths">
+          <body>Retrieves the communication paths in which this node is involved.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Node-getCommunicationPaths-_ownedParameter.0" type="CommunicationPath" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Node-getCommunicationPaths-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Node-getCommunicationPaths-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="ObjectFlow" name="ObjectFlow">
       <ownedComment xmi:id="ObjectFlow-_ownedComment.0" annotatedElement="ObjectFlow">
@@ -8858,6 +10049,11 @@
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-result-_lowerValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="OpaqueExpression-stringValue" name="stringValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="OpaqueExpression-stringValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="OpaqueExpression-isIntegral" name="isIntegral" visibility="public" bodyCondition="OpaqueExpression-isIntegral-spec" isQuery="true">
         <ownedComment xmi:id="OpaqueExpression-isIntegral-_ownedComment.0" annotatedElement="OpaqueExpression-isIntegral">
           <body>The query isIntegral() tells whether an expression is intended to produce an integer.</body>
@@ -8924,6 +10120,7 @@
         </ownedRule>
         <ownedParameter xmi:id="OpaqueExpression-result.1-result" name="result" visibility="public" type="Parameter" direction="return">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-result.1-result-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueExpression-result.1-result-_upperValue" value="1"/>
         </ownedParameter>
       </ownedOperation>
       <ownedOperation xmi:id="OpaqueExpression-value" name="value" visibility="public" bodyCondition="OpaqueExpression-value-spec" isQuery="true" precondition="OpaqueExpression-value-pre">
@@ -9104,6 +10301,38 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-upper-_lowerValue"/>
         <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-upper-_defaultValue" value="1"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Operation-getReturnResult" name="getReturnResult">
+        <ownedComment xmi:id="Operation-getReturnResult-_ownedComment.0" annotatedElement="Operation-getReturnResult">
+          <body>Retrieves the (only) return result parameter for this operation.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Operation-getReturnResult-_ownedParameter.0" type="Parameter" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-getReturnResult-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-getReturnResult-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Operation-setIsOrdered" name="setIsOrdered">
+        <ownedParameter xmi:id="Operation-setIsOrdered-newIsOrdered" name="newIsOrdered" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Operation-setIsUnique" name="setIsUnique">
+        <ownedParameter xmi:id="Operation-setIsUnique-newIsUnique" name="newIsUnique" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Operation-setLower" name="setLower">
+        <ownedParameter xmi:id="Operation-setLower-newLower" name="newLower" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Operation-setType" name="setType">
+        <ownedParameter xmi:id="Operation-setType-newType" name="newType" type="Type" effect="read"/>
+      </ownedOperation>
+      <ownedOperation xmi:id="Operation-setUpper" name="setUpper">
+        <ownedParameter xmi:id="Operation-setUpper-newUpper" name="newUpper" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Operation-isConsistentWith" name="isConsistentWith" visibility="public" bodyCondition="Operation-isConsistentWith-spec" isQuery="true" precondition="Operation-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
         <ownedComment xmi:id="Operation-isConsistentWith-_ownedComment.0" annotatedElement="Operation-isConsistentWith">
           <body>A redefining operation is consistent with a redefined operation if it has the same number of owned parameters, and the type of each owned parameter conforms to the type of the corresponding redefined parameter.</body>
@@ -9278,7 +10507,7 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-nestedPackage-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-nestedPackage-_upperValue" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="Package-nestingPackage" name="nestingPackage" visibility="public" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage" association="A_nestedPackage_nestingPackage">
+      <ownedAttribute xmi:id="Package-nestingPackage" name="nestingPackage" visibility="public" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage NamedElement-namespace" association="A_nestedPackage_nestingPackage">
         <ownedComment xmi:id="Package-nestingPackage-_ownedComment.0" annotatedElement="Package-nestingPackage">
           <body>References the Package that owns this Package.</body>
         </ownedComment>
@@ -9319,6 +10548,226 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-profileApplication-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-profileApplication-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Package-applyProfile" name="applyProfile">
+        <ownedComment xmi:id="Package-applyProfile-_ownedComment.0" annotatedElement="Package-applyProfile">
+          <body>Applies the current definition of the specified profile to this package and automatically applies required stereotypes in the profile to elements within this package's namespace hieararchy. If a different definition is already applied, automatically migrates any associated stereotype values on a &quot;best effort&quot; basis (matching classifiers and structural features by name).</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-applyProfile-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-applyProfile-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-applyProfile-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-applyProfile-profile" name="profile" type="Profile" effect="read">
+          <ownedComment xmi:id="Package-applyProfile-profile-_ownedComment.0" annotatedElement="Package-applyProfile-profile">
+            <body>The profile to apply.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-createOwnedClass" name="createOwnedClass">
+        <ownedComment xmi:id="Package-createOwnedClass-_ownedComment.0" annotatedElement="Package-createOwnedClass">
+          <body>Creates a(n) (abstract) class with the specified name as an owned type of this package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-createOwnedClass-_ownedParameter.0" type="Class" direction="return"/>
+        <ownedParameter xmi:id="Package-createOwnedClass-name" name="name" effect="read">
+          <ownedComment xmi:id="Package-createOwnedClass-name-_ownedComment.0" annotatedElement="Package-createOwnedClass-name">
+            <body>The name for the new class, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-createOwnedClass-isAbstract" name="isAbstract" effect="read">
+          <ownedComment xmi:id="Package-createOwnedClass-isAbstract-_ownedComment.0" annotatedElement="Package-createOwnedClass-isAbstract">
+            <body>Whether the new class should be abstract.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-createOwnedEnumeration" name="createOwnedEnumeration">
+        <ownedComment xmi:id="Package-createOwnedEnumeration-_ownedComment.0" annotatedElement="Package-createOwnedEnumeration">
+          <body>Creates a enumeration with the specified name as an owned type of this package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-createOwnedEnumeration-_ownedParameter.0" type="Enumeration" direction="return"/>
+        <ownedParameter xmi:id="Package-createOwnedEnumeration-name" name="name" effect="read">
+          <ownedComment xmi:id="Package-createOwnedEnumeration-name-_ownedComment.0" annotatedElement="Package-createOwnedEnumeration-name">
+            <body>The name for the new enumeration, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-createOwnedInterface" name="createOwnedInterface">
+        <ownedComment xmi:id="Package-createOwnedInterface-_ownedComment.0" annotatedElement="Package-createOwnedInterface">
+          <body>Creates an interface with the specified name as an owned type of this package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-createOwnedInterface-_ownedParameter.0" type="Interface" direction="return"/>
+        <ownedParameter xmi:id="Package-createOwnedInterface-name" name="name" effect="read">
+          <ownedComment xmi:id="Package-createOwnedInterface-name-_ownedComment.0" annotatedElement="Package-createOwnedInterface-name">
+            <body>The name for the new interface, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-createOwnedPrimitiveType" name="createOwnedPrimitiveType">
+        <ownedComment xmi:id="Package-createOwnedPrimitiveType-_ownedComment.0" annotatedElement="Package-createOwnedPrimitiveType">
+          <body>Creates a primitive type with the specified name as an owned type of this package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-createOwnedPrimitiveType-_ownedParameter.0" type="PrimitiveType" direction="return"/>
+        <ownedParameter xmi:id="Package-createOwnedPrimitiveType-name" name="name" effect="read">
+          <ownedComment xmi:id="Package-createOwnedPrimitiveType-name-_ownedComment.0" annotatedElement="Package-createOwnedPrimitiveType-name">
+            <body>The name for the new primitive type, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-createOwnedStereotype" name="createOwnedStereotype">
+        <ownedComment xmi:id="Package-createOwnedStereotype-_ownedComment.0" annotatedElement="Package-createOwnedStereotype">
+          <body>Creates a(n) (abstract) stereotype with the specified name as an owned stereotype of this profile.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-createOwnedStereotype-_ownedParameter.0" type="Stereotype" direction="return"/>
+        <ownedParameter xmi:id="Package-createOwnedStereotype-name" name="name" effect="read">
+          <ownedComment xmi:id="Package-createOwnedStereotype-name-_ownedComment.0" annotatedElement="Package-createOwnedStereotype-name">
+            <body>The name for the new stereotype, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-createOwnedStereotype-isAbstract" name="isAbstract" effect="read">
+          <ownedComment xmi:id="Package-createOwnedStereotype-isAbstract-_ownedComment.0" annotatedElement="Package-createOwnedStereotype-isAbstract">
+            <body>Whether the new stereotype should be abstract.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-getAllAppliedProfiles" name="getAllAppliedProfiles" isQuery="true">
+        <ownedComment xmi:id="Package-getAllAppliedProfiles-_ownedComment.0" annotatedElement="Package-getAllAppliedProfiles">
+          <body>Retrieves all the profiles that are applied to this package, including profiles applied to its nesting package(s).</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0" type="Profile" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-getAllProfileApplications" name="getAllProfileApplications" isQuery="true">
+        <ownedComment xmi:id="Package-getAllProfileApplications-_ownedComment.0" annotatedElement="Package-getAllProfileApplications">
+          <body>Retrieves all the profile applications for this package, including profile applications for its nesting package(s).</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-getAllProfileApplications-_ownedParameter.0" type="ProfileApplication" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAllProfileApplications-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAllProfileApplications-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-getAppliedProfile" name="getAppliedProfile" isQuery="true">
+        <ownedComment xmi:id="Package-getAppliedProfile-_ownedComment.0" annotatedElement="Package-getAppliedProfile">
+          <body>Retrieves the profile with the specified qualified name that is applied to this package, or null if no such profile is applied.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-getAppliedProfile-_ownedParameter.0" type="Profile" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfile-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfile-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-getAppliedProfile-qualifiedName" name="qualifiedName" effect="read">
+          <ownedComment xmi:id="Package-getAppliedProfile-qualifiedName-_ownedComment.0" annotatedElement="Package-getAppliedProfile-qualifiedName">
+            <body>The qualified name of the applied profile to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-getAppliedProfile.1" name="getAppliedProfile" isQuery="true">
+        <ownedComment xmi:id="Package-getAppliedProfile.1-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1">
+          <body>Retrieves the profile with the specified qualified name that is applied to this package or any of its nesting packages (if indicated), or null if no such profile is applied.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-getAppliedProfile.1-_ownedParameter.0" type="Profile" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfile.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfile.1-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-getAppliedProfile.1-qualifiedName" name="qualifiedName" effect="read">
+          <ownedComment xmi:id="Package-getAppliedProfile.1-qualifiedName-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1-qualifiedName">
+            <body>The qualified name of the applied profile to retrieve.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-getAppliedProfile.1-recurse" name="recurse" effect="read">
+          <ownedComment xmi:id="Package-getAppliedProfile.1-recurse-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1-recurse">
+            <body>Whether to look in nesting packages.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-getAppliedProfiles" name="getAppliedProfiles" isQuery="true">
+        <ownedComment xmi:id="Package-getAppliedProfiles-_ownedComment.0" annotatedElement="Package-getAppliedProfiles">
+          <body>Retrieves the profiles that are applied to this package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-getAppliedProfiles-_ownedParameter.0" type="Profile" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfiles-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfiles-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-getProfileApplication" name="getProfileApplication" isQuery="true">
+        <ownedComment xmi:id="Package-getProfileApplication-_ownedComment.0" annotatedElement="Package-getProfileApplication">
+          <body>Retrieves the application of the specified profile to this package, or null if no such profile is applied.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-getProfileApplication-_ownedParameter.0" type="ProfileApplication" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getProfileApplication-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getProfileApplication-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-getProfileApplication-profile" name="profile" type="Profile" effect="read">
+          <ownedComment xmi:id="Package-getProfileApplication-profile-_ownedComment.0" annotatedElement="Package-getProfileApplication-profile">
+            <body>The profile whose application to retrieve.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-getProfileApplication.1" name="getProfileApplication" isQuery="true">
+        <ownedComment xmi:id="Package-getProfileApplication.1-_ownedComment.0" annotatedElement="Package-getProfileApplication.1">
+          <body>Retrieves the application of the specified profile to this package or any of its nesting packages (if indicated), or null if no such profile is applied.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-getProfileApplication.1-_ownedParameter.0" type="ProfileApplication" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getProfileApplication.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getProfileApplication.1-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-getProfileApplication.1-profile" name="profile" type="Profile" effect="read">
+          <ownedComment xmi:id="Package-getProfileApplication.1-profile-_ownedComment.0" annotatedElement="Package-getProfileApplication.1-profile">
+            <body>The profile whose application to retrieve.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-getProfileApplication.1-recurse" name="recurse" effect="read">
+          <ownedComment xmi:id="Package-getProfileApplication.1-recurse-_ownedComment.0" annotatedElement="Package-getProfileApplication.1-recurse">
+            <body>Whether to look in nesting packages.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-isModelLibrary" name="isModelLibrary" isQuery="true">
+        <ownedComment xmi:id="Package-isModelLibrary-_ownedComment.0" annotatedElement="Package-isModelLibrary">
+          <body>Determines whether this package is a model library.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-isModelLibrary-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-isProfileApplied" name="isProfileApplied" isQuery="true">
+        <ownedComment xmi:id="Package-isProfileApplied-_ownedComment.0" annotatedElement="Package-isProfileApplied">
+          <body>Determines whether the specified profile is applied to this package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-isProfileApplied-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-isProfileApplied-profile" name="profile" type="Profile" effect="read">
+          <ownedComment xmi:id="Package-isProfileApplied-profile-_ownedComment.0" annotatedElement="Package-isProfileApplied-profile">
+            <body>The profile in question.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Package-unapplyProfile" name="unapplyProfile">
+        <ownedComment xmi:id="Package-unapplyProfile-_ownedComment.0" annotatedElement="Package-unapplyProfile">
+          <body>Unapplies the specified profile from this package and automatically unapplies stereotypes in the profile from elements within this package's namespace hieararchy.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Package-unapplyProfile-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-unapplyProfile-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-unapplyProfile-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Package-unapplyProfile-profile" name="profile" type="Profile" effect="read">
+          <ownedComment xmi:id="Package-unapplyProfile-profile-_ownedComment.0" annotatedElement="Package-unapplyProfile-profile">
+            <body>The profile to unapply.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Package-allApplicableStereotypes" name="allApplicableStereotypes" visibility="public" bodyCondition="Package-allApplicableStereotypes-spec" isQuery="true">
         <ownedComment xmi:id="Package-allApplicableStereotypes-_ownedComment.0" annotatedElement="Package-allApplicableStereotypes">
           <body>The query allApplicableStereotypes() returns all the directly or indirectly owned stereotypes, including stereotypes contained in sub-profiles.</body>
@@ -9612,7 +11061,7 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Parameter-isStream-_defaultValue"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="Parameter-operation" name="operation" visibility="public" type="Operation" subsettedProperty="A_ownedParameter_ownerFormalParam-ownerFormalParam" association="A_ownedParameter_operation">
+      <ownedAttribute xmi:id="Parameter-operation" name="operation" visibility="public" type="Operation" subsettedProperty="A_ownedParameter_ownerFormalParam-ownerFormalParam NamedElement-namespace" association="A_ownedParameter_operation">
         <ownedComment xmi:id="Parameter-operation-_ownedComment.0" annotatedElement="Parameter-operation">
           <body>References the Operation owning this parameter.</body>
         </ownedComment>
@@ -9625,6 +11074,77 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-parameterSet-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Parameter-parameterSet-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Parameter-isSetDefault" name="isSetDefault" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="Parameter-isSetDefault-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Parameter-setBooleanDefaultValue" name="setBooleanDefaultValue">
+        <ownedComment xmi:id="Parameter-setBooleanDefaultValue-_ownedComment.0" annotatedElement="Parameter-setBooleanDefaultValue">
+          <body>Sets the default value for this parameter to the specified Boolean value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Parameter-setBooleanDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Parameter-setBooleanDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setBooleanDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Parameter-setDefault" name="setDefault" visibility="protected">
+        <ownedParameter xmi:id="Parameter-setDefault-newDefault" name="newDefault" visibility="protected" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Parameter-setIntegerDefaultValue" name="setIntegerDefaultValue">
+        <ownedComment xmi:id="Parameter-setIntegerDefaultValue-_ownedComment.0" annotatedElement="Parameter-setIntegerDefaultValue">
+          <body>Sets the default value for this parameter to the specified integer value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Parameter-setIntegerDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Parameter-setIntegerDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setIntegerDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Parameter-setNullDefaultValue" name="setNullDefaultValue">
+        <ownedComment xmi:id="Parameter-setNullDefaultValue-_ownedComment.0" annotatedElement="Parameter-setNullDefaultValue">
+          <body>Sets the default value for this parameter to the null value.</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:id="Parameter-setRealDefaultValue" name="setRealDefaultValue">
+        <ownedComment xmi:id="Parameter-setRealDefaultValue-_ownedComment.0" annotatedElement="Parameter-setRealDefaultValue">
+          <body>Sets the default value for this parameter to the specified real value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Parameter-setRealDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Parameter-setRealDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setRealDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Parameter-setStringDefaultValue" name="setStringDefaultValue">
+        <ownedComment xmi:id="Parameter-setStringDefaultValue-_ownedComment.0" annotatedElement="Parameter-setStringDefaultValue">
+          <body>Sets the default value for this parameter to the specified string value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Parameter-setStringDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Parameter-setStringDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setStringDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Parameter-setUnlimitedNaturalDefaultValue" name="setUnlimitedNaturalDefaultValue">
+        <ownedComment xmi:id="Parameter-setUnlimitedNaturalDefaultValue-_ownedComment.0" annotatedElement="Parameter-setUnlimitedNaturalDefaultValue">
+          <body>Sets the default value for this parameter to the specified unlimited natural value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Parameter-setUnlimitedNaturalDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Parameter-setUnlimitedNaturalDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setUnlimitedNaturalDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Parameter-unsetDefault" name="unsetDefault" visibility="protected"/>
       <ownedOperation xmi:id="Parameter-default.1" name="default" visibility="public" bodyCondition="Parameter-default.1-spec" isQuery="true">
         <ownedComment xmi:id="Parameter-default.1-_ownedComment.0" annotatedElement="Parameter-default.1">
           <body>Missing derivation for Parameter::/default : String</body>
@@ -9638,6 +11158,7 @@
         <ownedParameter xmi:id="Parameter-default.1-result" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-default.1-result-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Parameter-default.1-result-_upperValue" value="1"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
@@ -9953,6 +11474,145 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-metamodelReference-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-metamodelReference-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Profile-create" name="create">
+        <ownedComment xmi:id="Profile-create-_ownedComment.0" annotatedElement="Profile-create">
+          <body>Creates and returns an instance of (the Ecore representation of) the specified classifier defined in this profile.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-create-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Profile-create-classifier" name="classifier" type="Classifier" effect="read">
+          <ownedComment xmi:id="Profile-create-classifier-_ownedComment.0" annotatedElement="Profile-create-classifier">
+            <body>The classifier of which to create an instance.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Profile-define" name="define">
+        <ownedComment xmi:id="Profile-define-_ownedComment.0" annotatedElement="Profile-define">
+          <body>Defines this profile by (re)creating Ecore representations of its current contents.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-define-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-define-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-define-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Profile-define.1" name="define">
+        <ownedComment xmi:id="Profile-define.1-_ownedComment.0" annotatedElement="Profile-define.1">
+          <body>Defines this profile by (re)creating Ecore representations of its current contents, using the specified options, diagnostics, and context.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-define.1-_ownedParameter.0" name="" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Profile-define.1-options" name="options" type="Profile-EMap_EString_EString">
+          <ownedComment xmi:id="Profile-define.1-options-_ownedComment.0" annotatedElement="Profile-define.1-options">
+            <body>The options to use.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Profile-define.1-diagnostics" name="diagnostics">
+          <ownedComment xmi:id="Profile-define.1-diagnostics-_ownedComment.0" annotatedElement="Profile-define.1-diagnostics">
+            <body>The chain of diagnostics to which problems are to be appended.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EDiagnosticChain"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Profile-define.1-context" name="context" type="Profile-EMap_EJavaObject_EJavaObject">
+          <ownedComment xmi:id="Profile-define.1-context-_ownedComment.0" annotatedElement="Profile-define.1-context">
+            <body>The cache of context-specific information.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Profile-getDefinition" name="getDefinition" isQuery="true">
+        <ownedComment xmi:id="Profile-getDefinition-_ownedComment.0" annotatedElement="Profile-getDefinition">
+          <body>Retrieves the current definition (Ecore representation) of this profile.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-getDefinition-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getDefinition-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getDefinition-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Profile-getDefinition.1" name="getDefinition" isQuery="true">
+        <ownedComment xmi:id="Profile-getDefinition.1-_ownedComment.0" annotatedElement="Profile-getDefinition.1">
+          <body>Retrieves the current definition (Ecore representation) of the specified named element in this profile.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-getDefinition.1-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#ENamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getDefinition.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getDefinition.1-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Profile-getDefinition.1-namedElement" name="namedElement" type="NamedElement" effect="read">
+          <ownedComment xmi:id="Profile-getDefinition.1-namedElement-_ownedComment.0" annotatedElement="Profile-getDefinition.1-namedElement">
+            <body>The named element whose definition to retrieve.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Profile-getOwnedExtensions" name="getOwnedExtensions" isQuery="true">
+        <ownedComment xmi:id="Profile-getOwnedExtensions-_ownedComment.0" annotatedElement="Profile-getOwnedExtensions">
+          <body>Retrieves the extensions owned by this profile, excluding non-required extensions if indicated.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-getOwnedExtensions-_ownedParameter.0" type="Extension" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getOwnedExtensions-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getOwnedExtensions-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Profile-getOwnedExtensions-requiredOnly" name="requiredOnly" effect="read">
+          <ownedComment xmi:id="Profile-getOwnedExtensions-requiredOnly-_ownedComment.0" annotatedElement="Profile-getOwnedExtensions-requiredOnly">
+            <body>Whether to retrieve only required extensions.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Profile-getReferencedMetaclasses" name="getReferencedMetaclasses" isQuery="true">
+        <ownedComment xmi:id="Profile-getReferencedMetaclasses-_ownedComment.0" annotatedElement="Profile-getReferencedMetaclasses">
+          <body>Retrieves the metaclasses referenced by this profile.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0" type="Class" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Profile-getReferencedMetamodels" name="getReferencedMetamodels" isQuery="true">
+        <ownedComment xmi:id="Profile-getReferencedMetamodels-_ownedComment.0" annotatedElement="Profile-getReferencedMetamodels">
+          <body>Retrieves the metamodels referenced by this profile.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0" type="Model" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Profile-isDefined" name="isDefined" isQuery="true">
+        <ownedComment xmi:id="Profile-isDefined-_ownedComment.0" annotatedElement="Profile-isDefined">
+          <body>Determines whether this profile is defined.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Profile-isDefined-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="Profile-EMap_EJavaObject_EJavaObject" name="EMap_EJavaObject_EJavaObject">
+        <templateBinding xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0">
+          <parameterSubstitution xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0-_parameterSubstitution.0">
+            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
+            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedElement.0-_ownedParameter.0"/>
+          </parameterSubstitution>
+          <parameterSubstitution xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0-_parameterSubstitution.1">
+            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
+            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedElement.0-_ownedParameter.1"/>
+          </parameterSubstitution>
+          <signature xmi:type="uml:RedefinableTemplateSignature" href="Ecore.metamodel.uml#EMap-_ownedElement.0"/>
+        </templateBinding>
+      </nestedClassifier>
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="Profile-EMap_EString_EString" name="EMap_EString_EString">
+        <templateBinding xmi:id="Profile-EMap_EString_EString-_templateBinding.0">
+          <parameterSubstitution xmi:id="Profile-EMap_EString_EString-_templateBinding.0-_parameterSubstitution.0">
+            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EString"/>
+            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedElement.0-_ownedParameter.0"/>
+          </parameterSubstitution>
+          <parameterSubstitution xmi:id="Profile-EMap_EString_EString-_templateBinding.0-_parameterSubstitution.1">
+            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EString"/>
+            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedElement.0-_ownedParameter.1"/>
+          </parameterSubstitution>
+          <signature xmi:type="uml:RedefinableTemplateSignature" href="Ecore.metamodel.uml#EMap-_ownedElement.0"/>
+        </templateBinding>
+      </nestedClassifier>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="ProfileApplication" name="ProfileApplication">
       <ownedComment xmi:id="ProfileApplication-_ownedComment.0" annotatedElement="ProfileApplication">
@@ -9976,6 +11636,31 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ProfileApplication-isStrict-_defaultValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="ProfileApplication-getAppliedDefinition" name="getAppliedDefinition" isQuery="true">
+        <ownedComment xmi:id="ProfileApplication-getAppliedDefinition-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition">
+          <body>Retrieves the definition (Ecore representation) of the profile associated with this profile application.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="ProfileApplication-getAppliedDefinition.1" name="getAppliedDefinition" isQuery="true">
+        <ownedComment xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition.1">
+          <body>Retrieves the definition (Ecore representation) of the specified named element in the profile associated with this profile application.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#ENamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition.1-namedElement" name="namedElement" type="NamedElement" effect="read">
+          <ownedComment xmi:id="ProfileApplication-getAppliedDefinition.1-namedElement-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition.1-namedElement">
+            <body>The named element for which to retrieve the applied definition.</body>
+          </ownedComment>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="Property" name="Property">
       <ownedComment xmi:id="Property-_ownedComment.0" annotatedElement="Property">
@@ -10109,7 +11794,7 @@
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-associationEnd-_lowerValue"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="Property-class" name="class" visibility="public" type="Class" subsettedProperty="A_attribute_classifier-classifier A_ownedAttribute_structuredClassifier-structuredClassifier NamedElement-namespace" association="A_ownedAttribute_class">
+      <ownedAttribute xmi:id="Property-class" name="class" visibility="public" type="Class" subsettedProperty="A_attribute_classifier-classifier A_ownedAttribute_structuredClassifier-structuredClassifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_class">
         <ownedComment xmi:id="Property-class-_ownedComment.0" annotatedElement="Property-class">
           <body>References the Class that owns the Property.</body>
         </ownedComment>
@@ -10118,7 +11803,7 @@
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-class-_lowerValue"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="Property-datatype" name="datatype" visibility="public" type="DataType" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_datatype">
+      <ownedAttribute xmi:id="Property-datatype" name="datatype" visibility="public" type="DataType" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_datatype">
         <ownedComment xmi:id="Property-datatype-_ownedComment.0" annotatedElement="Property-datatype">
           <body>The DataType that owns this Property.</body>
         </ownedComment>
@@ -10140,7 +11825,7 @@
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-defaultValue-_lowerValue"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="Property-interface" name="interface" visibility="public" type="Interface" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_interface">
+      <ownedAttribute xmi:id="Property-interface" name="interface" visibility="public" type="Interface" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_interface">
         <ownedComment xmi:id="Property-interface-_ownedComment.0" annotatedElement="Property-interface">
           <body>References the Interface that owns the Property</body>
         </ownedComment>
@@ -10223,6 +11908,105 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-subsettedProperty-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-subsettedProperty-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Property-getOtherEnd" name="getOtherEnd">
+        <ownedComment xmi:id="Property-getOtherEnd-_ownedComment.0" annotatedElement="Property-getOtherEnd">
+          <body>Retrieves the other end of the (binary) association in which this property is a member end.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Property-getOtherEnd-_ownedParameter.0" type="Property" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-getOtherEnd-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-getOtherEnd-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-isSetDefault" name="isSetDefault" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="Property-isSetDefault-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setBooleanDefaultValue" name="setBooleanDefaultValue">
+        <ownedComment xmi:id="Property-setBooleanDefaultValue-_ownedComment.0" annotatedElement="Property-setBooleanDefaultValue">
+          <body>Sets the default value for this property to the specified Boolean value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Property-setBooleanDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Property-setBooleanDefaultValue-value-_ownedComment.0" annotatedElement="Property-setBooleanDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setDefault" name="setDefault" visibility="protected">
+        <ownedParameter xmi:id="Property-setDefault-newDefault" name="newDefault" visibility="protected" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setIntegerDefaultValue" name="setIntegerDefaultValue">
+        <ownedComment xmi:id="Property-setIntegerDefaultValue-_ownedComment.0" annotatedElement="Property-setIntegerDefaultValue">
+          <body>Sets the default value for this property to the specified integer value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Property-setIntegerDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Property-setIntegerDefaultValue-value-_ownedComment.0" annotatedElement="Property-setIntegerDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setIsComposite" name="setIsComposite" visibility="protected">
+        <ownedParameter xmi:id="Property-setIsComposite-newIsComposite" name="newIsComposite" effect="read">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setIsNavigable" name="setIsNavigable">
+        <ownedComment xmi:id="Property-setIsNavigable-_ownedComment.0" annotatedElement="Property-setIsNavigable">
+          <body>Sets the navigability of this property as indicated.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Property-setIsNavigable-isNavigable" name="isNavigable" effect="read">
+          <ownedComment xmi:id="Property-setIsNavigable-isNavigable-_ownedComment.0" annotatedElement="Property-setIsNavigable-isNavigable">
+            <body>The new navigability.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setNullDefaultValue" name="setNullDefaultValue">
+        <ownedComment xmi:id="Property-setNullDefaultValue-_ownedComment.0" annotatedElement="Property-setNullDefaultValue">
+          <body>Sets the default value for this property to the null value.</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setOpposite" name="setOpposite" visibility="protected">
+        <ownedParameter xmi:id="Property-setOpposite-newOpposite" name="newOpposite" visibility="protected" type="Property" effect="read"/>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setRealDefaultValue" name="setRealDefaultValue">
+        <ownedComment xmi:id="Property-setRealDefaultValue-_ownedComment.0" annotatedElement="Property-setRealDefaultValue">
+          <body>Sets the default value for this property to the specified real value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Property-setRealDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Property-setRealDefaultValue-value-_ownedComment.0" annotatedElement="Property-setRealDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setStringDefaultValue" name="setStringDefaultValue">
+        <ownedComment xmi:id="Property-setStringDefaultValue-_ownedComment.0" annotatedElement="Property-setStringDefaultValue">
+          <body>Sets the default value for this property to the specified string value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Property-setStringDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Property-setStringDefaultValue-value-_ownedComment.0" annotatedElement="Property-setStringDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-setUnlimitedNaturalDefaultValue" name="setUnlimitedNaturalDefaultValue">
+        <ownedComment xmi:id="Property-setUnlimitedNaturalDefaultValue-_ownedComment.0" annotatedElement="Property-setUnlimitedNaturalDefaultValue">
+          <body>Sets the default value for this property to the specified unlimited natural value.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Property-setUnlimitedNaturalDefaultValue-value" name="value" effect="read">
+          <ownedComment xmi:id="Property-setUnlimitedNaturalDefaultValue-value-_ownedComment.0" annotatedElement="Property-setUnlimitedNaturalDefaultValue-value">
+            <body>The new default value.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Property-unsetDefault" name="unsetDefault" visibility="protected"/>
       <ownedOperation xmi:id="Property-default.1" name="default" visibility="public" bodyCondition="Property-default.1-spec" isQuery="true">
         <ownedComment xmi:id="Property-default.1-_ownedComment.0" annotatedElement="Property-default.1">
           <body>Missing derivation for Property::/default : String</body>
@@ -10236,6 +12020,7 @@
         <ownedParameter xmi:id="Property-default.1-result" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-default.1-result-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-default.1-result-_upperValue" value="1"/>
         </ownedParameter>
       </ownedOperation>
       <ownedOperation xmi:id="Property-isAttribute" name="isAttribute" visibility="public" bodyCondition="Property-isAttribute-spec" isQuery="true">
@@ -10340,7 +12125,9 @@
     endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="Property-opposite.1-result" name="result" visibility="public" type="Property" direction="return"/>
+        <ownedParameter xmi:id="Property-opposite.1-result" name="result" visibility="public" type="Property" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-opposite.1-result-_lowerValue"/>
+        </ownedParameter>
       </ownedOperation>
       <ownedOperation xmi:id="Property-subsettingContext" name="subsettingContext" visibility="public" bodyCondition="Property-subsettingContext-spec" isQuery="true">
         <ownedComment xmi:id="Property-subsettingContext-_ownedComment.0" annotatedElement="Property-subsettingContext">
@@ -11803,6 +13590,39 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-ownedAttribute-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-ownedAttribute-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Signal-createOwnedAttribute" name="createOwnedAttribute">
+        <ownedComment xmi:id="Signal-createOwnedAttribute-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute">
+          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this signal.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Signal-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
+        <ownedParameter xmi:id="Signal-createOwnedAttribute-name" name="name" effect="read">
+          <ownedComment xmi:id="Signal-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-name">
+            <body>The name for the new attribute, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-createOwnedAttribute-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-createOwnedAttribute-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Signal-createOwnedAttribute-type" name="type" type="Type" effect="read">
+          <ownedComment xmi:id="Signal-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-type">
+            <body>The type for the new attribute, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-createOwnedAttribute-type-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-createOwnedAttribute-type-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Signal-createOwnedAttribute-lower" name="lower" effect="read">
+          <ownedComment xmi:id="Signal-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-lower">
+            <body>The lower bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Signal-createOwnedAttribute-upper" name="upper" effect="read">
+          <ownedComment xmi:id="Signal-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-upper">
+            <body>The upper bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="SignalEvent" name="SignalEvent">
       <ownedComment xmi:id="SignalEvent-_ownedComment.0" annotatedElement="SignalEvent">
@@ -12403,6 +14223,103 @@
           <body>The profile that directly or indirectly contains this stereotype.</body>
         </ownedComment>
       </ownedAttribute>
+      <ownedOperation xmi:id="Stereotype-createExtension" name="createExtension">
+        <ownedComment xmi:id="Stereotype-createExtension-_ownedComment.0" annotatedElement="Stereotype-createExtension">
+          <body>Creates a(n) (required) extension of the specified metaclass with this stereotype.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Stereotype-createExtension-_ownedParameter.0" type="Extension" direction="return"/>
+        <ownedParameter xmi:id="Stereotype-createExtension-metaclass" name="metaclass" type="Class" effect="read">
+          <ownedComment xmi:id="Stereotype-createExtension-metaclass-_ownedComment.0" annotatedElement="Stereotype-createExtension-metaclass">
+            <body>The metaclass for the new extension.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Stereotype-createExtension-isRequired" name="isRequired" effect="read">
+          <ownedComment xmi:id="Stereotype-createExtension-isRequired-_ownedComment.0" annotatedElement="Stereotype-createExtension-isRequired">
+            <body>Whether the new extension should be required.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Stereotype-createIcon" name="createIcon">
+        <ownedComment xmi:id="Stereotype-createIcon-_ownedComment.0" annotatedElement="Stereotype-createIcon">
+          <body>Creates an icon with the specified location for this stereotype.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Stereotype-createIcon-_ownedParameter.0" type="Image" direction="return"/>
+        <ownedParameter xmi:id="Stereotype-createIcon-location" name="location" effect="read">
+          <ownedComment xmi:id="Stereotype-createIcon-location-_ownedComment.0" annotatedElement="Stereotype-createIcon-location">
+            <body>The location for the new icon.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Stereotype-createIcon.1" name="createIcon">
+        <ownedComment xmi:id="Stereotype-createIcon.1-_ownedComment.0" annotatedElement="Stereotype-createIcon.1">
+          <body>Creates an icon with the specified format and content for this stereotype.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Stereotype-createIcon.1-_ownedParameter.0" type="Image" direction="return"/>
+        <ownedParameter xmi:id="Stereotype-createIcon.1-format" name="format" effect="read">
+          <ownedComment xmi:id="Stereotype-createIcon.1-format-_ownedComment.0" annotatedElement="Stereotype-createIcon.1-format">
+            <body>The format for the new icon.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Stereotype-createIcon.1-content" name="content" effect="read">
+          <ownedComment xmi:id="Stereotype-createIcon.1-content-_ownedComment.0" annotatedElement="Stereotype-createIcon.1-content">
+            <body>The content for the new icon.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Stereotype-getAllExtendedMetaclasses" name="getAllExtendedMetaclasses" isQuery="true">
+        <ownedComment xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedComment.0" annotatedElement="Stereotype-getAllExtendedMetaclasses">
+          <body>Retrieves all the metaclasses extended by this stereotype, including the metaclasses extended by its superstereotypes.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0" type="Class" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Stereotype-getDefinition" name="getDefinition" isQuery="true">
+        <ownedComment xmi:id="Stereotype-getDefinition-_ownedComment.0" annotatedElement="Stereotype-getDefinition">
+          <body>Retrieves the current definition (Ecore representation) of this stereotype.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Stereotype-getDefinition-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getDefinition-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getDefinition-_ownedParameter.0-_upperValue" value="1"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Stereotype-getExtendedMetaclasses" name="getExtendedMetaclasses" isQuery="true">
+        <ownedComment xmi:id="Stereotype-getExtendedMetaclasses-_ownedComment.0" annotatedElement="Stereotype-getExtendedMetaclasses">
+          <body>Retrieves the metaclasses extended by this stereotype.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0" type="Class" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Stereotype-getKeyword" name="getKeyword" isQuery="true">
+        <ownedComment xmi:id="Stereotype-getKeyword-_ownedComment.0" annotatedElement="Stereotype-getKeyword">
+          <body>Retrieves the localized keyword for this stereotype.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Stereotype-getKeyword-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Stereotype-getKeyword.1" name="getKeyword" isQuery="true">
+        <ownedComment xmi:id="Stereotype-getKeyword.1-_ownedComment.0" annotatedElement="Stereotype-getKeyword.1">
+          <body>Retrieves the keyword for this stereotype, localized if indicated.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Stereotype-getKeyword.1-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Stereotype-getKeyword.1-localize" name="localize" effect="read">
+          <ownedComment xmi:id="Stereotype-getKeyword.1-localize-_ownedComment.0" annotatedElement="Stereotype-getKeyword.1-localize">
+            <body>Whether to localize the keyword.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Stereotype-containingProfile" name="containingProfile" visibility="public" bodyCondition="Stereotype-containingProfile-spec" isQuery="true">
         <ownedComment xmi:id="Stereotype-containingProfile-_ownedComment.0" annotatedElement="Stereotype-containingProfile">
           <body>The query containingProfile returns the closest profile directly or indirectly containing this stereotype.</body>
@@ -12604,7 +14521,7 @@
       <generalization xmi:id="StructuredActivityNode-_generalization.0" general="Action"/>
       <generalization xmi:id="StructuredActivityNode-_generalization.1" general="Namespace"/>
       <generalization xmi:id="StructuredActivityNode-_generalization.2" general="ActivityGroup"/>
-      <ownedAttribute xmi:id="StructuredActivityNode-activity" name="activity" visibility="public" type="Activity" redefinedProperty="ActivityGroup-inActivity ActivityNode-activity" association="A_structuredNode_activity">
+      <ownedAttribute xmi:id="StructuredActivityNode-activity" name="activity" visibility="public" type="Activity" isDerived="true" redefinedProperty="ActivityGroup-inActivity ActivityNode-activity" association="A_structuredNode_activity">
         <ownedComment xmi:id="StructuredActivityNode-activity-_ownedComment.0" annotatedElement="StructuredActivityNode-activity">
           <body>Activity immediately containing the node.</body>
         </ownedComment>
@@ -12689,6 +14606,39 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-role-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-role-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="StructuredClassifier-createOwnedAttribute" name="createOwnedAttribute">
+        <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute">
+          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this structured classifier.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
+        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-name" name="name" effect="read">
+          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-name-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-name">
+            <body>The name for the new attribute, or null.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-createOwnedAttribute-name-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-createOwnedAttribute-name-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-type" name="type" type="Type" effect="read">
+          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-type-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-type">
+            <body>The type for the new attribute, or null.</body>
+          </ownedComment>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-createOwnedAttribute-type-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-createOwnedAttribute-type-_upperValue" value="1"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-lower" name="lower" effect="read">
+          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-lower">
+            <body>The lower bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-upper" name="upper" effect="read">
+          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-upper">
+            <body>The upper bound for the new attribute.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="StructuredClassifier-part.1" name="part" visibility="public" bodyCondition="StructuredClassifier-part.1-spec" isQuery="true">
         <ownedComment xmi:id="StructuredClassifier-part.1-_ownedComment.0" annotatedElement="StructuredClassifier-part.1">
           <body>Missing derivation for StructuredClassifier::/part : Property</body>
@@ -13051,6 +15001,11 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TimeExpression-observation-_lowerValue"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TimeExpression-observation-_upperValue" value="*"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="TimeExpression-stringValue" name="stringValue" visibility="protected" isQuery="true">
+        <ownedParameter xmi:id="TimeExpression-stringValue-_ownedParameter.0" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+      </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="TimeInterval" name="TimeInterval">
       <ownedComment xmi:id="TimeInterval-_ownedComment.0" annotatedElement="TimeInterval">
@@ -13229,11 +15184,15 @@
         <ownedComment xmi:id="Transition-source-_ownedComment.0" annotatedElement="Transition-source">
           <body>Designates the originating vertex (state or pseudostate) of the transition.</body>
         </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-source-_lowerValue" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Transition-source-_upperValue" value="1"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="Transition-target" name="target" visibility="public" type="Vertex" association="A_incoming_target_vertex">
         <ownedComment xmi:id="Transition-target-_ownedComment.0" annotatedElement="Transition-target">
           <body>Designates the target vertex that is reached when the transition is taken.</body>
         </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-target-_lowerValue" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Transition-target-_upperValue" value="1"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="Transition-trigger" name="trigger" visibility="public" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_trigger_transition">
         <ownedComment xmi:id="Transition-trigger-_ownedComment.0" annotatedElement="Transition-trigger">
@@ -13324,12 +15283,90 @@
         <body>A type constrains the values represented by a typed element.</body>
       </ownedComment>
       <generalization xmi:id="Type-_generalization.0" general="PackageableElement"/>
-      <ownedAttribute xmi:id="Type-package" name="package" visibility="public" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage" association="A_ownedType_package">
+      <ownedAttribute xmi:id="Type-package" name="package" visibility="public" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage NamedElement-namespace" association="A_ownedType_package">
         <ownedComment xmi:id="Type-package-_ownedComment.0" annotatedElement="Type-package">
           <body>Specifies the owning package of this classifier, if any.</body>
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Type-package-_lowerValue"/>
       </ownedAttribute>
+      <ownedOperation xmi:id="Type-createAssociation" name="createAssociation">
+        <ownedComment xmi:id="Type-createAssociation-_ownedComment.0" annotatedElement="Type-createAssociation">
+          <body>Creates a(n) (binary) association between this type and the specified other type, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this type's nearest package.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Type-createAssociation-_ownedParameter.0" type="Association" direction="return"/>
+        <ownedParameter xmi:id="Type-createAssociation-end1IsNavigable" name="end1IsNavigable" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end1IsNavigable-_ownedComment.0" annotatedElement="Type-createAssociation-end1IsNavigable">
+            <body>The navigability for the first end of the new association.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end1Aggregation" name="end1Aggregation" type="AggregationKind" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end1Aggregation-_ownedComment.0" annotatedElement="Type-createAssociation-end1Aggregation">
+            <body>The aggregation for the first end of the new association.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end1Name" name="end1Name" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end1Name-_ownedComment.0" annotatedElement="Type-createAssociation-end1Name">
+            <body>The name for the first end of the new association.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end1Lower" name="end1Lower" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end1Lower-_ownedComment.0" annotatedElement="Type-createAssociation-end1Lower">
+            <body>The lower bound for the first end of the new association.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end1Upper" name="end1Upper" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end1Upper-_ownedComment.0" annotatedElement="Type-createAssociation-end1Upper">
+            <body>The upper bound for the first end of the new association.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end1Type" name="end1Type" type="Type" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end1Type-_ownedComment.0" annotatedElement="Type-createAssociation-end1Type">
+            <body>The type for the first end of the new association.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end2IsNavigable" name="end2IsNavigable" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end2IsNavigable-_ownedComment.0" annotatedElement="Type-createAssociation-end2IsNavigable">
+            <body>The navigability for the second end of the new association.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end2Aggregation" name="end2Aggregation" type="AggregationKind" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end2Aggregation-_ownedComment.0" annotatedElement="Type-createAssociation-end2Aggregation">
+            <body>The aggregation for the second end of the new association.</body>
+          </ownedComment>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end2Name" name="end2Name" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end2Name-_ownedComment.0" annotatedElement="Type-createAssociation-end2Name">
+            <body>The name for the second end of the new association.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end2Lower" name="end2Lower" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end2Lower-_ownedComment.0" annotatedElement="Type-createAssociation-end2Lower">
+            <body>The lower bound for the second end of the new association.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        </ownedParameter>
+        <ownedParameter xmi:id="Type-createAssociation-end2Upper" name="end2Upper" effect="read">
+          <ownedComment xmi:id="Type-createAssociation-end2Upper-_ownedComment.0" annotatedElement="Type-createAssociation-end2Upper">
+            <body>The upper bound for the second end of the new association.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:id="Type-getAssociations" name="getAssociations">
+        <ownedComment xmi:id="Type-getAssociations-_ownedComment.0" annotatedElement="Type-getAssociations">
+          <body>Retrieves the associations in which this type is involved.</body>
+        </ownedComment>
+        <ownedParameter xmi:id="Type-getAssociations-_ownedParameter.0" type="Association" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Type-getAssociations-_ownedParameter.0-_lowerValue"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Type-getAssociations-_ownedParameter.0-_upperValue" value="*"/>
+        </ownedParameter>
+      </ownedOperation>
       <ownedOperation xmi:id="Type-conformsTo" name="conformsTo" visibility="public" bodyCondition="Type-conformsTo-spec" isQuery="true">
         <ownedComment xmi:id="Type-conformsTo-_ownedComment.0" annotatedElement="Type-conformsTo">
           <body>The query conformsTo() gives true for a type that conforms to another. By default, two types do not conform to each other. This query is intended to be redefined for specific conformance situations.</body>
@@ -13975,7 +16012,7 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="WriteVariableAction-value-_lowerValue"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="AggregationKind" name="AggregationKind">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="AggregationKind" name="AggregationKind" visibility="private">
       <ownedComment xmi:id="AggregationKind-_ownedComment.0" annotatedElement="AggregationKind">
         <body>AggregationKind is an enumeration type that specifies the literals for defining the kind of aggregation of a property.</body>
       </ownedComment>
@@ -14015,7 +16052,7 @@
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="ConnectorKind" name="ConnectorKind">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="ConnectorKind" name="ConnectorKind" visibility="private">
       <ownedComment xmi:id="ConnectorKind-_ownedComment.0" annotatedElement="ConnectorKind">
         <body>ConnectorKind is an enumeration type.</body>
       </ownedComment>
@@ -14115,7 +16152,7 @@
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="MessageKind" name="MessageKind">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="MessageKind" name="MessageKind" visibility="private">
       <ownedComment xmi:id="MessageKind-_ownedComment.0" annotatedElement="MessageKind">
         <body>This is an enumerated type that identifies the type of message.</body>
       </ownedComment>
@@ -14225,7 +16262,7 @@
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="ParameterEffectKind" name="ParameterEffectKind">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="ParameterEffectKind" name="ParameterEffectKind" visibility="private">
       <ownedComment xmi:id="ParameterEffectKind-_ownedComment.0" annotatedElement="ParameterEffectKind">
         <body>The datatype ParameterEffectKind is an enumeration that indicates the effect of a behavior on values passed in or out of its parameters.</body>
       </ownedComment>
@@ -14325,7 +16362,7 @@
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="VisibilityKind" name="VisibilityKind">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="VisibilityKind" name="VisibilityKind" visibility="private">
       <ownedComment xmi:id="VisibilityKind-_ownedComment.0" annotatedElement="VisibilityKind">
         <body>VisibilityKind is an enumeration type that defines literals to determine the visibility of elements in a model.</body>
       </ownedComment>
@@ -14369,248 +16406,340 @@
       <appliedProfile href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/>
     </profileApplication>
   </uml:Model>
-  <Ecore:EPackage xmi:id="_LWVYQN7NEduglsXU_NKRsA" base_Package="_0" packageName="uml" nsPrefix="uml" nsURI="http://www.eclipse.org/uml2/4.0.0/UML"/>
-  <l3:Metamodel xmi:id="_6sqEIAwWEeGpT8Nozt30Tg" base_Model="_0"/>
-  <l2:Metaclass xmi:id="_6u1OYAwWEeGpT8Nozt30Tg" base_Class="Abstraction"/>
-  <l2:Metaclass xmi:id="_6u2cgAwWEeGpT8Nozt30Tg" base_Class="AcceptCallAction"/>
-  <l2:Metaclass xmi:id="_6u3DkAwWEeGpT8Nozt30Tg" base_Class="AcceptEventAction"/>
-  <l2:Metaclass xmi:id="_6u44wAwWEeGpT8Nozt30Tg" base_Class="Action"/>
-  <l2:Metaclass xmi:id="_6u7VAAwWEeGpT8Nozt30Tg" base_Class="ActionExecutionSpecification"/>
-  <l2:Metaclass xmi:id="_6u9KMAwWEeGpT8Nozt30Tg" base_Class="ActionInputPin"/>
-  <l2:Metaclass xmi:id="_6u-_YAwWEeGpT8Nozt30Tg" base_Class="Activity"/>
-  <l2:Metaclass xmi:id="_6vJXcAwWEeGpT8Nozt30Tg" base_Class="ActivityEdge"/>
-  <l2:Metaclass xmi:id="_6vTvgAwWEeGpT8Nozt30Tg" base_Class="ActivityFinalNode"/>
-  <l2:Metaclass xmi:id="_6vUWkAwWEeGpT8Nozt30Tg" base_Class="ActivityGroup"/>
-  <l2:Metaclass xmi:id="_6vWy0AwWEeGpT8Nozt30Tg" base_Class="ActivityNode"/>
-  <l2:Metaclass xmi:id="_6vZPEAwWEeGpT8Nozt30Tg" base_Class="ActivityParameterNode"/>
-  <l2:Metaclass xmi:id="_6vbEQAwWEeGpT8Nozt30Tg" base_Class="ActivityPartition"/>
-  <l2:Metaclass xmi:id="_6veHkAwWEeGpT8Nozt30Tg" base_Class="Actor"/>
-  <l2:Metaclass xmi:id="_6veuoAwWEeGpT8Nozt30Tg" base_Class="AddStructuralFeatureValueAction"/>
-  <l2:Metaclass xmi:id="_6vf8wAwWEeGpT8Nozt30Tg" base_Class="AddVariableValueAction"/>
-  <l2:Metaclass xmi:id="_6vhK4AwWEeGpT8Nozt30Tg" base_Class="AnyReceiveEvent"/>
-  <l2:Metaclass xmi:id="_6vhx8AwWEeGpT8Nozt30Tg" base_Class="Artifact"/>
-  <l2:Metaclass xmi:id="_6vjnIAwWEeGpT8Nozt30Tg" base_Class="Association"/>
-  <l2:Metaclass xmi:id="_6vnRgAwWEeGpT8Nozt30Tg" base_Class="AssociationClass"/>
-  <l2:Metaclass xmi:id="_6vn4kAwWEeGpT8Nozt30Tg" base_Class="Behavior"/>
-  <l2:Metaclass xmi:id="_6vri8AwWEeGpT8Nozt30Tg" base_Class="BehaviorExecutionSpecification"/>
-  <l2:Metaclass xmi:id="_6vsKAAwWEeGpT8Nozt30Tg" base_Class="BehavioralFeature"/>
-  <l2:Metaclass xmi:id="_6vvNUAwWEeGpT8Nozt30Tg" base_Class="BehavioredClassifier"/>
-  <l2:Metaclass xmi:id="_6vwbcAwWEeGpT8Nozt30Tg" base_Class="BroadcastSignalAction"/>
-  <l2:Metaclass xmi:id="_6vxCgAwWEeGpT8Nozt30Tg" base_Class="CallAction"/>
-  <l2:Metaclass xmi:id="_6v0F0AwWEeGpT8Nozt30Tg" base_Class="CallBehaviorAction"/>
-  <l2:Metaclass xmi:id="_6v1T8AwWEeGpT8Nozt30Tg" base_Class="CallEvent"/>
-  <l2:Metaclass xmi:id="_6v17AAwWEeGpT8Nozt30Tg" base_Class="CallOperationAction"/>
-  <l2:Metaclass xmi:id="_6wGZsAwWEeGpT8Nozt30Tg" base_Class="CentralBufferNode"/>
-  <l2:Metaclass xmi:id="_6wGZsQwWEeGpT8Nozt30Tg" base_Class="ChangeEvent"/>
-  <l2:Metaclass xmi:id="_6wHAwAwWEeGpT8Nozt30Tg" base_Class="Class"/>
-  <l2:Metaclass xmi:id="_6wMgUAwWEeGpT8Nozt30Tg" base_Class="Classifier"/>
-  <l2:Metaclass xmi:id="_6wXfcAwWEeGpT8Nozt30Tg" base_Class="ClassifierTemplateParameter"/>
-  <l2:Metaclass xmi:id="_6wYtkAwWEeGpT8Nozt30Tg" base_Class="Clause"/>
-  <l2:Metaclass xmi:id="_6wbJ0AwWEeGpT8Nozt30Tg" base_Class="ClearAssociationAction"/>
-  <l2:Metaclass xmi:id="_6wcX8AwWEeGpT8Nozt30Tg" base_Class="ClearStructuralFeatureAction"/>
-  <l2:Metaclass xmi:id="_6wc_AAwWEeGpT8Nozt30Tg" base_Class="ClearVariableAction"/>
-  <l2:Metaclass xmi:id="_6wdmEAwWEeGpT8Nozt30Tg" base_Class="Collaboration"/>
-  <l2:Metaclass xmi:id="_6weNIAwWEeGpT8Nozt30Tg" base_Class="CollaborationUse"/>
-  <l2:Metaclass xmi:id="_6wfbQAwWEeGpT8Nozt30Tg" base_Class="CombinedFragment"/>
-  <l2:Metaclass xmi:id="_6whQcAwWEeGpT8Nozt30Tg" base_Class="Comment"/>
-  <l2:Metaclass xmi:id="_6wiekAwWEeGpT8Nozt30Tg" base_Class="CommunicationPath"/>
-  <l2:Metaclass xmi:id="_6wjFoAwWEeGpT8Nozt30Tg" base_Class="Component"/>
-  <l2:Metaclass xmi:id="_6wnXEAwWEeGpT8Nozt30Tg" base_Class="ComponentRealization"/>
-  <l2:Metaclass xmi:id="_6wn-IAwWEeGpT8Nozt30Tg" base_Class="ConditionalNode"/>
-  <l2:Metaclass xmi:id="_6wqaYAwWEeGpT8Nozt30Tg" base_Class="ConnectableElement"/>
-  <l2:Metaclass xmi:id="_6wrogAwWEeGpT8Nozt30Tg" base_Class="ConnectableElementTemplateParameter"/>
-  <l2:Metaclass xmi:id="_6wsPkAwWEeGpT8Nozt30Tg" base_Class="ConnectionPointReference"/>
-  <l2:Metaclass xmi:id="_6wtdsAwWEeGpT8Nozt30Tg" base_Class="Connector"/>
-  <l2:Metaclass xmi:id="_6wwhAAwWEeGpT8Nozt30Tg" base_Class="ConnectorEnd"/>
-  <l2:Metaclass xmi:id="_6wyWMAwWEeGpT8Nozt30Tg" base_Class="ConsiderIgnoreFragment"/>
-  <l2:Metaclass xmi:id="_6wzkUAwWEeGpT8Nozt30Tg" base_Class="Constraint"/>
-  <l2:Metaclass xmi:id="_6w1ZgAwWEeGpT8Nozt30Tg" base_Class="Continuation"/>
-  <l2:Metaclass xmi:id="_6w2noAwWEeGpT8Nozt30Tg" base_Class="ControlFlow"/>
-  <l2:Metaclass xmi:id="_6w3OsAwWEeGpT8Nozt30Tg" base_Class="ControlNode"/>
-  <l2:Metaclass xmi:id="_6w31wAwWEeGpT8Nozt30Tg" base_Class="CreateLinkAction"/>
-  <l2:Metaclass xmi:id="_6w4c0AwWEeGpT8Nozt30Tg" base_Class="CreateLinkObjectAction"/>
-  <l2:Metaclass xmi:id="_6w5q8AwWEeGpT8Nozt30Tg" base_Class="CreateObjectAction"/>
-  <l2:Metaclass xmi:id="_6w65EAwWEeGpT8Nozt30Tg" base_Class="DataStoreNode"/>
-  <l2:Metaclass xmi:id="_6w7gIAwWEeGpT8Nozt30Tg" base_Class="DataType"/>
-  <l2:Metaclass xmi:id="_6w8uQAwWEeGpT8Nozt30Tg" base_Class="DecisionNode"/>
-  <l2:Metaclass xmi:id="_6w_KgAwWEeGpT8Nozt30Tg" base_Class="Dependency"/>
-  <l2:Metaclass xmi:id="_6w_xkAwWEeGpT8Nozt30Tg" base_Class="DeployedArtifact"/>
-  <l2:Metaclass xmi:id="_6xAYoAwWEeGpT8Nozt30Tg" base_Class="Deployment"/>
-  <l2:Metaclass xmi:id="_6xBmwAwWEeGpT8Nozt30Tg" base_Class="DeploymentSpecification"/>
-  <l2:Metaclass xmi:id="_6xC04AwWEeGpT8Nozt30Tg" base_Class="DeploymentTarget"/>
-  <l2:Metaclass xmi:id="_6xEqEAwWEeGpT8Nozt30Tg" base_Class="DestroyLinkAction"/>
-  <l2:Metaclass xmi:id="_6xFRIAwWEeGpT8Nozt30Tg" base_Class="DestroyObjectAction"/>
-  <l2:Metaclass xmi:id="_6xGfQAwWEeGpT8Nozt30Tg" base_Class="DestructionOccurrenceSpecification"/>
-  <l2:Metaclass xmi:id="_6xHGUAwWEeGpT8Nozt30Tg" base_Class="Device"/>
-  <l2:Metaclass xmi:id="_6xHGUQwWEeGpT8Nozt30Tg" base_Class="DirectedRelationship"/>
-  <l2:Metaclass xmi:id="_6xIUcAwWEeGpT8Nozt30Tg" base_Class="Duration"/>
-  <l2:Metaclass xmi:id="_6xI7gAwWEeGpT8Nozt30Tg" base_Class="DurationConstraint"/>
-  <l2:Metaclass xmi:id="_6xKJoAwWEeGpT8Nozt30Tg" base_Class="DurationInterval"/>
-  <l2:Metaclass xmi:id="_6xKwsAwWEeGpT8Nozt30Tg" base_Class="DurationObservation"/>
-  <l2:Metaclass xmi:id="_6xL-0AwWEeGpT8Nozt30Tg" base_Class="Element"/>
-  <l2:Metaclass xmi:id="_6xObEAwWEeGpT8Nozt30Tg" base_Class="ElementImport"/>
-  <l2:Metaclass xmi:id="_6xQQQAwWEeGpT8Nozt30Tg" base_Class="EncapsulatedClassifier"/>
-  <l2:Metaclass xmi:id="_6xSFcAwWEeGpT8Nozt30Tg" base_Class="Enumeration"/>
-  <l2:Metaclass xmi:id="_6xSsgAwWEeGpT8Nozt30Tg" base_Class="EnumerationLiteral"/>
-  <l2:Metaclass xmi:id="_6xUhsAwWEeGpT8Nozt30Tg" base_Class="Event"/>
-  <l2:Metaclass xmi:id="_6xUhsQwWEeGpT8Nozt30Tg" base_Class="ExceptionHandler"/>
-  <l2:Metaclass xmi:id="_6xW98AwWEeGpT8Nozt30Tg" base_Class="ExecutableNode"/>
-  <l2:Metaclass xmi:id="_6xXlAAwWEeGpT8Nozt30Tg" base_Class="ExecutionEnvironment"/>
-  <l2:Metaclass xmi:id="_6xXlAQwWEeGpT8Nozt30Tg" base_Class="ExecutionOccurrenceSpecification"/>
-  <l2:Metaclass xmi:id="_6xYMEAwWEeGpT8Nozt30Tg" base_Class="ExecutionSpecification"/>
-  <l2:Metaclass xmi:id="_6xYzIAwWEeGpT8Nozt30Tg" base_Class="ExpansionNode"/>
-  <l2:Metaclass xmi:id="_6xaBQAwWEeGpT8Nozt30Tg" base_Class="ExpansionRegion"/>
-  <l2:Metaclass xmi:id="_6xbPYAwWEeGpT8Nozt30Tg" base_Class="Expression"/>
-  <l2:Metaclass xmi:id="_6xcdgAwWEeGpT8Nozt30Tg" base_Class="Extend"/>
-  <l2:Metaclass xmi:id="_6xeSsAwWEeGpT8Nozt30Tg" base_Class="Extension"/>
-  <l2:Metaclass xmi:id="_6xgH4AwWEeGpT8Nozt30Tg" base_Class="ExtensionEnd"/>
-  <l2:Metaclass xmi:id="_6xh9EAwWEeGpT8Nozt30Tg" base_Class="ExtensionPoint"/>
-  <l2:Metaclass xmi:id="_6xjLMAwWEeGpT8Nozt30Tg" base_Class="Feature"/>
-  <l2:Metaclass xmi:id="_6xjyQAwWEeGpT8Nozt30Tg" base_Class="FinalNode"/>
-  <l2:Metaclass xmi:id="_6xkZUAwWEeGpT8Nozt30Tg" base_Class="FinalState"/>
-  <l2:Metaclass xmi:id="_6xmOgAwWEeGpT8Nozt30Tg" base_Class="FlowFinalNode"/>
-  <l2:Metaclass xmi:id="_6xm1kAwWEeGpT8Nozt30Tg" base_Class="ForkNode"/>
-  <l2:Metaclass xmi:id="_6xoDsAwWEeGpT8Nozt30Tg" base_Class="FunctionBehavior"/>
-  <l2:Metaclass xmi:id="_6xoqwAwWEeGpT8Nozt30Tg" base_Class="Gate"/>
-  <l2:Metaclass xmi:id="_6xpR0AwWEeGpT8Nozt30Tg" base_Class="GeneralOrdering"/>
-  <l2:Metaclass xmi:id="_6xqf8AwWEeGpT8Nozt30Tg" base_Class="Generalization"/>
-  <l2:Metaclass xmi:id="_6xsVIAwWEeGpT8Nozt30Tg" base_Class="GeneralizationSet"/>
-  <l2:Metaclass xmi:id="_6xuKUAwWEeGpT8Nozt30Tg" base_Class="Image"/>
-  <l2:Metaclass xmi:id="_6xvYcAwWEeGpT8Nozt30Tg" base_Class="Include"/>
-  <l2:Metaclass xmi:id="_6xv_gAwWEeGpT8Nozt30Tg" base_Class="InformationFlow"/>
-  <l2:Metaclass xmi:id="_6xzC0AwWEeGpT8Nozt30Tg" base_Class="InformationItem"/>
-  <l2:Metaclass xmi:id="_6x0Q8AwWEeGpT8Nozt30Tg" base_Class="InitialNode"/>
-  <l2:Metaclass xmi:id="_6x1fEAwWEeGpT8Nozt30Tg" base_Class="InputPin"/>
-  <l2:Metaclass xmi:id="_6x2GIAwWEeGpT8Nozt30Tg" base_Class="InstanceSpecification"/>
-  <l2:Metaclass xmi:id="_6x37UAwWEeGpT8Nozt30Tg" base_Class="InstanceValue"/>
-  <l2:Metaclass xmi:id="_6x4iYAwWEeGpT8Nozt30Tg" base_Class="Interaction"/>
-  <l2:Metaclass xmi:id="_6x6XkAwWEeGpT8Nozt30Tg" base_Class="InteractionConstraint"/>
-  <l2:Metaclass xmi:id="_6x8z0AwWEeGpT8Nozt30Tg" base_Class="InteractionFragment"/>
-  <l2:Metaclass xmi:id="_6x-B8AwWEeGpT8Nozt30Tg" base_Class="InteractionOperand"/>
-  <l2:Metaclass xmi:id="_6x_3IAwWEeGpT8Nozt30Tg" base_Class="InteractionUse"/>
-  <l2:Metaclass xmi:id="_6yCTYAwWEeGpT8Nozt30Tg" base_Class="Interface"/>
-  <l2:Metaclass xmi:id="_6yFWsAwWEeGpT8Nozt30Tg" base_Class="InterfaceRealization"/>
-  <l2:Metaclass xmi:id="_6yF9wAwWEeGpT8Nozt30Tg" base_Class="InterruptibleActivityRegion"/>
-  <l2:Metaclass xmi:id="_6yHL4AwWEeGpT8Nozt30Tg" base_Class="Interval"/>
-  <l2:Metaclass xmi:id="_6yHy8AwWEeGpT8Nozt30Tg" base_Class="IntervalConstraint"/>
-  <l2:Metaclass xmi:id="_6yIaAAwWEeGpT8Nozt30Tg" base_Class="InvocationAction"/>
-  <l2:Metaclass xmi:id="_6yJoIAwWEeGpT8Nozt30Tg" base_Class="JoinNode"/>
-  <l2:Metaclass xmi:id="_6yK2QAwWEeGpT8Nozt30Tg" base_Class="Lifeline"/>
-  <l2:Metaclass xmi:id="_6yMrcAwWEeGpT8Nozt30Tg" base_Class="LinkAction"/>
-  <l2:Metaclass xmi:id="_6yPHsAwWEeGpT8Nozt30Tg" base_Class="LinkEndCreationData"/>
-  <l2:Metaclass xmi:id="_6yQV0AwWEeGpT8Nozt30Tg" base_Class="LinkEndData"/>
-  <l2:Metaclass xmi:id="_6ySLAAwWEeGpT8Nozt30Tg" base_Class="LinkEndDestructionData"/>
-  <l2:Metaclass xmi:id="_6yUAMAwWEeGpT8Nozt30Tg" base_Class="LiteralBoolean"/>
-  <l2:Metaclass xmi:id="_6yVOUAwWEeGpT8Nozt30Tg" base_Class="LiteralInteger"/>
-  <l2:Metaclass xmi:id="_6yWccAwWEeGpT8Nozt30Tg" base_Class="LiteralNull"/>
-  <l2:Metaclass xmi:id="_6yXqkAwWEeGpT8Nozt30Tg" base_Class="LiteralReal"/>
-  <l2:Metaclass xmi:id="_6yY4sAwWEeGpT8Nozt30Tg" base_Class="LiteralSpecification"/>
-  <l2:Metaclass xmi:id="_6yZfwAwWEeGpT8Nozt30Tg" base_Class="LiteralString"/>
-  <l2:Metaclass xmi:id="_6yat4AwWEeGpT8Nozt30Tg" base_Class="LiteralUnlimitedNatural"/>
-  <l2:Metaclass xmi:id="_6yb8AAwWEeGpT8Nozt30Tg" base_Class="LoopNode"/>
-  <l2:Metaclass xmi:id="_6yfmYAwWEeGpT8Nozt30Tg" base_Class="Manifestation"/>
-  <l2:Metaclass xmi:id="_6ygNcAwWEeGpT8Nozt30Tg" base_Class="MergeNode"/>
-  <l2:Metaclass xmi:id="_6yg0gAwWEeGpT8Nozt30Tg" base_Class="Message"/>
-  <l2:Metaclass xmi:id="_6ylF8AwWEeGpT8Nozt30Tg" base_Class="MessageEnd"/>
-  <l2:Metaclass xmi:id="_6yltAAwWEeGpT8Nozt30Tg" base_Class="MessageEvent"/>
-  <l2:Metaclass xmi:id="_6ymUEAwWEeGpT8Nozt30Tg" base_Class="MessageOccurrenceSpecification"/>
-  <l2:Metaclass xmi:id="_6ym7IAwWEeGpT8Nozt30Tg" base_Class="Model"/>
-  <l2:Metaclass xmi:id="_6yniMAwWEeGpT8Nozt30Tg" base_Class="MultiplicityElement"/>
-  <l2:Metaclass xmi:id="_6yu28AwWEeGpT8Nozt30Tg" base_Class="NamedElement"/>
-  <l2:Metaclass xmi:id="_6y09kAwWEeGpT8Nozt30Tg" base_Class="Namespace"/>
-  <l2:Metaclass xmi:id="_6y7EMAwWEeGpT8Nozt30Tg" base_Class="Node"/>
-  <l2:Metaclass xmi:id="_6y8SUAwWEeGpT8Nozt30Tg" base_Class="ObjectFlow"/>
-  <l2:Metaclass xmi:id="_6y_VoAwWEeGpT8Nozt30Tg" base_Class="ObjectNode"/>
-  <l2:Metaclass xmi:id="_6zCY8AwWEeGpT8Nozt30Tg" base_Class="Observation"/>
-  <l2:Metaclass xmi:id="_6zDAAAwWEeGpT8Nozt30Tg" base_Class="OccurrenceSpecification"/>
-  <l2:Metaclass xmi:id="_6zEOIAwWEeGpT8Nozt30Tg" base_Class="OpaqueAction"/>
-  <l2:Metaclass xmi:id="_6zGDUAwWEeGpT8Nozt30Tg" base_Class="OpaqueBehavior"/>
-  <l2:Metaclass xmi:id="_6zHRcAwWEeGpT8Nozt30Tg" base_Class="OpaqueExpression"/>
-  <l2:Metaclass xmi:id="_6zMxAAwWEeGpT8Nozt30Tg" base_Class="Operation"/>
-  <l2:Metaclass xmi:id="_6zXJEAwWEeGpT8Nozt30Tg" base_Class="OperationTemplateParameter"/>
-  <l2:Metaclass xmi:id="_6zXwIAwWEeGpT8Nozt30Tg" base_Class="OutputPin"/>
-  <l2:Metaclass xmi:id="_6zYXMAwWEeGpT8Nozt30Tg" base_Class="Package"/>
-  <l2:Metaclass xmi:id="_6zgTAAwWEeGpT8Nozt30Tg" base_Class="PackageImport"/>
-  <l2:Metaclass xmi:id="_6ziIMAwWEeGpT8Nozt30Tg" base_Class="PackageMerge"/>
-  <l2:Metaclass xmi:id="_6zivQAwWEeGpT8Nozt30Tg" base_Class="PackageableElement"/>
-  <l2:Metaclass xmi:id="_6zjWUAwWEeGpT8Nozt30Tg" base_Class="Parameter"/>
-  <l2:Metaclass xmi:id="_6z0cEAwWEeGpT8Nozt30Tg" base_Class="ParameterSet"/>
-  <l2:Metaclass xmi:id="_6z2RQAwWEeGpT8Nozt30Tg" base_Class="ParameterableElement"/>
-  <l2:Metaclass xmi:id="_6z4GcAwWEeGpT8Nozt30Tg" base_Class="PartDecomposition"/>
-  <l2:Metaclass xmi:id="_6z5UkAwWEeGpT8Nozt30Tg" base_Class="Pin"/>
-  <l2:Metaclass xmi:id="_6z6isAwWEeGpT8Nozt30Tg" base_Class="Port"/>
-  <l2:Metaclass xmi:id="_6z-0IAwWEeGpT8Nozt30Tg" base_Class="PrimitiveType"/>
-  <l2:Metaclass xmi:id="_6z-0IQwWEeGpT8Nozt30Tg" base_Class="Profile"/>
-  <l2:Metaclass xmi:id="_60ApUAwWEeGpT8Nozt30Tg" base_Class="ProfileApplication"/>
-  <l2:Metaclass xmi:id="_60BQYAwWEeGpT8Nozt30Tg" base_Class="Property"/>
-  <l2:Metaclass xmi:id="_60PS0AwWEeGpT8Nozt30Tg" base_Class="ProtocolConformance"/>
-  <l2:Metaclass xmi:id="_60Qg8AwWEeGpT8Nozt30Tg" base_Class="ProtocolStateMachine"/>
-  <l2:Metaclass xmi:id="_60SWIAwWEeGpT8Nozt30Tg" base_Class="ProtocolTransition"/>
-  <l2:Metaclass xmi:id="_60UyYAwWEeGpT8Nozt30Tg" base_Class="Pseudostate"/>
-  <l2:Metaclass xmi:id="_60YcwAwWEeGpT8Nozt30Tg" base_Class="QualifierValue"/>
-  <l2:Metaclass xmi:id="_60Zq4AwWEeGpT8Nozt30Tg" base_Class="RaiseExceptionAction"/>
-  <l2:Metaclass xmi:id="_60aR8AwWEeGpT8Nozt30Tg" base_Class="ReadExtentAction"/>
-  <l2:Metaclass xmi:id="_60bgEAwWEeGpT8Nozt30Tg" base_Class="ReadIsClassifiedObjectAction"/>
-  <l2:Metaclass xmi:id="_60dVQAwWEeGpT8Nozt30Tg" base_Class="ReadLinkAction"/>
-  <l2:Metaclass xmi:id="_60fKcAwWEeGpT8Nozt30Tg" base_Class="ReadLinkObjectEndAction"/>
-  <l2:Metaclass xmi:id="_60hmsAwWEeGpT8Nozt30Tg" base_Class="ReadLinkObjectEndQualifierAction"/>
-  <l2:Metaclass xmi:id="_60lREAwWEeGpT8Nozt30Tg" base_Class="ReadSelfAction"/>
-  <l2:Metaclass xmi:id="_60nGQAwWEeGpT8Nozt30Tg" base_Class="ReadStructuralFeatureAction"/>
-  <l2:Metaclass xmi:id="_60ntUAwWEeGpT8Nozt30Tg" base_Class="ReadVariableAction"/>
-  <l2:Metaclass xmi:id="_60o7cAwWEeGpT8Nozt30Tg" base_Class="Realization"/>
-  <l2:Metaclass xmi:id="_60pigAwWEeGpT8Nozt30Tg" base_Class="Reception"/>
-  <l2:Metaclass xmi:id="_60r-wAwWEeGpT8Nozt30Tg" base_Class="ReclassifyObjectAction"/>
-  <l2:Metaclass xmi:id="_60ubAAwWEeGpT8Nozt30Tg" base_Class="RedefinableElement"/>
-  <l2:Metaclass xmi:id="_60xeUAwWEeGpT8Nozt30Tg" base_Class="RedefinableTemplateSignature"/>
-  <l2:Metaclass xmi:id="_60z6kAwWEeGpT8Nozt30Tg" base_Class="ReduceAction"/>
-  <l2:Metaclass xmi:id="_601vwAwWEeGpT8Nozt30Tg" base_Class="Region"/>
-  <l2:Metaclass xmi:id="_607PUAwWEeGpT8Nozt30Tg" base_Class="Relationship"/>
-  <l2:Metaclass xmi:id="_6072YAwWEeGpT8Nozt30Tg" base_Class="RemoveStructuralFeatureValueAction"/>
-  <l2:Metaclass xmi:id="_609EgAwWEeGpT8Nozt30Tg" base_Class="RemoveVariableValueAction"/>
-  <l2:Metaclass xmi:id="_609rkAwWEeGpT8Nozt30Tg" base_Class="ReplyAction"/>
-  <l2:Metaclass xmi:id="_60_gwAwWEeGpT8Nozt30Tg" base_Class="SendObjectAction"/>
-  <l2:Metaclass xmi:id="_61AH0AwWEeGpT8Nozt30Tg" base_Class="SendSignalAction"/>
-  <l2:Metaclass xmi:id="_61BV8AwWEeGpT8Nozt30Tg" base_Class="SequenceNode"/>
-  <l2:Metaclass xmi:id="_61B9AAwWEeGpT8Nozt30Tg" base_Class="Signal"/>
-  <l2:Metaclass xmi:id="_61CkEAwWEeGpT8Nozt30Tg" base_Class="SignalEvent"/>
-  <l2:Metaclass xmi:id="_61DLIAwWEeGpT8Nozt30Tg" base_Class="Slot"/>
-  <l2:Metaclass xmi:id="_61DyMAwWEeGpT8Nozt30Tg" base_Class="StartClassifierBehaviorAction"/>
-  <l2:Metaclass xmi:id="_61FAUAwWEeGpT8Nozt30Tg" base_Class="StartObjectBehaviorAction"/>
-  <l2:Metaclass xmi:id="_61G1gAwWEeGpT8Nozt30Tg" base_Class="State"/>
-  <l2:Metaclass xmi:id="_61P_cAwWEeGpT8Nozt30Tg" base_Class="StateInvariant"/>
-  <l2:Metaclass xmi:id="_61QmgAwWEeGpT8Nozt30Tg" base_Class="StateMachine"/>
-  <l2:Metaclass xmi:id="_61VfAAwWEeGpT8Nozt30Tg" base_Class="Stereotype"/>
-  <l2:Metaclass xmi:id="_61X7QAwWEeGpT8Nozt30Tg" base_Class="StringExpression"/>
-  <l2:Metaclass xmi:id="_61ZwcAwWEeGpT8Nozt30Tg" base_Class="StructuralFeature"/>
-  <l2:Metaclass xmi:id="_61a-kAwWEeGpT8Nozt30Tg" base_Class="StructuralFeatureAction"/>
-  <l2:Metaclass xmi:id="_61czwAwWEeGpT8Nozt30Tg" base_Class="StructuredActivityNode"/>
-  <l2:Metaclass xmi:id="_61f3EAwWEeGpT8Nozt30Tg" base_Class="StructuredClassifier"/>
-  <l2:Metaclass xmi:id="_61iTUAwWEeGpT8Nozt30Tg" base_Class="Substitution"/>
-  <l2:Metaclass xmi:id="_61i6YAwWEeGpT8Nozt30Tg" base_Class="TemplateBinding"/>
-  <l2:Metaclass xmi:id="_61kvkAwWEeGpT8Nozt30Tg" base_Class="TemplateParameter"/>
-  <l2:Metaclass xmi:id="_61l9sAwWEeGpT8Nozt30Tg" base_Class="TemplateParameterSubstitution"/>
-  <l2:Metaclass xmi:id="_61ny4AwWEeGpT8Nozt30Tg" base_Class="TemplateSignature"/>
-  <l2:Metaclass xmi:id="_61pBAAwWEeGpT8Nozt30Tg" base_Class="TemplateableElement"/>
-  <l2:Metaclass xmi:id="_61q2MAwWEeGpT8Nozt30Tg" base_Class="TestIdentityAction"/>
-  <l2:Metaclass xmi:id="_61srYAwWEeGpT8Nozt30Tg" base_Class="TimeConstraint"/>
-  <l2:Metaclass xmi:id="_61tScAwWEeGpT8Nozt30Tg" base_Class="TimeEvent"/>
-  <l2:Metaclass xmi:id="_61ugkAwWEeGpT8Nozt30Tg" base_Class="TimeExpression"/>
-  <l2:Metaclass xmi:id="_61vusAwWEeGpT8Nozt30Tg" base_Class="TimeInterval"/>
-  <l2:Metaclass xmi:id="_61wVwAwWEeGpT8Nozt30Tg" base_Class="TimeObservation"/>
-  <l2:Metaclass xmi:id="_61w80AwWEeGpT8Nozt30Tg" base_Class="Transition"/>
-  <l2:Metaclass xmi:id="_613qgAwWEeGpT8Nozt30Tg" base_Class="Trigger"/>
-  <l2:Metaclass xmi:id="_6144oAwWEeGpT8Nozt30Tg" base_Class="Type"/>
-  <l2:Metaclass xmi:id="_616GwAwWEeGpT8Nozt30Tg" base_Class="TypedElement"/>
-  <l2:Metaclass xmi:id="_616t0AwWEeGpT8Nozt30Tg" base_Class="UnmarshallAction"/>
-  <l2:Metaclass xmi:id="_619xIAwWEeGpT8Nozt30Tg" base_Class="Usage"/>
-  <l2:Metaclass xmi:id="_61-YMAwWEeGpT8Nozt30Tg" base_Class="UseCase"/>
-  <l2:Metaclass xmi:id="_62BbgAwWEeGpT8Nozt30Tg" base_Class="ValuePin"/>
-  <l2:Metaclass xmi:id="_62CpoAwWEeGpT8Nozt30Tg" base_Class="ValueSpecification"/>
-  <l2:Metaclass xmi:id="_62G7EAwWEeGpT8Nozt30Tg" base_Class="ValueSpecificationAction"/>
-  <l2:Metaclass xmi:id="_62IJMAwWEeGpT8Nozt30Tg" base_Class="Variable"/>
-  <l2:Metaclass xmi:id="_62J-YAwWEeGpT8Nozt30Tg" base_Class="VariableAction"/>
-  <l2:Metaclass xmi:id="_62KlcAwWEeGpT8Nozt30Tg" base_Class="Vertex"/>
-  <l2:Metaclass xmi:id="_62NowAwWEeGpT8Nozt30Tg" base_Class="WriteLinkAction"/>
-  <l2:Metaclass xmi:id="_62OP0AwWEeGpT8Nozt30Tg" base_Class="WriteStructuralFeatureAction"/>
-  <l2:Metaclass xmi:id="_62QsEAwWEeGpT8Nozt30Tg" base_Class="WriteVariableAction"/>
+  <Ecore:EPackage xmi:id="_LWVYQN7NEduglsXU_NKRsA" base_Package="_0" packageName="uml" nsPrefix="uml" nsURI="http://www.eclipse.org/uml2/4.0.0/UML" basePackage="org.eclipse.uml2" prefix="UML"/>
+  <Ecore:EGenericType xmi:id="_PUkIYN7NEduglsXU_NKRsA" base_DataType="Profile-EMap_EJavaObject_EJavaObject"/>
+  <Ecore:EGenericType xmi:id="_QfhfoN7NEduglsXU_NKRsA" base_DataType="Profile-EMap_EString_EString"/>
+  <Ecore:EOperation xmi:id="_SnLRYMb4EdyrC427ygySag" base_Operation="OpaqueExpression-result.1" operationName="getResult" visibility="None"/>
+  <Ecore:EOperation xmi:id="_xkIRwMb4EdyrC427ygySag" base_Operation="Parameter-default.1" operationName="getDefault" visibility="None"/>
+  <Ecore:EOperation xmi:id="_zi8H0Mb4EdyrC427ygySag" base_Operation="Parameter-isSetDefault" visibility="None"/>
+  <Ecore:EOperation xmi:id="_1Bty8Mb4EdyrC427ygySag" base_Operation="Parameter-setDefault" visibility="None"/>
+  <Ecore:EOperation xmi:id="_3E_SQMb4EdyrC427ygySag" base_Operation="Parameter-unsetDefault" visibility="None"/>
+  <Ecore:EOperation xmi:id="_hObjwMb6EdyrC427ygySag" base_Operation="Class-extension.1" operationName="getExtensions" visibility="None"/>
+  <Ecore:EOperation xmi:id="_kCb8cMb6EdyrC427ygySag" base_Operation="ExtensionEnd-getLower" visibility="None"/>
+  <Ecore:EOperation xmi:id="_lz-ykMb6EdyrC427ygySag" visibility="None"/>
+  <Ecore:EOperation xmi:id="_wTSDAMb6EdyrC427ygySag" base_Operation="RedefinableTemplateSignature-inheritedParameter.1" operationName="getInheritedParameters" visibility="None"/>
+  <Ecore:EOperation xmi:id="_26LegMb6EdyrC427ygySag" base_Operation="OpaqueExpression-stringValue" visibility="None"/>
+  <Ecore:EOperation xmi:id="_5WV-8Mb6EdyrC427ygySag" base_Operation="LiteralInteger-stringValue" visibility="None"/>
+  <Ecore:EOperation xmi:id="_n89b0Mb7EdyrC427ygySag" base_Operation="LiteralBoolean-stringValue" visibility="None"/>
+  <Ecore:EOperation xmi:id="_poGH8Mb7EdyrC427ygySag" base_Operation="MultiplicityElement-setLower" visibility="None"/>
+  <Ecore:EOperation xmi:id="_q6DfEMb7EdyrC427ygySag" base_Operation="MultiplicityElement-setUpper" visibility="None"/>
+  <Ecore:EOperation xmi:id="_sq2uUMb7EdyrC427ygySag" base_Operation="Property-default.1" operationName="getDefault" visibility="None"/>
+  <Ecore:EOperation xmi:id="_uRhxMMb7EdyrC427ygySag" base_Operation="Property-isSetDefault" visibility="None"/>
+  <Ecore:EOperation xmi:id="_vxMNIMb7EdyrC427ygySag" base_Operation="Property-setDefault" visibility="None"/>
+  <Ecore:EOperation xmi:id="_wtF0sMb7EdyrC427ygySag" base_Operation="Property-setIsComposite" visibility="None"/>
+  <Ecore:EOperation xmi:id="_xr-e0Mb7EdyrC427ygySag" base_Operation="Property-setOpposite" visibility="None"/>
+  <Ecore:EOperation xmi:id="_1ce8AMb7EdyrC427ygySag" base_Operation="Property-unsetDefault" visibility="None"/>
+  <Ecore:EOperation xmi:id="_ADORMMb8EdyrC427ygySag" base_Operation="Operation-lower.1" operationName="getLower" visibility="None"/>
+  <Ecore:EOperation xmi:id="_Bqyr8Mb8EdyrC427ygySag" base_Operation="Operation-upper.1" operationName="getUpper" visibility="None"/>
+  <Ecore:EOperation xmi:id="_M8TccMb8EdyrC427ygySag" base_Operation="InstanceValue-stringValue" visibility="None"/>
+  <Ecore:EOperation xmi:id="_O5LY0Mb8EdyrC427ygySag" base_Operation="LiteralUnlimitedNatural-stringValue" visibility="None"/>
+  <Ecore:EOperation xmi:id="_Qrd10Mb8EdyrC427ygySag" base_Operation="Behavior-context.1" operationName="getContext" visibility="None"/>
+  <Ecore:EOperation xmi:id="_SnJfYMb8EdyrC427ygySag" base_Operation="Port-provided.1" operationName="getProvideds" visibility="None"/>
+  <Ecore:EOperation xmi:id="_UIAOIMb8EdyrC427ygySag" base_Operation="Port-required.1" operationName="getRequireds" visibility="None"/>
+  <Ecore:EOperation xmi:id="_WQMpsMb8EdyrC427ygySag" base_Operation="ConnectorEnd-definingEnd.1" operationName="getDefiningEnd" visibility="None"/>
+  <Ecore:EOperation xmi:id="_YY_iMMb8EdyrC427ygySag" base_Operation="Message-messageKind.1" operationName="getMessageKind" visibility="None"/>
+  <Ecore:EOperation xmi:id="_oEJMcMb8EdyrC427ygySag" base_Operation="Duration-stringValue" visibility="None"/>
+  <Ecore:EOperation xmi:id="_p3eLQMb8EdyrC427ygySag" base_Operation="TimeExpression-stringValue" visibility="None"/>
+  <Ecore:EOperation xmi:id="_tDBhQMb8EdyrC427ygySag" base_Operation="LiteralString-integerValue" visibility="None"/>
+  <Ecore:EOperation xmi:id="_upizIMb8EdyrC427ygySag" base_Operation="LiteralString-unlimitedValue" visibility="None"/>
+  <Ecore:EAttribute xmi:id="_qlk0MLGzEeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="Comment-body"/>
+  <Ecore:EAttribute xmi:id="_F9XrwLG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="NamedElement-name"/>
+  <Ecore:EAttribute xmi:id="_Y0N18LG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="NamedElement-visibility"/>
+  <Ecore:EAttribute xmi:id="_m8ZRkLG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="ElementImport-alias"/>
+  <Ecore:EAttribute xmi:id="_78jRoLG0EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueExpression-body"/>
+  <Ecore:EAttribute xmi:id="_HIUmgLG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueExpression-language"/>
+  <Ecore:EAttribute xmi:id="_ez3OwLG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Parameter-default"/>
+  <Ecore:EAttribute xmi:id="_7MAJALG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Parameter-effect"/>
+  <Ecore:EAttribute xmi:id="_Nqs48LG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Property-default"/>
+  <Ecore:EAttribute xmi:id="_gB_ZULG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="DeploymentSpecification-deploymentLocation"/>
+  <Ecore:EAttribute xmi:id="_oqhVYLG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="DeploymentSpecification-executionLocation"/>
+  <Ecore:EAttribute xmi:id="_15YjYLG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Artifact-fileName"/>
+  <Ecore:EAttribute xmi:id="_VA4m4LG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-content"/>
+  <Ecore:EAttribute xmi:id="_dFvOILG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-location"/>
+  <Ecore:EAttribute xmi:id="_lgZGQLG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-format"/>
+  <Ecore:EAttribute xmi:id="_yBw8ILG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Model-viewpoint"/>
+  <Ecore:EAttribute xmi:id="_A6JssLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Expression-symbol"/>
+  <Ecore:EAttribute xmi:id="_XOU5YLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="LiteralString-value"/>
+  <Ecore:EAttribute xmi:id="_tNrsoLG4EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueBehavior-body"/>
+  <Ecore:EAttribute xmi:id="_zHmtYLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueBehavior-language"/>
+  <Ecore:EAttribute xmi:id="_CYKtYLG5EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueAction-body"/>
+  <Ecore:EAttribute xmi:id="_FL4LILG5EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueAction-language"/>
+  <Ecore:EOperation xmi:id="_glNIILKHEeCwDd6B2NQzWA" base_Operation="Operation-type.1" operationName="getType" visibility="None"/>
+  <Ecore:EOperation xmi:id="_Lsf0QLLREeCsYvaJqFFivQ" base_Operation="Action-context.1" operationName="getContext" visibility="None"/>
+  <Ecore:EOperation xmi:id="_CRhSILLSEeCsYvaJqFFivQ" base_Operation="Association-endType.1" operationName="getEndTypes" visibility="None"/>
+  <Ecore:EOperation xmi:id="_q1_mYLLSEeCsYvaJqFFivQ" base_Operation="Class-superClass.1" operationName="getSuperClasses" visibility="None"/>
+  <Ecore:EOperation xmi:id="_52-SQLLSEeCsYvaJqFFivQ" base_Operation="Classifier-general.1" operationName="getGenerals" visibility="None"/>
+  <Ecore:EOperation xmi:id="_JTGpELLTEeCsYvaJqFFivQ" base_Operation="Classifier-inheritedMember.1" operationName="getInheritedMembers" visibility="None"/>
+  <Ecore:EOperation xmi:id="_VEmrwLLUEeCsYvaJqFFivQ" base_Operation="Component-provided.1" operationName="getProvideds" visibility="None"/>
+  <Ecore:EOperation xmi:id="_tPlpELLUEeCsYvaJqFFivQ" base_Operation="Component-required.1" operationName="getRequireds" visibility="None"/>
+  <Ecore:EOperation xmi:id="_LwnicLLVEeCsYvaJqFFivQ" base_Operation="ConnectableElement-end.1" operationName="getEnds" visibility="None"/>
+  <Ecore:EOperation xmi:id="_rodBQLLWEeCsYvaJqFFivQ" base_Operation="Connector-kind.1" operationName="getKind" visibility="None"/>
+  <Ecore:EOperation xmi:id="_9YlJELLYEeCsYvaJqFFivQ" base_Operation="DeploymentTarget-deployedElement.1" operationName="getDeployedElements" visibility="None"/>
+  <Ecore:EOperation xmi:id="_WhXsQLL2EeCBifIhhuFqZA" base_Operation="EncapsulatedClassifier-ownedPort.1" operationName="getOwnedPorts" visibility="None"/>
+  <Ecore:EOperation xmi:id="_uIYZ0LL2EeCBifIhhuFqZA" base_Operation="EnumerationLiteral-classifier.1" operationName="getClassifier" visibility="None"/>
+  <Ecore:EOperation xmi:id="_GdT9ULL3EeCBifIhhuFqZA" base_Operation="Extension-metaclass.1" operationName="getMetaclass" visibility="None"/>
+  <Ecore:EOperation xmi:id="_ezWUELL3EeCBifIhhuFqZA" base_Operation="MultiplicityElement-lower.1" operationName="getLower" visibility="None"/>
+  <Ecore:EOperation xmi:id="_ig3HoLL3EeCBifIhhuFqZA" base_Operation="MultiplicityElement-upper.1" operationName="getUpper" visibility="None"/>
+  <Ecore:EOperation xmi:id="_0bHGsLL3EeCBifIhhuFqZA" base_Operation="NamedElement-namespace.1" operationName="getNamespace" visibility="None"/>
+  <Ecore:EOperation xmi:id="_GMe2kLL4EeCBifIhhuFqZA" base_Operation="NamedElement-qualifiedName.1" operationName="getQualifiedName" visibility="None"/>
+  <Ecore:EOperation xmi:id="_WLi7ULL4EeCBifIhhuFqZA" base_Operation="Namespace-importedMember.1" operationName="getImportedMembers" visibility="None"/>
+  <Ecore:EOperation xmi:id="_kOOy8LL4EeCBifIhhuFqZA" base_Operation="Namespace-ownedMember.1" operationName="getOwnedMembers" visibility="None"/>
+  <Ecore:EOperation xmi:id="_K1fzoLL5EeCBifIhhuFqZA" base_Operation="Package-nestedPackage.1" operationName="getNestedPackages" visibility="None"/>
+  <Ecore:EOperation xmi:id="_rz9_0LL5EeCBifIhhuFqZA" base_Operation="Package-ownedStereotype.1" operationName="getOwnedStereotypes" visibility="None"/>
+  <Ecore:EOperation xmi:id="_ANO_ALL6EeCBifIhhuFqZA" base_Operation="Package-ownedType.1" operationName="getOwnedTypes" visibility="None"/>
+  <Ecore:EOperation xmi:id="_zo6GULL6EeCBifIhhuFqZA" base_Operation="Property-opposite.1" operationName="getOpposite" visibility="None"/>
+  <Ecore:EOperation xmi:id="_SxtxYLL7EeCBifIhhuFqZA" base_Operation="ProtocolTransition-referred.1" operationName="getReferreds" visibility="None"/>
+  <Ecore:EOperation xmi:id="_1Kjp0LL7EeCBifIhhuFqZA" base_Operation="Stereotype-profile.1" operationName="getProfile" visibility="None"/>
+  <Ecore:EOperation xmi:id="_G_HQkLL8EeCBifIhhuFqZA" base_Operation="StructuredClassifier-part.1" operationName="getParts" visibility="None"/>
+  <Ecore:EOperation xmi:id="_0SoRYLL9EeCBifIhhuFqZA" base_Operation="Vertex-incoming.1" operationName="getIncomings" visibility="None"/>
+  <Ecore:EOperation xmi:id="_BI5ZMLL-EeCBifIhhuFqZA" base_Operation="Vertex-outgoing.1" operationName="getOutgoings" visibility="None"/>
+  <Ecore:EOperation xmi:id="_dy4cULNJEeCT16-4OmDs9g" base_Operation="EnumerationLiteral-getClassifiers" visibility="None"/>
+  <Ecore:EAttribute xmi:id="_dFQKQNwaEeCT5O2F6sGn5g" isUnsettable="true" base_Property="Behavior-isReentrant"/>
+  <Ecore:EReference xmi:id="_JWtREAtDEeGcpbeCPJfCmw" xmlName="group" xmlFeatureKind="Element" base_Property="Activity-ownedGroup"/>
+  <Ecore:EReference xmi:id="_N4I04AtDEeGcpbeCPJfCmw" xmlName="node" xmlFeatureKind="Element" base_Property="Activity-ownedNode"/>
+  <Ecore:EReference xmi:id="_1XKowBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="Activity-node"/>
+  <Ecore:EReference xmi:id="_4FNjYBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="Activity-group"/>
+  <l3:Metamodel xmi:id="_SgJNYKtKEeGF4uwJob34Mw" base_Model="_0"/>
+  <l2:Metaclass xmi:id="_ShQnsKtKEeGF4uwJob34Mw" base_Class="Abstraction"/>
+  <l2:Metaclass xmi:id="_ShROwKtKEeGF4uwJob34Mw" base_Class="AcceptCallAction"/>
+  <l2:Metaclass xmi:id="_ShR10KtKEeGF4uwJob34Mw" base_Class="AcceptEventAction"/>
+  <l2:Metaclass xmi:id="_ShSc4KtKEeGF4uwJob34Mw" base_Class="Action"/>
+  <l2:Metaclass xmi:id="_ShUSEKtKEeGF4uwJob34Mw" base_Class="ActionExecutionSpecification"/>
+  <l2:Metaclass xmi:id="_ShUSEatKEeGF4uwJob34Mw" base_Class="ActionInputPin"/>
+  <l2:Metaclass xmi:id="_ShU5IKtKEeGF4uwJob34Mw" base_Class="Activity"/>
+  <l2:Metaclass xmi:id="_ShWuUKtKEeGF4uwJob34Mw" base_Class="ActivityEdge"/>
+  <l2:Metaclass xmi:id="_ShYjgKtKEeGF4uwJob34Mw" base_Class="ActivityFinalNode"/>
+  <l2:Metaclass xmi:id="_ShYjgatKEeGF4uwJob34Mw" base_Class="ActivityGroup"/>
+  <l2:Metaclass xmi:id="_ShZxoKtKEeGF4uwJob34Mw" base_Class="ActivityNode"/>
+  <l2:Metaclass xmi:id="_Shbm0KtKEeGF4uwJob34Mw" base_Class="ActivityParameterNode"/>
+  <l2:Metaclass xmi:id="_ShcN4KtKEeGF4uwJob34Mw" base_Class="ActivityPartition"/>
+  <l2:Metaclass xmi:id="_SheDEKtKEeGF4uwJob34Mw" base_Class="Actor"/>
+  <l2:Metaclass xmi:id="_SheqIKtKEeGF4uwJob34Mw" base_Class="AddStructuralFeatureValueAction"/>
+  <l2:Metaclass xmi:id="_ShfRMKtKEeGF4uwJob34Mw" base_Class="AddVariableValueAction"/>
+  <l2:Metaclass xmi:id="_Shf4QKtKEeGF4uwJob34Mw" base_Class="AnyReceiveEvent"/>
+  <l2:Metaclass xmi:id="_Shf4QatKEeGF4uwJob34Mw" base_Class="Artifact"/>
+  <l2:Metaclass xmi:id="_ShjioKtKEeGF4uwJob34Mw" base_Class="Association"/>
+  <l2:Metaclass xmi:id="_ShnNAKtKEeGF4uwJob34Mw" base_Class="AssociationClass"/>
+  <l2:Metaclass xmi:id="_Shn0EKtKEeGF4uwJob34Mw" base_Class="Behavior"/>
+  <l2:Metaclass xmi:id="_ShsFgKtKEeGF4uwJob34Mw" base_Class="BehaviorExecutionSpecification"/>
+  <l2:Metaclass xmi:id="_ShsskKtKEeGF4uwJob34Mw" base_Class="BehavioralFeature"/>
+  <l2:Metaclass xmi:id="_ShwW8KtKEeGF4uwJob34Mw" base_Class="BehavioredClassifier"/>
+  <l2:Metaclass xmi:id="_ShyzMKtKEeGF4uwJob34Mw" base_Class="BroadcastSignalAction"/>
+  <l2:Metaclass xmi:id="_Sh0BUKtKEeGF4uwJob34Mw" base_Class="CallAction"/>
+  <l2:Metaclass xmi:id="_Sh12gKtKEeGF4uwJob34Mw" base_Class="CallBehaviorAction"/>
+  <l2:Metaclass xmi:id="_Sh3EoKtKEeGF4uwJob34Mw" base_Class="CallEvent"/>
+  <l2:Metaclass xmi:id="_Sh3rsKtKEeGF4uwJob34Mw" base_Class="CallOperationAction"/>
+  <l2:Metaclass xmi:id="_Sh450KtKEeGF4uwJob34Mw" base_Class="CentralBufferNode"/>
+  <l2:Metaclass xmi:id="_Sh5g4KtKEeGF4uwJob34Mw" base_Class="ChangeEvent"/>
+  <l2:Metaclass xmi:id="_Sh6H8KtKEeGF4uwJob34Mw" base_Class="Class"/>
+  <l2:Metaclass xmi:id="_SiBcsKtKEeGF4uwJob34Mw" base_Class="Classifier"/>
+  <l2:Metaclass xmi:id="_SiTwkKtKEeGF4uwJob34Mw" base_Class="ClassifierTemplateParameter"/>
+  <l2:Metaclass xmi:id="_SiU-sKtKEeGF4uwJob34Mw" base_Class="Clause"/>
+  <l2:Metaclass xmi:id="_SiYCAKtKEeGF4uwJob34Mw" base_Class="ClearAssociationAction"/>
+  <l2:Metaclass xmi:id="_SiZQIKtKEeGF4uwJob34Mw" base_Class="ClearStructuralFeatureAction"/>
+  <l2:Metaclass xmi:id="_SiZ3MKtKEeGF4uwJob34Mw" base_Class="ClearVariableAction"/>
+  <l2:Metaclass xmi:id="_SiaeQKtKEeGF4uwJob34Mw" base_Class="Collaboration"/>
+  <l2:Metaclass xmi:id="_SibFUKtKEeGF4uwJob34Mw" base_Class="CollaborationUse"/>
+  <l2:Metaclass xmi:id="_Sic6gKtKEeGF4uwJob34Mw" base_Class="CombinedFragment"/>
+  <l2:Metaclass xmi:id="_SievsKtKEeGF4uwJob34Mw" base_Class="Comment"/>
+  <l2:Metaclass xmi:id="_Sif90KtKEeGF4uwJob34Mw" base_Class="CommunicationPath"/>
+  <l2:Metaclass xmi:id="_SihL8KtKEeGF4uwJob34Mw" base_Class="Component"/>
+  <l2:Metaclass xmi:id="_SiqV4KtKEeGF4uwJob34Mw" base_Class="ComponentRealization"/>
+  <l2:Metaclass xmi:id="_SirkAKtKEeGF4uwJob34Mw" base_Class="ConditionalNode"/>
+  <l2:Metaclass xmi:id="_SiunUKtKEeGF4uwJob34Mw" base_Class="ConnectableElement"/>
+  <l2:Metaclass xmi:id="_SixDkKtKEeGF4uwJob34Mw" base_Class="ConnectableElementTemplateParameter"/>
+  <l2:Metaclass xmi:id="_SixqoKtKEeGF4uwJob34Mw" base_Class="ConnectionPointReference"/>
+  <l2:Metaclass xmi:id="_Sizf0KtKEeGF4uwJob34Mw" base_Class="Connector"/>
+  <l2:Metaclass xmi:id="_Si3xQKtKEeGF4uwJob34Mw" base_Class="ConnectorEnd"/>
+  <l2:Metaclass xmi:id="_Si60kKtKEeGF4uwJob34Mw" base_Class="ConsiderIgnoreFragment"/>
+  <l2:Metaclass xmi:id="_Si8pwKtKEeGF4uwJob34Mw" base_Class="Constraint"/>
+  <l2:Metaclass xmi:id="_Si_GAKtKEeGF4uwJob34Mw" base_Class="Continuation"/>
+  <l2:Metaclass xmi:id="_SjAUIKtKEeGF4uwJob34Mw" base_Class="ControlFlow"/>
+  <l2:Metaclass xmi:id="_SjA7MKtKEeGF4uwJob34Mw" base_Class="ControlNode"/>
+  <l2:Metaclass xmi:id="_SjBiQKtKEeGF4uwJob34Mw" base_Class="CreateLinkAction"/>
+  <l2:Metaclass xmi:id="_SjCwYKtKEeGF4uwJob34Mw" base_Class="CreateLinkObjectAction"/>
+  <l2:Metaclass xmi:id="_SjElkKtKEeGF4uwJob34Mw" base_Class="CreateObjectAction"/>
+  <l2:Metaclass xmi:id="_SjHB0KtKEeGF4uwJob34Mw" base_Class="DataStoreNode"/>
+  <l2:Metaclass xmi:id="_SjHo4KtKEeGF4uwJob34Mw" base_Class="DataType"/>
+  <l2:Metaclass xmi:id="_SjNIcKtKEeGF4uwJob34Mw" base_Class="DecisionNode"/>
+  <l2:Metaclass xmi:id="_SjQLwKtKEeGF4uwJob34Mw" base_Class="Dependency"/>
+  <l2:Metaclass xmi:id="_SjQy0KtKEeGF4uwJob34Mw" base_Class="DeployedArtifact"/>
+  <l2:Metaclass xmi:id="_SjRZ4KtKEeGF4uwJob34Mw" base_Class="Deployment"/>
+  <l2:Metaclass xmi:id="_SjSoAKtKEeGF4uwJob34Mw" base_Class="DeploymentSpecification"/>
+  <l2:Metaclass xmi:id="_SjUdMKtKEeGF4uwJob34Mw" base_Class="DeploymentTarget"/>
+  <l2:Metaclass xmi:id="_SjVrUKtKEeGF4uwJob34Mw" base_Class="DestroyLinkAction"/>
+  <l2:Metaclass xmi:id="_SjW5cKtKEeGF4uwJob34Mw" base_Class="DestroyObjectAction"/>
+  <l2:Metaclass xmi:id="_SjYuoKtKEeGF4uwJob34Mw" base_Class="DestructionOccurrenceSpecification"/>
+  <l2:Metaclass xmi:id="_SjZ8wKtKEeGF4uwJob34Mw" base_Class="Device"/>
+  <l2:Metaclass xmi:id="_SjZ8watKEeGF4uwJob34Mw" base_Class="DirectedRelationship"/>
+  <l2:Metaclass xmi:id="_SjbK4KtKEeGF4uwJob34Mw" base_Class="Duration"/>
+  <l2:Metaclass xmi:id="_SjdAEKtKEeGF4uwJob34Mw" base_Class="DurationConstraint"/>
+  <l2:Metaclass xmi:id="_Sje1QKtKEeGF4uwJob34Mw" base_Class="DurationInterval"/>
+  <l2:Metaclass xmi:id="_SjfcUKtKEeGF4uwJob34Mw" base_Class="DurationObservation"/>
+  <l2:Metaclass xmi:id="_SjhRgKtKEeGF4uwJob34Mw" base_Class="Element"/>
+  <l2:Metaclass xmi:id="_SjuF0KtKEeGF4uwJob34Mw" base_Class="ElementImport"/>
+  <l2:Metaclass xmi:id="_SjvT8KtKEeGF4uwJob34Mw" base_Class="EncapsulatedClassifier"/>
+  <l2:Metaclass xmi:id="_Sjv7AKtKEeGF4uwJob34Mw" base_Class="Enumeration"/>
+  <l2:Metaclass xmi:id="_Sjv7AatKEeGF4uwJob34Mw" base_Class="EnumerationLiteral"/>
+  <l2:Metaclass xmi:id="_SjxJIKtKEeGF4uwJob34Mw" base_Class="Event"/>
+  <l2:Metaclass xmi:id="_SjxJIatKEeGF4uwJob34Mw" base_Class="ExceptionHandler"/>
+  <l2:Metaclass xmi:id="_SjyXQKtKEeGF4uwJob34Mw" base_Class="ExecutableNode"/>
+  <l2:Metaclass xmi:id="_Sjy-UKtKEeGF4uwJob34Mw" base_Class="ExecutionEnvironment"/>
+  <l2:Metaclass xmi:id="_Sjy-UatKEeGF4uwJob34Mw" base_Class="ExecutionOccurrenceSpecification"/>
+  <l2:Metaclass xmi:id="_SjzlYKtKEeGF4uwJob34Mw" base_Class="ExecutionSpecification"/>
+  <l2:Metaclass xmi:id="_SjzlYatKEeGF4uwJob34Mw" base_Class="ExpansionNode"/>
+  <l2:Metaclass xmi:id="_Sj0McKtKEeGF4uwJob34Mw" base_Class="ExpansionRegion"/>
+  <l2:Metaclass xmi:id="_Sj1akKtKEeGF4uwJob34Mw" base_Class="Expression"/>
+  <l2:Metaclass xmi:id="_Sj2BoKtKEeGF4uwJob34Mw" base_Class="Extend"/>
+  <l2:Metaclass xmi:id="_Sj2osKtKEeGF4uwJob34Mw" base_Class="Extension"/>
+  <l2:Metaclass xmi:id="_Sj4d4KtKEeGF4uwJob34Mw" base_Class="ExtensionEnd"/>
+  <l2:Metaclass xmi:id="_Sj5sAKtKEeGF4uwJob34Mw" base_Class="ExtensionPoint"/>
+  <l2:Metaclass xmi:id="_Sj6TEKtKEeGF4uwJob34Mw" base_Class="Feature"/>
+  <l2:Metaclass xmi:id="_Sj6TEatKEeGF4uwJob34Mw" base_Class="FinalNode"/>
+  <l2:Metaclass xmi:id="_Sj66IKtKEeGF4uwJob34Mw" base_Class="FinalState"/>
+  <l2:Metaclass xmi:id="_Sj8IQKtKEeGF4uwJob34Mw" base_Class="FlowFinalNode"/>
+  <l2:Metaclass xmi:id="_Sj8IQatKEeGF4uwJob34Mw" base_Class="ForkNode"/>
+  <l2:Metaclass xmi:id="_Sj8vUKtKEeGF4uwJob34Mw" base_Class="FunctionBehavior"/>
+  <l2:Metaclass xmi:id="_Sj9WYKtKEeGF4uwJob34Mw" base_Class="Gate"/>
+  <l2:Metaclass xmi:id="_Sj9WYatKEeGF4uwJob34Mw" base_Class="GeneralOrdering"/>
+  <l2:Metaclass xmi:id="_Sj99cKtKEeGF4uwJob34Mw" base_Class="Generalization"/>
+  <l2:Metaclass xmi:id="_Sj-kgKtKEeGF4uwJob34Mw" base_Class="GeneralizationSet"/>
+  <l2:Metaclass xmi:id="_Sj_yoKtKEeGF4uwJob34Mw" base_Class="Image"/>
+  <l2:Metaclass xmi:id="_SkAZsKtKEeGF4uwJob34Mw" base_Class="Include"/>
+  <l2:Metaclass xmi:id="_SkBAwKtKEeGF4uwJob34Mw" base_Class="InformationFlow"/>
+  <l2:Metaclass xmi:id="_SkCO4KtKEeGF4uwJob34Mw" base_Class="InformationItem"/>
+  <l2:Metaclass xmi:id="_SkC18KtKEeGF4uwJob34Mw" base_Class="InitialNode"/>
+  <l2:Metaclass xmi:id="_SkDdAKtKEeGF4uwJob34Mw" base_Class="InputPin"/>
+  <l2:Metaclass xmi:id="_SkEEEKtKEeGF4uwJob34Mw" base_Class="InstanceSpecification"/>
+  <l2:Metaclass xmi:id="_SkErIKtKEeGF4uwJob34Mw" base_Class="InstanceValue"/>
+  <l2:Metaclass xmi:id="_SkFSMKtKEeGF4uwJob34Mw" base_Class="Interaction"/>
+  <l2:Metaclass xmi:id="_SkGgUKtKEeGF4uwJob34Mw" base_Class="InteractionConstraint"/>
+  <l2:Metaclass xmi:id="_SkHucKtKEeGF4uwJob34Mw" base_Class="InteractionFragment"/>
+  <l2:Metaclass xmi:id="_SkIVgKtKEeGF4uwJob34Mw" base_Class="InteractionOperand"/>
+  <l2:Metaclass xmi:id="_SkI8kKtKEeGF4uwJob34Mw" base_Class="InteractionUse"/>
+  <l2:Metaclass xmi:id="_SkKxwKtKEeGF4uwJob34Mw" base_Class="Interface"/>
+  <l2:Metaclass xmi:id="_SkNOAKtKEeGF4uwJob34Mw" base_Class="InterfaceRealization"/>
+  <l2:Metaclass xmi:id="_SkNOAatKEeGF4uwJob34Mw" base_Class="InterruptibleActivityRegion"/>
+  <l2:Metaclass xmi:id="_SkOcIKtKEeGF4uwJob34Mw" base_Class="Interval"/>
+  <l2:Metaclass xmi:id="_SkOcIatKEeGF4uwJob34Mw" base_Class="IntervalConstraint"/>
+  <l2:Metaclass xmi:id="_SkPDMKtKEeGF4uwJob34Mw" base_Class="InvocationAction"/>
+  <l2:Metaclass xmi:id="_SkPqQKtKEeGF4uwJob34Mw" base_Class="JoinNode"/>
+  <l2:Metaclass xmi:id="_SkQRUKtKEeGF4uwJob34Mw" base_Class="Lifeline"/>
+  <l2:Metaclass xmi:id="_SkQ4YKtKEeGF4uwJob34Mw" base_Class="LinkAction"/>
+  <l2:Metaclass xmi:id="_SkSGgKtKEeGF4uwJob34Mw" base_Class="LinkEndCreationData"/>
+  <l2:Metaclass xmi:id="_SkStkKtKEeGF4uwJob34Mw" base_Class="LinkEndData"/>
+  <l2:Metaclass xmi:id="_SkT7sKtKEeGF4uwJob34Mw" base_Class="LinkEndDestructionData"/>
+  <l2:Metaclass xmi:id="_SkUiwKtKEeGF4uwJob34Mw" base_Class="LiteralBoolean"/>
+  <l2:Metaclass xmi:id="_SkVJ0KtKEeGF4uwJob34Mw" base_Class="LiteralInteger"/>
+  <l2:Metaclass xmi:id="_SkVw4KtKEeGF4uwJob34Mw" base_Class="LiteralNull"/>
+  <l2:Metaclass xmi:id="_SkWX8KtKEeGF4uwJob34Mw" base_Class="LiteralReal"/>
+  <l2:Metaclass xmi:id="_SkXmEKtKEeGF4uwJob34Mw" base_Class="LiteralSpecification"/>
+  <l2:Metaclass xmi:id="_SkXmEatKEeGF4uwJob34Mw" base_Class="LiteralString"/>
+  <l2:Metaclass xmi:id="_SkYNIKtKEeGF4uwJob34Mw" base_Class="LiteralUnlimitedNatural"/>
+  <l2:Metaclass xmi:id="_SkZbQKtKEeGF4uwJob34Mw" base_Class="LoopNode"/>
+  <l2:Metaclass xmi:id="_SkbQcKtKEeGF4uwJob34Mw" base_Class="Manifestation"/>
+  <l2:Metaclass xmi:id="_SkbQcatKEeGF4uwJob34Mw" base_Class="MergeNode"/>
+  <l2:Metaclass xmi:id="_Skb3gKtKEeGF4uwJob34Mw" base_Class="Message"/>
+  <l2:Metaclass xmi:id="_SkeTwKtKEeGF4uwJob34Mw" base_Class="MessageEnd"/>
+  <l2:Metaclass xmi:id="_SkeTwatKEeGF4uwJob34Mw" base_Class="MessageEvent"/>
+  <l2:Metaclass xmi:id="_Ske60KtKEeGF4uwJob34Mw" base_Class="MessageOccurrenceSpecification"/>
+  <l2:Metaclass xmi:id="_Ske60atKEeGF4uwJob34Mw" base_Class="Model"/>
+  <l2:Metaclass xmi:id="_Skfh4KtKEeGF4uwJob34Mw" base_Class="MultiplicityElement"/>
+  <l2:Metaclass xmi:id="_SkjzUKtKEeGF4uwJob34Mw" base_Class="NamedElement"/>
+  <l2:Metaclass xmi:id="_SkoEwKtKEeGF4uwJob34Mw" base_Class="Namespace"/>
+  <l2:Metaclass xmi:id="_SksWMKtKEeGF4uwJob34Mw" base_Class="Node"/>
+  <l2:Metaclass xmi:id="_SkuLYKtKEeGF4uwJob34Mw" base_Class="ObjectFlow"/>
+  <l2:Metaclass xmi:id="_SkwAkKtKEeGF4uwJob34Mw" base_Class="ObjectNode"/>
+  <l2:Metaclass xmi:id="_SkxOsKtKEeGF4uwJob34Mw" base_Class="Observation"/>
+  <l2:Metaclass xmi:id="_SkxOsatKEeGF4uwJob34Mw" base_Class="OccurrenceSpecification"/>
+  <l2:Metaclass xmi:id="_Skx1wKtKEeGF4uwJob34Mw" base_Class="OpaqueAction"/>
+  <l2:Metaclass xmi:id="_Skyc0KtKEeGF4uwJob34Mw" base_Class="OpaqueBehavior"/>
+  <l2:Metaclass xmi:id="_SkzD4KtKEeGF4uwJob34Mw" base_Class="OpaqueExpression"/>
+  <l2:Metaclass xmi:id="_Sk2HMKtKEeGF4uwJob34Mw" base_Class="Operation"/>
+  <l2:Metaclass xmi:id="_Sk7mwKtKEeGF4uwJob34Mw" base_Class="OperationTemplateParameter"/>
+  <l2:Metaclass xmi:id="_Sk7mwatKEeGF4uwJob34Mw" base_Class="OutputPin"/>
+  <l2:Metaclass xmi:id="_Sk8N0KtKEeGF4uwJob34Mw" base_Class="Package"/>
+  <l2:Metaclass xmi:id="_SlEJoKtKEeGF4uwJob34Mw" base_Class="PackageImport"/>
+  <l2:Metaclass xmi:id="_SlEwsKtKEeGF4uwJob34Mw" base_Class="PackageMerge"/>
+  <l2:Metaclass xmi:id="_SlFXwKtKEeGF4uwJob34Mw" base_Class="PackageableElement"/>
+  <l2:Metaclass xmi:id="_SlFXwatKEeGF4uwJob34Mw" base_Class="Parameter"/>
+  <l2:Metaclass xmi:id="_SlJCIKtKEeGF4uwJob34Mw" base_Class="ParameterSet"/>
+  <l2:Metaclass xmi:id="_SlJpMKtKEeGF4uwJob34Mw" base_Class="ParameterableElement"/>
+  <l2:Metaclass xmi:id="_SlK3UKtKEeGF4uwJob34Mw" base_Class="PartDecomposition"/>
+  <l2:Metaclass xmi:id="_SlLeYKtKEeGF4uwJob34Mw" base_Class="Pin"/>
+  <l2:Metaclass xmi:id="_SlLeYatKEeGF4uwJob34Mw" base_Class="Port"/>
+  <l2:Metaclass xmi:id="_SlN6oKtKEeGF4uwJob34Mw" base_Class="PrimitiveType"/>
+  <l2:Metaclass xmi:id="_SlN6oatKEeGF4uwJob34Mw" base_Class="Profile"/>
+  <l2:Metaclass xmi:id="_SlRlAKtKEeGF4uwJob34Mw" base_Class="ProfileApplication"/>
+  <l2:Metaclass xmi:id="_SlSMEKtKEeGF4uwJob34Mw" base_Class="Property"/>
+  <l2:Metaclass xmi:id="_Slau8KtKEeGF4uwJob34Mw" base_Class="ProtocolConformance"/>
+  <l2:Metaclass xmi:id="_SlbWAKtKEeGF4uwJob34Mw" base_Class="ProtocolStateMachine"/>
+  <l2:Metaclass xmi:id="_Slb9EKtKEeGF4uwJob34Mw" base_Class="ProtocolTransition"/>
+  <l2:Metaclass xmi:id="_SldLMKtKEeGF4uwJob34Mw" base_Class="Pseudostate"/>
+  <l2:Metaclass xmi:id="_SlfAYKtKEeGF4uwJob34Mw" base_Class="QualifierValue"/>
+  <l2:Metaclass xmi:id="_SlfncKtKEeGF4uwJob34Mw" base_Class="RaiseExceptionAction"/>
+  <l2:Metaclass xmi:id="_SlgOgKtKEeGF4uwJob34Mw" base_Class="ReadExtentAction"/>
+  <l2:Metaclass xmi:id="_Slg1kKtKEeGF4uwJob34Mw" base_Class="ReadIsClassifiedObjectAction"/>
+  <l2:Metaclass xmi:id="_SliDsKtKEeGF4uwJob34Mw" base_Class="ReadLinkAction"/>
+  <l2:Metaclass xmi:id="_SliqwKtKEeGF4uwJob34Mw" base_Class="ReadLinkObjectEndAction"/>
+  <l2:Metaclass xmi:id="_Slj44KtKEeGF4uwJob34Mw" base_Class="ReadLinkObjectEndQualifierAction"/>
+  <l2:Metaclass xmi:id="_SlluEKtKEeGF4uwJob34Mw" base_Class="ReadSelfAction"/>
+  <l2:Metaclass xmi:id="_SlmVIKtKEeGF4uwJob34Mw" base_Class="ReadStructuralFeatureAction"/>
+  <l2:Metaclass xmi:id="_Slm8MKtKEeGF4uwJob34Mw" base_Class="ReadVariableAction"/>
+  <l2:Metaclass xmi:id="_SlnjQKtKEeGF4uwJob34Mw" base_Class="Realization"/>
+  <l2:Metaclass xmi:id="_SlnjQatKEeGF4uwJob34Mw" base_Class="Reception"/>
+  <l2:Metaclass xmi:id="_SloKUKtKEeGF4uwJob34Mw" base_Class="ReclassifyObjectAction"/>
+  <l2:Metaclass xmi:id="_SlpYcKtKEeGF4uwJob34Mw" base_Class="RedefinableElement"/>
+  <l2:Metaclass xmi:id="_SlqmkKtKEeGF4uwJob34Mw" base_Class="RedefinableTemplateSignature"/>
+  <l2:Metaclass xmi:id="_SlsbwKtKEeGF4uwJob34Mw" base_Class="ReduceAction"/>
+  <l2:Metaclass xmi:id="_Sltp4KtKEeGF4uwJob34Mw" base_Class="Region"/>
+  <l2:Metaclass xmi:id="_SlwGIKtKEeGF4uwJob34Mw" base_Class="Relationship"/>
+  <l2:Metaclass xmi:id="_SlwtMKtKEeGF4uwJob34Mw" base_Class="RemoveStructuralFeatureValueAction"/>
+  <l2:Metaclass xmi:id="_SlxUQKtKEeGF4uwJob34Mw" base_Class="RemoveVariableValueAction"/>
+  <l2:Metaclass xmi:id="_Slx7UKtKEeGF4uwJob34Mw" base_Class="ReplyAction"/>
+  <l2:Metaclass xmi:id="_SlyiYKtKEeGF4uwJob34Mw" base_Class="SendObjectAction"/>
+  <l2:Metaclass xmi:id="_SlzJcKtKEeGF4uwJob34Mw" base_Class="SendSignalAction"/>
+  <l2:Metaclass xmi:id="_SlzwgKtKEeGF4uwJob34Mw" base_Class="SequenceNode"/>
+  <l2:Metaclass xmi:id="_Sl0XkKtKEeGF4uwJob34Mw" base_Class="Signal"/>
+  <l2:Metaclass xmi:id="_Sl1lsKtKEeGF4uwJob34Mw" base_Class="SignalEvent"/>
+  <l2:Metaclass xmi:id="_Sl1lsatKEeGF4uwJob34Mw" base_Class="Slot"/>
+  <l2:Metaclass xmi:id="_Sl2MwKtKEeGF4uwJob34Mw" base_Class="StartClassifierBehaviorAction"/>
+  <l2:Metaclass xmi:id="_Sl2z0KtKEeGF4uwJob34Mw" base_Class="StartObjectBehaviorAction"/>
+  <l2:Metaclass xmi:id="_Sl4B8KtKEeGF4uwJob34Mw" base_Class="State"/>
+  <l2:Metaclass xmi:id="_Sl86cKtKEeGF4uwJob34Mw" base_Class="StateInvariant"/>
+  <l2:Metaclass xmi:id="_Sl9hgKtKEeGF4uwJob34Mw" base_Class="StateMachine"/>
+  <l2:Metaclass xmi:id="_Sl_9wKtKEeGF4uwJob34Mw" base_Class="Stereotype"/>
+  <l2:Metaclass xmi:id="_SmDoIKtKEeGF4uwJob34Mw" base_Class="StringExpression"/>
+  <l2:Metaclass xmi:id="_SmE2QKtKEeGF4uwJob34Mw" base_Class="StructuralFeature"/>
+  <l2:Metaclass xmi:id="_SmE2QatKEeGF4uwJob34Mw" base_Class="StructuralFeatureAction"/>
+  <l2:Metaclass xmi:id="_SmGEYKtKEeGF4uwJob34Mw" base_Class="StructuredActivityNode"/>
+  <l2:Metaclass xmi:id="_SmH5kKtKEeGF4uwJob34Mw" base_Class="StructuredClassifier"/>
+  <l2:Metaclass xmi:id="_SmJuwKtKEeGF4uwJob34Mw" base_Class="Substitution"/>
+  <l2:Metaclass xmi:id="_SmKV0KtKEeGF4uwJob34Mw" base_Class="TemplateBinding"/>
+  <l2:Metaclass xmi:id="_SmLj8KtKEeGF4uwJob34Mw" base_Class="TemplateParameter"/>
+  <l2:Metaclass xmi:id="_SmMLAKtKEeGF4uwJob34Mw" base_Class="TemplateParameterSubstitution"/>
+  <l2:Metaclass xmi:id="_SmMyEKtKEeGF4uwJob34Mw" base_Class="TemplateSignature"/>
+  <l2:Metaclass xmi:id="_SmOAMKtKEeGF4uwJob34Mw" base_Class="TemplateableElement"/>
+  <l2:Metaclass xmi:id="_SmOnQKtKEeGF4uwJob34Mw" base_Class="TestIdentityAction"/>
+  <l2:Metaclass xmi:id="_SmP1YKtKEeGF4uwJob34Mw" base_Class="TimeConstraint"/>
+  <l2:Metaclass xmi:id="_SmQccKtKEeGF4uwJob34Mw" base_Class="TimeEvent"/>
+  <l2:Metaclass xmi:id="_SmRDgKtKEeGF4uwJob34Mw" base_Class="TimeExpression"/>
+  <l2:Metaclass xmi:id="_SmRqkKtKEeGF4uwJob34Mw" base_Class="TimeInterval"/>
+  <l2:Metaclass xmi:id="_SmRqkatKEeGF4uwJob34Mw" base_Class="TimeObservation"/>
+  <l2:Metaclass xmi:id="_SmSRoKtKEeGF4uwJob34Mw" base_Class="Transition"/>
+  <l2:Metaclass xmi:id="_SmV8AKtKEeGF4uwJob34Mw" base_Class="Trigger"/>
+  <l2:Metaclass xmi:id="_SmWjEKtKEeGF4uwJob34Mw" base_Class="Type"/>
+  <l2:Metaclass xmi:id="_SmYYQKtKEeGF4uwJob34Mw" base_Class="TypedElement"/>
+  <l2:Metaclass xmi:id="_SmY_UKtKEeGF4uwJob34Mw" base_Class="UnmarshallAction"/>
+  <l2:Metaclass xmi:id="_Sma0gKtKEeGF4uwJob34Mw" base_Class="Usage"/>
+  <l2:Metaclass xmi:id="_Sma0gatKEeGF4uwJob34Mw" base_Class="UseCase"/>
+  <l2:Metaclass xmi:id="_SmcpsKtKEeGF4uwJob34Mw" base_Class="ValuePin"/>
+  <l2:Metaclass xmi:id="_SmdQwKtKEeGF4uwJob34Mw" base_Class="ValueSpecification"/>
+  <l2:Metaclass xmi:id="_SmftAKtKEeGF4uwJob34Mw" base_Class="ValueSpecificationAction"/>
+  <l2:Metaclass xmi:id="_SmgUEKtKEeGF4uwJob34Mw" base_Class="Variable"/>
+  <l2:Metaclass xmi:id="_Smg7IKtKEeGF4uwJob34Mw" base_Class="VariableAction"/>
+  <l2:Metaclass xmi:id="_SmhiMKtKEeGF4uwJob34Mw" base_Class="Vertex"/>
+  <l2:Metaclass xmi:id="_SmjXYKtKEeGF4uwJob34Mw" base_Class="WriteLinkAction"/>
+  <l2:Metaclass xmi:id="_SmjXYatKEeGF4uwJob34Mw" base_Class="WriteStructuralFeatureAction"/>
+  <l2:Metaclass xmi:id="_SmklgKtKEeGF4uwJob34Mw" base_Class="WriteVariableAction"/>
 </xmi:XMI>