[85179] Regenerating with latest source model.
diff --git a/plugins/org.eclipse.uml2.uml/model/Ecore.uml2 b/plugins/org.eclipse.uml2.uml/model/Ecore.uml2
index 96cb78e..a368607 100644
--- a/plugins/org.eclipse.uml2.uml/model/Ecore.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/Ecore.uml2
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore_2="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xsi:schemaLocation="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_1RgZIcezEdmTJL3rR1ioJg" xmi:id="439EC3AE03B5" name="Ecore" appliedProfile="_glF8mWvXEdq4DLWZOhbdEA">

   <eAnnotations xmi:id="_cZWfcGvYEdq4DLWZOhbdEA" source="appliedStereotypes">

-    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_we91ca8ZEdq_3JIOnBmAhg" packageName="ecore" nsPrefix="ecore" nsURI="http://www.eclipse.org/emf/2002/Ecore" basePackage="org.eclipse.emf" prefix="Ecore"/>

+    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_pyJ-Ma8kEdq9B5_HWrPktA" packageName="ecore" nsPrefix="ecore" nsURI="http://www.eclipse.org/emf/2002/Ecore" basePackage="org.eclipse.emf" prefix="Ecore"/>

   </eAnnotations>

   <packageImport xmi:type="uml:ProfileApplication" xmi:id="_glF8mWvXEdq4DLWZOhbdEA">

     <eAnnotations xmi:id="_glF8mmvXEdq4DLWZOhbdEA" source="attributes">

@@ -10,16 +10,12 @@
     <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Ecore.profile.uml2#_siPt4K87Edi5QpYeY_yIpg"/>

     <importedProfile href="pathmap://UML2_PROFILES/Ecore.profile.uml2#_siPt4K87Edi5QpYeY_yIpg"/>

   </packageImport>

-  <packageImport xmi:id="_glY3gGvXEdq4DLWZOhbdEA">

-    <importedPackage xmi:type="uml:Model" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_RjmyoK86EdieaYgxtVWN8Q"/>

-  </packageImport>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53D98A1C701AB" name="EAnnotation">

     <generalization xmi:id="_439EC3AE03B53D98A1E10203" general="_439EC3AE03B53903D4E40050"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53D98A349020A" name="source">

+    <ownedAttribute xmi:id="_439EC3AE03B53D98A349020A" name="source" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_S-Xg0GvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfahYK8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pymqIK8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53DA69DAB038A" name="details" type="_439EC3AE03B53DA69D3C00F6">

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_glF8p2vXEdq4DLWZOhbdEA" value="-1"/>

@@ -27,12 +23,12 @@
     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53D98A3F30241" name="eModelElement" type="_439EC3AE03B53903D4E40050" association="_439EC3AE03B53D98A3F1034C">

       <eAnnotations xmi:id="_gn7OJWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSYK8ZEdq_3JIOnBmAhg" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbIK8kEdq9B5_HWrPktA" isResolveProxies="false"/>

       </eAnnotations>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53DA70B040327" name="contents" type="_439EC3AE03B53C4F1C860123" association="_439EC3AE03B53DA70B0400EC" aggregation="composite">

       <eAnnotations xmi:id="_gn7OM2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSYa8ZEdq_3JIOnBmAhg"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbIa8kEdq9B5_HWrPktA"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gn7OMmvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gn7OMWvXEdq4DLWZOhbdEA"/>

@@ -44,10 +40,10 @@
   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B539238472039D" name="EAttribute">

     <generalization xmi:id="_439EC3AE03B5392384980008" general="_439EC3AE03B53903D59D0230"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53DDF78B900AD" name="iD"/>

+    <ownedAttribute xmi:id="_439EC3AE03B53DDF78B900AD" name="iD" type="_439EC3AE03B53D0672EC0024"/>

     <ownedAttribute xmi:id="_439EC3AE03B53D5D261200E9" name="eAttributeType" type="_439EC3AE03B53903D525033E" isReadOnly="true" association="_439EC3AE03B53D5D260F02E4">

       <eAnnotations xmi:id="_gnxdM2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSYq8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbIq8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnxdMmvXEdq4DLWZOhbdEA" value="1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnxdMWvXEdq4DLWZOhbdEA" value="1"/>

@@ -55,17 +51,15 @@
   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53903D5BF000A" name="EClass">

     <generalization xmi:id="_439EC3AE03B53D0724E40083" general="_439EC3AE03B53ACE4FEE0371"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53CF6636F001D" name="abstract">

+    <ownedAttribute xmi:id="_439EC3AE03B53CF6636F001D" name="abstract" type="_439EC3AE03B53D0672EC0024">

       <eAnnotations xmi:id="_S_HHsGvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfkSY68ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pywbI68kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53D0616AE039B" name="interface">

+    <ownedAttribute xmi:id="_439EC3AE03B53D0616AE039B" name="interface" type="_439EC3AE03B53D0672EC0024">

       <eAnnotations xmi:id="_S_Q4sGvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfkSZK8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pywbJK8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53905C4BE003C" name="eSuperTypes" type="_439EC3AE03B53903D5BF000A" association="_439EC3AE03B53905C4B201D6">

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnB2TGvXEdq4DLWZOhbdEA" value="-1"/>

@@ -73,155 +67,134 @@
     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53904D81303AC" name="eOperations" type="_439EC3AE03B53904DAA200A0" association="_439EC3AE03B53904D80902DA" aggregation="composite">

       <eAnnotations xmi:id="_gnB2UmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSZa8ZEdq_3JIOnBmAhg"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbJa8kEdq9B5_HWrPktA"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnB2UWvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnB2UGvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B539D6BD4C0061" name="eAllAttributes" type="_439EC3AE03B539238472039D" isReadOnly="true" association="_439EC3AE03B539D6BD4A03B1">

       <eAnnotations xmi:id="_gnLnQGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSZq8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbJq8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnB2ZGvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnB2Y2vXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B539D6BD8A010A" name="eAllReferences" type="_439EC3AE03B539238479039D" isReadOnly="true" association="_439EC3AE03B539D6BD89002C">

       <eAnnotations xmi:id="_gnLnSWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSZ68ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbJ68kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnLnSGvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnLnR2vXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B539D7678D02EF" name="eReferences" type="_439EC3AE03B539238479039D" isReadOnly="true" association="_439EC3AE03B539D7678B0314">

       <eAnnotations xmi:id="_gnLnUmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSaK8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbKK8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnLnUWvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnLnUGvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B539DE157703CC" name="eAttributes" type="_439EC3AE03B539238472039D" isReadOnly="true" association="_439EC3AE03B539DE157303C6">

       <eAnnotations xmi:id="_gnUxNmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSaa8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbKa8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnUxNWvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnUxNGvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53AF07CB900F8" name="eAllContainments" type="_439EC3AE03B539238479039D" isReadOnly="true" association="_439EC3AE03B53AF07CB603D8">

       <eAnnotations xmi:id="_gneiRmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSaq8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbKq8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gneiRWvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gneiRGvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53AF87E2E006C" name="eAllOperations" type="_439EC3AE03B53904DAA200A0" isReadOnly="true" association="_439EC3AE03B53AF87E2B011C">

       <eAnnotations xmi:id="_gnoTNGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSa68ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbK68kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnoTM2vXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnoTMmvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53CD7CA8D0078" name="eAllStructuralFeatures" type="_439EC3AE03B53903D59D0230" isReadOnly="true" association="_439EC3AE03B53CD7CA8B00A7">

       <eAnnotations xmi:id="_gnxdIGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSbK8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbLK8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnoTSmvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnoTSWvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53D0618C600DE" name="eAllSuperTypes" type="_439EC3AE03B53903D5BF000A" isReadOnly="true" association="_439EC3AE03B53D0618C2027D">

       <eAnnotations xmi:id="_gnxdLGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSba8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbLa8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnxdK2vXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnxdKmvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53DDF795201B1" name="eIDAttribute" type="_439EC3AE03B539238472039D" isReadOnly="true" association="_439EC3AE03B53DDF794F03D4">

       <eAnnotations xmi:id="_goE_JGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSbq8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbLq8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true" isResolveProxies="false"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_goE_I2vXEdq4DLWZOhbdEA" value="1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_goE_ImvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53F72EF6B0213" name="eStructuralFeatures" type="_439EC3AE03B53903D59D0230" association="_439EC3AE03B53F72EF6A0063" aggregation="composite">

       <eAnnotations xmi:id="_goE_LWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSb68ZEdq_3JIOnBmAhg"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbL68kEdq9B5_HWrPktA"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_goE_LGvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_goE_K2vXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_439EC3AE03B53D07246C02E3" name="isSuperTypeOf">

-      <returnResult xmi:id="_glF8q2vXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B53D07246C02E3" name="isSuperTypeOf" type="_439EC3AE03B53D0672EC0024">

+      <returnResult xmi:id="_glF8q2vXEdq4DLWZOhbdEA" type="_439EC3AE03B53D0672EC0024" direction="return"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E20197" name="someClass" type="_439EC3AE03B53903D5BF000A"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_439EC3AE03B5426A6C920097" name="getFeatureCount">

-      <returnResult xmi:id="_glY3gmvXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B5426A6C920097" name="getFeatureCount" type="_439EC3AE03B53D0674720115">

+      <returnResult xmi:id="_glY3gmvXEdq4DLWZOhbdEA" type="_439EC3AE03B53D0674720115" direction="return"/>

     </ownedOperation>

     <ownedOperation xmi:id="_439EC3AE03B53D08992A0381" name="getEStructuralFeature" type="_439EC3AE03B53903D59D0230">

       <returnResult xmi:id="_glY3hGvXEdq4DLWZOhbdEA" type="_439EC3AE03B53903D59D0230" direction="return"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E201DD" name="featureID">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E201DD" name="featureID" type="_439EC3AE03B53D0674720115"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_439EC3AE03B5426A4284013B" name="getFeatureID">

-      <returnResult xmi:id="_glY3h2vXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B5426A4284013B" name="getFeatureID" type="_439EC3AE03B53D0674720115">

+      <returnResult xmi:id="_glY3h2vXEdq4DLWZOhbdEA" type="_439EC3AE03B53D0674720115" direction="return"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E201DF" name="feature" type="_439EC3AE03B53903D59D0230"/>

     </ownedOperation>

     <ownedOperation xmi:id="_439EC3AE03B53D0899C801D0" name="getEStructuralFeature" type="_439EC3AE03B53903D59D0230">

       <returnResult xmi:id="_glY3imvXEdq4DLWZOhbdEA" type="_439EC3AE03B53903D59D0230" direction="return"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E201F2" name="featureName">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E201F2" name="featureName" type="_439EC3AE03B539EB7E000186"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53ACE4FEE0371" name="EClassifier" isAbstract="true">

     <generalization xmi:id="_439EC3AE03B53C97BBB400CA" general="_439EC3AE03B53B65CCC600FE"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53B0F0B800186" name="instanceClassName">

+    <ownedAttribute xmi:id="_439EC3AE03B53B0F0B800186" name="instanceClassName" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_TA53cGvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfkScK8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pywbMK8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53CA8BD1C01FA" name="instanceClass" type="_439EC3AE03B53B1531690285" isReadOnly="true" isDerived="true">

       <eAnnotations xmi:id="_glioiWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfkSca8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pywbMa8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53D3C1AEE014B" name="defaultValue" type="_439EC3AE03B53ACDF8200182" isReadOnly="true" isDerived="true">

       <eAnnotations xmi:id="_gliojGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfkScq8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pywbMq8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53A7DAB6D0239" name="ePackage" type="_439EC3AE03B53905C3F7000A" isReadOnly="true" association="_439EC3AE03B53A7DAB6B039E">

       <eAnnotations xmi:id="_gneiN2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSc68ZEdq_3JIOnBmAhg" isTransient="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbM68kEdq9B5_HWrPktA" isTransient="true"/>

       </eAnnotations>

     </ownedAttribute>

-    <ownedOperation xmi:id="_439EC3AE03B53D086856016B" name="isInstance">

-      <returnResult xmi:id="_gliog2vXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B53D086856016B" name="isInstance" type="_439EC3AE03B53D0672EC0024">

+      <returnResult xmi:id="_gliog2vXEdq4DLWZOhbdEA" type="_439EC3AE03B53D0672EC0024" direction="return"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E201FA" name="object" type="_439EC3AE03B53ACDF8200182"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_439EC3AE03B53D089C8A0135" name="getClassifierID">

-      <returnResult xmi:id="_gliohmvXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B53D089C8A0135" name="getClassifierID" type="_439EC3AE03B53D0674720115">

+      <returnResult xmi:id="_gliohmvXEdq4DLWZOhbdEA" type="_439EC3AE03B53D0674720115" direction="return"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53903D525033E" name="EDataType">

     <generalization xmi:id="_439EC3AE03B53ACE510F029A" general="_439EC3AE03B53ACE4FEE0371"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53D090E0602FC" name="serializable">

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

+    <ownedAttribute xmi:id="_439EC3AE03B53D090E0602FC" name="serializable" type="_439EC3AE03B53D0672EC0024">

       <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gliokWvXEdq4DLWZOhbdEA" value="true"/>

     </ownedAttribute>

   </ownedMember>

@@ -229,47 +202,40 @@
     <generalization xmi:id="_439EC3AE03B53B180608030C" general="_439EC3AE03B53903D525033E"/>

     <ownedAttribute xmi:id="_439EC3AE03B53ACCDD3C00F4" name="eLiterals" type="_439EC3AE03B53ACCDCE601C2" association="_439EC3AE03B53ACCDD3B0265" aggregation="composite">

       <eAnnotations xmi:id="_gneiPWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfkSdK8ZEdq_3JIOnBmAhg"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pywbNK8kEdq9B5_HWrPktA"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gneiPGvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gneiO2vXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_439EC3AE03B53D089A910002" name="getEEnumLiteral" type="_439EC3AE03B53ACCDCE601C2">

       <returnResult xmi:id="_glsZg2vXEdq4DLWZOhbdEA" type="_439EC3AE03B53ACCDCE601C2" direction="return"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20224" name="name">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20224" name="name" type="_439EC3AE03B539EB7E000186"/>

     </ownedOperation>

     <ownedOperation xmi:id="_439EC3AE03B53D089A9E02F0" name="getEEnumLiteral" type="_439EC3AE03B53ACCDCE601C2">

       <returnResult xmi:id="_glsZhmvXEdq4DLWZOhbdEA" type="_439EC3AE03B53ACCDCE601C2" direction="return"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20226" name="value">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20226" name="value" type="_439EC3AE03B53D0674720115"/>

     </ownedOperation>

     <ownedOperation xmi:id="_439EC3AE03B5434EBA4701A9" name="getEEnumLiteralByLiteral" type="_439EC3AE03B53ACCDCE601C2">

       <returnResult xmi:id="_glsZiWvXEdq4DLWZOhbdEA" type="_439EC3AE03B53ACCDCE601C2" direction="return"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20228" name="literal">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20228" name="literal" type="_439EC3AE03B539EB7E000186"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53ACCDCE601C2" name="EEnumLiteral">

     <generalization xmi:id="_439EC3AE03B53D05D58C01DC" general="_439EC3AE03B53B65CCC600FE"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53ACCDCF103DB" name="value"/>

+    <ownedAttribute xmi:id="_439EC3AE03B53ACCDCF103DB" name="value" type="_439EC3AE03B53D0674720115"/>

     <ownedAttribute xmi:id="_439EC3AE03B53D2DB8A701BE" name="instance" type="_439EC3AE03B53D2DB651020A">

       <eAnnotations xmi:id="_glsZj2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfuDYK8ZEdq_3JIOnBmAhg" isTransient="true" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_py6MIK8kEdq9B5_HWrPktA" isTransient="true" isUnsettable="true"/>

       </eAnnotations>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B5430B327502D1" name="literal">

+    <ownedAttribute xmi:id="_439EC3AE03B5430B327502D1" name="literal" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_TB8ZQGvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfuDYa8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_py6MIa8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53ACCDD3C00FE" name="eEnum" type="_439EC3AE03B539A473E901D4" isReadOnly="true" association="_439EC3AE03B53ACCDD3B0265">

       <eAnnotations xmi:id="_gneiQGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDYq8ZEdq_3JIOnBmAhg" isTransient="true" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MIq8kEdq9B5_HWrPktA" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

     </ownedAttribute>

   </ownedMember>

@@ -277,7 +243,7 @@
     <generalization xmi:id="_439EC3AE03B53CF674E80143" general="_439EC3AE03B53903D4E40050"/>

     <ownedAttribute xmi:id="_439EC3AE03B53A773F5B00D7" name="ePackage" type="_439EC3AE03B53905C3F7000A" association="_439EC3AE03B53A773F5A0067">

       <eAnnotations xmi:id="_gneiMGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDY68ZEdq_3JIOnBmAhg" isTransient="true" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MI68kEdq9B5_HWrPktA" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnUxRWvXEdq4DLWZOhbdEA" value="1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnUxRGvXEdq4DLWZOhbdEA" value="1"/>

@@ -289,15 +255,10 @@
     <ownedOperation xmi:id="_439EC3AE03B53D089BE1011E" name="createFromString" type="_439EC3AE03B53ACDF8200182">

       <returnResult xmi:id="_glsZmGvXEdq4DLWZOhbdEA" type="_439EC3AE03B53ACDF8200182" direction="return"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E20235" name="eDataType" type="_439EC3AE03B53903D525033E"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20236" name="literalValue">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20236" name="literalValue" type="_439EC3AE03B539EB7E000186"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_439EC3AE03B53D089BF603A9" name="convertToString">

-      <returnResult xmi:id="_glsZnGvXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B53D089BF603A9" name="convertToString" type="_439EC3AE03B539EB7E000186">

+      <returnResult xmi:id="_glsZnGvXEdq4DLWZOhbdEA" type="_439EC3AE03B539EB7E000186" direction="return"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E20238" name="eDataType" type="_439EC3AE03B53903D525033E"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E20239" name="instanceValue" type="_439EC3AE03B53ACDF8200182"/>

     </ownedOperation>

@@ -306,36 +267,30 @@
     <generalization xmi:id="_439EC3AE03B53C4F1CC50336" general="_439EC3AE03B53C4F1C860123"/>

     <ownedAttribute xmi:id="_439EC3AE03B53D98A3F3024B" name="eAnnotations" type="_439EC3AE03B53D98A1C701AB" association="_439EC3AE03B53D98A3F1034C" aggregation="composite">

       <eAnnotations xmi:id="_gn7OKmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDZK8ZEdq_3JIOnBmAhg"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MJK8kEdq9B5_HWrPktA"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gn7OKWvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gn7OKGvXEdq4DLWZOhbdEA"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_439EC3AE03B53DDF83530376" name="getEAnnotation" type="_439EC3AE03B53D98A1C701AB">

       <returnResult xmi:id="_glsZomvXEdq4DLWZOhbdEA" type="_439EC3AE03B53D98A1C701AB" direction="return"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E2023E" name="source">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E2023E" name="source" type="_439EC3AE03B539EB7E000186"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53B65CCC600FE" name="ENamedElement" isAbstract="true">

     <generalization xmi:id="_439EC3AE03B53C8D4364024F" general="_439EC3AE03B53903D4E40050"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53B65CCCF0007" name="name">

+    <ownedAttribute xmi:id="_439EC3AE03B53B65CCCF0007" name="name" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_TCGKQGvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfuDZa8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_py6MJa8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53C4F1C860123" name="EObject">

     <ownedOperation xmi:id="_439EC3AE03B53D08E6B501C3" name="eClass" type="_439EC3AE03B53903D5BF000A">

       <returnResult xmi:id="_glsZqWvXEdq4DLWZOhbdEA" type="_439EC3AE03B53903D5BF000A" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_439EC3AE03B53D1204AC028F" name="eIsProxy">

-      <returnResult xmi:id="_glsZq2vXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B53D1204AC028F" name="eIsProxy" type="_439EC3AE03B53D0672EC0024">

+      <returnResult xmi:id="_glsZq2vXEdq4DLWZOhbdEA" type="_439EC3AE03B53D0672EC0024" direction="return"/>

     </ownedOperation>

     <ownedOperation xmi:id="_439EC3AE03B53C4F21D90335" name="eResource" type="_439EC3AE03B53C4F231001FC">

       <returnResult xmi:id="_glsZrWvXEdq4DLWZOhbdEA" type="_439EC3AE03B53C4F231001FC" direction="return"/>

@@ -365,19 +320,14 @@
     <ownedOperation xmi:id="_439EC3AE03B53D08E6D601AD" name="eGet" type="_439EC3AE03B53ACDF8200182">

       <returnResult xmi:id="_gl1jdmvXEdq4DLWZOhbdEA" type="_439EC3AE03B53ACDF8200182" direction="return"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E20251" name="feature" type="_439EC3AE03B53903D59D0230"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20252" name="resolve">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20252" name="resolve" type="_439EC3AE03B53D0672EC0024"/>

     </ownedOperation>

     <ownedOperation xmi:id="_439EC3AE03B53C4F268F023F" name="eSet">

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E20254" name="feature" type="_439EC3AE03B53903D59D0230"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E20255" name="newValue" type="_439EC3AE03B53ACDF8200182"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_439EC3AE03B53C4F26DE0225" name="eIsSet">

-      <returnResult xmi:id="_gl1jfWvXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B53C4F26DE0225" name="eIsSet" type="_439EC3AE03B53D0672EC0024">

+      <returnResult xmi:id="_gl1jfWvXEdq4DLWZOhbdEA" type="_439EC3AE03B53D0672EC0024" direction="return"/>

       <ownedParameter xmi:id="_439EC3AE03B5439EC3E20257" name="feature" type="_439EC3AE03B53903D59D0230"/>

     </ownedOperation>

     <ownedOperation xmi:id="_439EC3AE03B53C4F26B4004E" name="eUnset">

@@ -388,12 +338,12 @@
     <generalization xmi:id="_439EC3AE03B53D062FA00253" general="_439EC3AE03B53903D4F60398"/>

     <ownedAttribute xmi:id="_439EC3AE03B53904D81303AD" name="eContainingClass" type="_439EC3AE03B53903D5BF000A" isReadOnly="true" association="_439EC3AE03B53904D80902DA">

       <eAnnotations xmi:id="_gnB2VWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDZq8ZEdq_3JIOnBmAhg" isTransient="true" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MJq8kEdq9B5_HWrPktA" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53B4DFCAC02AD" name="eParameters" type="_439EC3AE03B53903E6150104" association="_439EC3AE03B53B4DFCAB02B6" aggregation="composite">

       <eAnnotations xmi:id="_gnoTO2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDZ68ZEdq_3JIOnBmAhg"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MJ68kEdq9B5_HWrPktA"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnoTOmvXEdq4DLWZOhbdEA" value="-1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnoTOWvXEdq4DLWZOhbdEA"/>

@@ -405,21 +355,19 @@
   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53905C3F7000A" name="EPackage">

     <generalization xmi:id="_439EC3AE03B53D05F0C70226" general="_439EC3AE03B53B65CCC600FE"/>

-    <ownedAttribute xmi:id="_439EC3AE03B539EB787703D8" name="nsURI">

+    <ownedAttribute xmi:id="_439EC3AE03B539EB787703D8" name="nsURI" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_TDSdEGvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfuDaK8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_py6MKK8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53A773FA4026D" name="nsPrefix">

+    <ownedAttribute xmi:id="_439EC3AE03B53A773FA4026D" name="nsPrefix" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_TDbnAGvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfuDaa8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_py6MKa8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53A773F5B00CD" name="eFactoryInstance" type="_439EC3AE03B53A773E540057" association="_439EC3AE03B53A773F5A0067">

       <eAnnotations xmi:id="_gnUxQWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDaq8ZEdq_3JIOnBmAhg" isTransient="true" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MKq8kEdq9B5_HWrPktA" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnUxQGvXEdq4DLWZOhbdEA" value="1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnUxP2vXEdq4DLWZOhbdEA" value="1"/>

@@ -434,31 +382,28 @@
     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53C06C4F203B1" name="eSuperPackage" type="_439EC3AE03B53905C3F7000A" isReadOnly="true" association="_439EC3AE03B53C06C4EC029A">

       <eAnnotations xmi:id="_gnoTRWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDa68ZEdq_3JIOnBmAhg" isTransient="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MK68kEdq9B5_HWrPktA" isTransient="true"/>

       </eAnnotations>

     </ownedAttribute>

     <ownedOperation xmi:id="_439EC3AE03B53D089D1E00FC" name="getEClassifier" type="_439EC3AE03B53ACE4FEE0371">

       <returnResult xmi:id="_gl1jhmvXEdq4DLWZOhbdEA" type="_439EC3AE03B53ACE4FEE0371" direction="return"/>

-      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20262" name="name">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

-      </ownedParameter>

+      <ownedParameter xmi:id="_439EC3AE03B5439EC3E20262" name="name" type="_439EC3AE03B539EB7E000186"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53903E6150104" name="EParameter">

     <generalization xmi:id="_439EC3AE03B53903E62102DA" general="_439EC3AE03B53903D4F60398"/>

     <ownedAttribute xmi:id="_439EC3AE03B53B4DFCAC02CB" name="eOperation" type="_439EC3AE03B53904DAA200A0" isReadOnly="true" association="_439EC3AE03B53B4DFCAB02B6">

       <eAnnotations xmi:id="_gnoTPmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDbK8ZEdq_3JIOnBmAhg" isTransient="true" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MLK8kEdq9B5_HWrPktA" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B539238479039D" name="EReference">

     <generalization xmi:id="_439EC3AE03B53923849D00CE" general="_439EC3AE03B53903D59D0230"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53A0AEF0E00CF" name="containment"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53D5D254701DE" name="container" isReadOnly="true" isDerived="true">

+    <ownedAttribute xmi:id="_439EC3AE03B53A0AEF0E00CF" name="containment" type="_439EC3AE03B53D0672EC0024"/>

+    <ownedAttribute xmi:id="_439EC3AE03B53D5D254701DE" name="container" type="_439EC3AE03B53D0672EC0024" isReadOnly="true" isDerived="true">

       <eAnnotations xmi:id="_gl1jkGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wfuDbq8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDba8ZEdq_3JIOnBmAhg" isTransient="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_py6MLa8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53D073A660351" name="resolveProxies">

@@ -470,7 +415,7 @@
     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53D5D2A6100E7" name="eReferenceType" type="_439EC3AE03B53903D5BF000A" isReadOnly="true" association="_439EC3AE03B53D5D2A5B00CB">

       <eAnnotations xmi:id="_gn7OIGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wfuDb68ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_py6MLq8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnxdOWvXEdq4DLWZOhbdEA" value="1"/>

       <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnxdOGvXEdq4DLWZOhbdEA" value="1"/>

@@ -479,72 +424,61 @@
   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53DA69D3C00F6" name="EStringToStringMapEntry">

     <eAnnotations xmi:id="_gnB2QWvXEdq4DLWZOhbdEA" source="keywords"/>

     <eAnnotations xmi:id="_e7sOcGvaEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EClass" xmi:id="_wgA-UK8ZEdq_3JIOnBmAhg" instanceClassName="java.util.Map$Entry"/>

+      <contents xmi:type="Ecore_2:Ecore__EClass" xmi:id="_pzNHEK8kEdq9B5_HWrPktA" instanceClassName="java.util.Map$Entry"/>

     </eAnnotations>

-    <ownedAttribute xmi:id="_439EC3AE03B53DA69D3C00F8" name="key">

+    <ownedAttribute xmi:id="_439EC3AE03B53DA69D3C00F8" name="key" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_TDvJAGvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-Ua8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHEa8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53DA69D3C00F9" name="value">

+    <ownedAttribute xmi:id="_439EC3AE03B53DA69D3C00F9" name="value" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_TD4S8GvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-Uq8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHEq8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53903D59D0230" name="EStructuralFeature" isAbstract="true">

     <generalization xmi:id="_439EC3AE03B53903D98202A8" general="_439EC3AE03B53903D4F60398"/>

-    <ownedAttribute xmi:id="_439EC3AE03B539EB78670242" name="changeable">

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

+    <ownedAttribute xmi:id="_439EC3AE03B539EB78670242" name="changeable" type="_439EC3AE03B53D0672EC0024">

       <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gl_Ud2vXEdq4DLWZOhbdEA" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B539EB782D01D4" name="volatile">

+    <ownedAttribute xmi:id="_439EC3AE03B539EB782D01D4" name="volatile" type="_439EC3AE03B53D0672EC0024">

       <eAnnotations xmi:id="_TD4S8mvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-U68ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHE68kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B539EB78210280" name="transient">

+    <ownedAttribute xmi:id="_439EC3AE03B539EB78210280" name="transient" type="_439EC3AE03B53D0672EC0024">

       <eAnnotations xmi:id="_TECD8GvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-VK8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHFK8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53B5F07A60290" name="defaultValueLiteral">

+    <ownedAttribute xmi:id="_439EC3AE03B53B5F07A60290" name="defaultValueLiteral" type="_439EC3AE03B539EB7E000186">

       <eAnnotations xmi:id="_TECD8mvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-Va8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHFa8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53CA44568000B" name="defaultValue" type="_439EC3AE03B53ACDF8200182" isReadOnly="true" isDerived="true">

       <eAnnotations xmi:id="_gl_UfGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-Vq8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHFq8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53E37C5F603D4" name="unsettable">

+    <ownedAttribute xmi:id="_439EC3AE03B53E37C5F603D4" name="unsettable" type="_439EC3AE03B53D0672EC0024">

       <eAnnotations xmi:id="_TELN4GvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-V68ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHF68kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53FC61EC301EE" name="derived">

+    <ownedAttribute xmi:id="_439EC3AE03B53FC61EC301EE" name="derived" type="_439EC3AE03B53D0672EC0024">

       <eAnnotations xmi:id="_TEU-4GvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-WK8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHGK8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53F72EF6B0212" name="eContainingClass" type="_439EC3AE03B53903D5BF000A" isReadOnly="true" association="_439EC3AE03B53F72EF6A0063">

       <eAnnotations xmi:id="_goE_KGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wgA-Wa8ZEdq_3JIOnBmAhg" isTransient="true" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pzNHGa8kEdq9B5_HWrPktA" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

     </ownedAttribute>

-    <ownedOperation xmi:id="_439EC3AE03B53D089D7103B8" name="getFeatureID">

-      <returnResult xmi:id="_gl_Uc2vXEdq4DLWZOhbdEA" direction="return">

-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

-      </returnResult>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

+    <ownedOperation xmi:id="_439EC3AE03B53D089D7103B8" name="getFeatureID" type="_439EC3AE03B53D0674720115">

+      <returnResult xmi:id="_gl_Uc2vXEdq4DLWZOhbdEA" type="_439EC3AE03B53D0674720115" direction="return"/>

     </ownedOperation>

     <ownedOperation xmi:id="_439EC3AE03B53D089D9B01CE" name="getContainerClass" type="_439EC3AE03B53B1531690285">

       <returnResult xmi:id="_gl_UdWvXEdq4DLWZOhbdEA" type="_439EC3AE03B53B1531690285" direction="return"/>

@@ -552,35 +486,29 @@
   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_439EC3AE03B53903D4F60398" name="ETypedElement" isAbstract="true">

     <generalization xmi:id="_439EC3AE03B53D05D88501C2" general="_439EC3AE03B53B65CCC600FE"/>

-    <ownedAttribute xmi:id="_439EC3AE03B53F5E13BE031E" name="ordered">

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

+    <ownedAttribute xmi:id="_439EC3AE03B53F5E13BE031E" name="ordered" type="_439EC3AE03B53D0672EC0024">

       <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gl_Ug2vXEdq4DLWZOhbdEA" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53F5E13D301FC" name="unique">

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

+    <ownedAttribute xmi:id="_439EC3AE03B53F5E13D301FC" name="unique" type="_439EC3AE03B53D0672EC0024">

       <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gl_UhWvXEdq4DLWZOhbdEA" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53F5E13E90031" name="lowerBound">

+    <ownedAttribute xmi:id="_439EC3AE03B53F5E13E90031" name="lowerBound" type="_439EC3AE03B53D0674720115">

       <eAnnotations xmi:id="_TEev4GvaEdqcO4xxubZVBA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-Wq8ZEdq_3JIOnBmAhg" isUnsettable="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHGq8kEdq9B5_HWrPktA" isUnsettable="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53F5E13F401BD" name="upperBound">

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBlMg686EdieaYgxtVWN8Q"/>

+    <ownedAttribute xmi:id="_439EC3AE03B53F5E13F401BD" name="upperBound" type="_439EC3AE03B53D0674720115">

       <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gl_UiGvXEdq4DLWZOhbdEA" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53F5E13FC0150" name="many" isReadOnly="true" isDerived="true">

+    <ownedAttribute xmi:id="_439EC3AE03B53F5E13FC0150" name="many" type="_439EC3AE03B53D0672EC0024" isReadOnly="true" isDerived="true">

       <eAnnotations xmi:id="_gl_UimvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-W68ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHG68kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_439EC3AE03B53F5E14050212" name="required" isReadOnly="true" isDerived="true">

+    <ownedAttribute xmi:id="_439EC3AE03B53F5E14050212" name="required" type="_439EC3AE03B53D0672EC0024" isReadOnly="true" isDerived="true">

       <eAnnotations xmi:id="_gl_UjWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_wgA-XK8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_pzNHHK8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_TBfF4K86EdieaYgxtVWN8Q"/>

     </ownedAttribute>

     <ownedAttribute xmi:id="_439EC3AE03B53903DA27023A" name="eType" type="_439EC3AE03B53ACE4FEE0371" association="_439EC3AE03B53903DA26001E">

       <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gnB2WmvXEdq4DLWZOhbdEA" value="1"/>

@@ -589,200 +517,200 @@
   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53FC6252D01C7" name="EBigDecimal">

     <eAnnotations xmi:id="_gmIeYGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgA-Xa8ZEdq_3JIOnBmAhg" instanceClassName="java.math.BigDecimal"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzNHHa8kEdq9B5_HWrPktA" instanceClassName="java.math.BigDecimal"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmIeYmvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53FC625080137" name="EBigInteger">

     <eAnnotations xmi:id="_gmIeZmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgA-Xq8ZEdq_3JIOnBmAhg" instanceClassName="java.math.BigInteger"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzNHHq8kEdq9B5_HWrPktA" instanceClassName="java.math.BigInteger"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmIeaGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D0672EC0024" name="EBoolean">

     <eAnnotations xmi:id="_gmIebGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgA-X68ZEdq_3JIOnBmAhg" instanceClassName="boolean"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzNHH68kEdq9B5_HWrPktA" instanceClassName="boolean"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmIebmvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B539EB7E1202AF" name="EBooleanObject">

     <eAnnotations xmi:id="_gmIecWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgA-YK8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Boolean"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzNHIK8kEdq9B5_HWrPktA" instanceClassName="java.lang.Boolean"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmIedGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D06745301D9" name="EByte">

     <eAnnotations xmi:id="_gmIeeGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIQK8ZEdq_3JIOnBmAhg" instanceClassName="byte"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzNHIa8kEdq9B5_HWrPktA" instanceClassName="byte"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmIeemvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53FC62489001C" name="EByteArray">

     <eAnnotations xmi:id="_gmIefmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIQa8ZEdq_3JIOnBmAhg" instanceClassName="byte[]"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzNHIq8kEdq9B5_HWrPktA" instanceClassName="byte[]"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmIegGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D0672FE0070" name="EByteObject">

     <eAnnotations xmi:id="_gmSPYmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIQq8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Byte"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzNHI68kEdq9B5_HWrPktA" instanceClassName="java.lang.Byte"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmSPZGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D06731003B5" name="EChar">

     <eAnnotations xmi:id="_gmSPaGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIQ68ZEdq_3JIOnBmAhg" instanceClassName="char"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRAK8kEdq9B5_HWrPktA" instanceClassName="char"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmSPamvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B539EB7E480148" name="ECharacterObject">

     <eAnnotations xmi:id="_gmSPbWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIRK8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Character"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRAa8kEdq9B5_HWrPktA" instanceClassName="java.lang.Character"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmSPcGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53FC625DC038B" name="EDate">

     <eAnnotations xmi:id="_gmSPdGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIRa8ZEdq_3JIOnBmAhg" instanceClassName="java.util.Date"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRAq8kEdq9B5_HWrPktA" instanceClassName="java.util.Date"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmSPdmvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B540916FF702ED" name="EDiagnosticChain" isAbstract="true">

     <eAnnotations xmi:id="_gmSPemvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIRq8ZEdq_3JIOnBmAhg" instanceClassName="org.eclipse.emf.common.util.DiagnosticChain"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRA68kEdq9B5_HWrPktA" instanceClassName="org.eclipse.emf.common.util.DiagnosticChain"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmSPfGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D06745D0364" name="EDouble">

     <eAnnotations xmi:id="_gmcAYGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIR68ZEdq_3JIOnBmAhg" instanceClassName="double"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRBK8kEdq9B5_HWrPktA" instanceClassName="double"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmcAYmvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53A68EBB8012A" name="EDoubleObject">

     <eAnnotations xmi:id="_gmcAZWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKISK8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Double"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRBa8kEdq9B5_HWrPktA" instanceClassName="java.lang.Double"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmcAaGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53AD37E40003D" name="EEList" isAbstract="true">

     <eAnnotations xmi:id="_gmcAbGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKISa8ZEdq_3JIOnBmAhg" instanceClassName="org.eclipse.emf.common.util.EList"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRBq8kEdq9B5_HWrPktA" instanceClassName="org.eclipse.emf.common.util.EList"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmcAbmvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D2DB651020A" name="EEnumerator" isAbstract="true">

     <eAnnotations xmi:id="_gmcAcmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKISq8ZEdq_3JIOnBmAhg" instanceClassName="org.eclipse.emf.common.util.Enumerator"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRB68kEdq9B5_HWrPktA" instanceClassName="org.eclipse.emf.common.util.Enumerator"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmcAdGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53FC6258F00C3" name="EFeatureMap" isAbstract="true">

     <eAnnotations xmi:id="_gmcAeGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIS68ZEdq_3JIOnBmAhg" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRCK8kEdq9B5_HWrPktA" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmcAemvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53F44E79E02B2" name="EFeatureMapEntry">

     <eAnnotations xmi:id="_gmlKUGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKITK8ZEdq_3JIOnBmAhg" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap$Entry"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRCa8kEdq9B5_HWrPktA" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap$Entry"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmlKUmvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D067469025C" name="EFloat">

     <eAnnotations xmi:id="_gmlKVmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKITa8ZEdq_3JIOnBmAhg" instanceClassName="float"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRCq8kEdq9B5_HWrPktA" instanceClassName="float"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmlKWGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B539EB7E2600BB" name="EFloatObject">

     <eAnnotations xmi:id="_gmlKW2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKITq8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Float"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRC68kEdq9B5_HWrPktA" instanceClassName="java.lang.Float"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmlKXmvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D0674720115" name="EInt">

     <eAnnotations xmi:id="_gmlKYmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIT68ZEdq_3JIOnBmAhg" instanceClassName="int"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRDK8kEdq9B5_HWrPktA" instanceClassName="int"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmlKZGvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B539EB7E0702AF" name="EIntegerObject">

     <eAnnotations xmi:id="_gmlKZ2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIUK8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Integer"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRDa8kEdq9B5_HWrPktA" instanceClassName="java.lang.Integer"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmlKamvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53B1531690285" name="EJavaClass">

     <eAnnotations xmi:id="_gmu7UGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIUa8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Class"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRDq8kEdq9B5_HWrPktA" instanceClassName="java.lang.Class"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmu7U2vXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53ACDF8200182" name="EJavaObject" isAbstract="true">

     <eAnnotations xmi:id="_gmu7V2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIUq8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Object"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRD68kEdq9B5_HWrPktA" instanceClassName="java.lang.Object"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmu7WWvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D06747C0390" name="ELong">

     <eAnnotations xmi:id="_gmu7XWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIU68ZEdq_3JIOnBmAhg" instanceClassName="long"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWREK8kEdq9B5_HWrPktA" instanceClassName="long"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmu7X2vXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53A68EBAB02DA" name="ELongObject">

     <eAnnotations xmi:id="_gmu7YmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIVK8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Long"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWREa8kEdq9B5_HWrPktA" instanceClassName="java.lang.Long"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmu7ZWvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B54091704001A5" name="EMap" isAbstract="true">

     <eAnnotations xmi:id="_gmu7aWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIVa8ZEdq_3JIOnBmAhg" instanceClassName="java.util.Map"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWREq8kEdq9B5_HWrPktA" instanceClassName="java.util.Map"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gmu7a2vXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53C4F231001FC" name="EResource" isAbstract="true">

     <eAnnotations xmi:id="_gm4sUWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIVq8ZEdq_3JIOnBmAhg" instanceClassName="org.eclipse.emf.ecore.resource.Resource"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRE68kEdq9B5_HWrPktA" instanceClassName="org.eclipse.emf.ecore.resource.Resource"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gm4sU2vXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53FC6255C012E" name="EResourceSet" isAbstract="true">

     <eAnnotations xmi:id="_gm4sV2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIV68ZEdq_3JIOnBmAhg" instanceClassName="org.eclipse.emf.ecore.resource.ResourceSet"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRFK8kEdq9B5_HWrPktA" instanceClassName="org.eclipse.emf.ecore.resource.ResourceSet"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gm4sWWvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D06748601FA" name="EShort">

     <eAnnotations xmi:id="_gm4sXWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIWK8ZEdq_3JIOnBmAhg" instanceClassName="short"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRFa8kEdq9B5_HWrPktA" instanceClassName="short"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gm4sX2vXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53A971C630333" name="EShortObject">

     <eAnnotations xmi:id="_gm4sYmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIWa8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.Short"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRFq8kEdq9B5_HWrPktA" instanceClassName="java.lang.Short"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gm4sZWvXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B539EB7E000186" name="EString">

     <eAnnotations xmi:id="_gm4saGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIWq8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.String"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRF68kEdq9B5_HWrPktA" instanceClassName="java.lang.String"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gm4sa2vXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_439EC3AE03B53D08E8A002C4" name="ETreeIterator" isAbstract="true">

     <eAnnotations xmi:id="_gnB2RWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_wgKIW68ZEdq_3JIOnBmAhg" instanceClassName="org.eclipse.emf.common.util.TreeIterator"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_pzWRGK8kEdq9B5_HWrPktA" instanceClassName="org.eclipse.emf.common.util.TreeIterator"/>

     </eAnnotations>

     <eAnnotations xmi:id="_gnB2R2vXEdq4DLWZOhbdEA" source="keywords"/>

   </ownedMember>

   <ownedMember xmi:type="uml:Association" xmi:id="_439EC3AE03B539D6BD4A03B1" name="A_eAllAttributes_eClass" isDerived="true" memberEnd="_439EC3AE03B539D6BD4C0061 _439EC3AE03B539D6BD4C006B">

     <ownedEnd xmi:id="_439EC3AE03B539D6BD4C006B" type="_439EC3AE03B53903D5BF000A" isReadOnly="true" association="_439EC3AE03B539D6BD4A03B1">

       <eAnnotations xmi:id="_gnLnQ2vXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wgT5QK8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pzWRGa8kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

     </ownedEnd>

   </ownedMember>

@@ -792,7 +720,7 @@
   <ownedMember xmi:type="uml:Association" xmi:id="_439EC3AE03B539DE157303C6" name="A_eAttributes_eClass" isDerived="true" memberEnd="_439EC3AE03B539DE157703CC _439EC3AE03B539DE15780002">

     <ownedEnd xmi:id="_439EC3AE03B539DE15780002" type="_439EC3AE03B53903D5BF000A" isReadOnly="true" association="_439EC3AE03B539DE157303C6">

       <eAnnotations xmi:id="_gnUxOWvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wgT5Qa8ZEdq_3JIOnBmAhg" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pzWRGq8kEdq9B5_HWrPktA" isVolatile="true"/>

       </eAnnotations>

     </ownedEnd>

   </ownedMember>

@@ -825,7 +753,7 @@
   <ownedMember xmi:type="uml:Association" xmi:id="_439EC3AE03B539D6BD89002C" name="A_eAllReferences_eClass" isDerived="true" memberEnd="_439EC3AE03B539D6BD8A010A _439EC3AE03B539D6BD8A0114">

     <ownedEnd xmi:id="_439EC3AE03B539D6BD8A0114" type="_439EC3AE03B53903D5BF000A" isReadOnly="true" association="_439EC3AE03B539D6BD89002C">

       <eAnnotations xmi:id="_gnLnTGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wgT5Qq8ZEdq_3JIOnBmAhg" isTransient="true" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pzWRG68kEdq9B5_HWrPktA" isTransient="true" isVolatile="true"/>

       </eAnnotations>

     </ownedEnd>

   </ownedMember>

@@ -835,7 +763,7 @@
   <ownedMember xmi:type="uml:Association" xmi:id="_439EC3AE03B539D7678B0314" name="A_eReferences_eClass" isDerived="true" memberEnd="_439EC3AE03B539D7678D02EF _439EC3AE03B539D7678D0303">

     <ownedEnd xmi:id="_439EC3AE03B539D7678D0303" type="_439EC3AE03B53903D5BF000A" isReadOnly="true" association="_439EC3AE03B539D7678B0314">

       <eAnnotations xmi:id="_gnUxMGvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wgT5Q68ZEdq_3JIOnBmAhg" isVolatile="true"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pzWRHK8kEdq9B5_HWrPktA" isVolatile="true"/>

       </eAnnotations>

     </ownedEnd>

   </ownedMember>

@@ -851,7 +779,7 @@
   <ownedMember xmi:type="uml:Association" xmi:id="_439EC3AE03B53DA70B0400EC" name="A_eAnnotation_contents" memberEnd="_439EC3AE03B53DA70B04031D _439EC3AE03B53DA70B040327">

     <ownedEnd xmi:id="_439EC3AE03B53DA70B04031D" type="_439EC3AE03B53D98A1C701AB" association="_439EC3AE03B53DA70B0400EC">

       <eAnnotations xmi:id="_gn7OLmvXEdq4DLWZOhbdEA" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_wgT5RK8ZEdq_3JIOnBmAhg" isResolveProxies="false"/>

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_pzWRHa8kEdq9B5_HWrPktA" isResolveProxies="false"/>

       </eAnnotations>

     </ownedEnd>

   </ownedMember>

diff --git a/plugins/org.eclipse.uml2.uml/model/Infrastructure.uml2 b/plugins/org.eclipse.uml2.uml/model/Infrastructure.uml2
index dede9d3..0e564c7 100644
--- a/plugins/org.eclipse.uml2.uml/model/Infrastructure.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/Infrastructure.uml2
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml/model/L0.uml2 b/plugins/org.eclipse.uml2.uml/model/L0.uml2
index 7ffba19..eca9f70 100644
--- a/plugins/org.eclipse.uml2.uml/model/L0.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/L0.uml2
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore_2="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xsi:schemaLocation="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_1RgZIcezEdmTJL3rR1ioJg" xmi:id="__yy3ABmLEdqvcs97umGEYQ" name="L0" appliedProfile="_APtcgBmMEdqvcs97umGEYQ">

   <eAnnotations xmi:id="_s2YaERTaEdqZu-3Jy1-uYg" source="appliedStereotypes">

-    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_xWjkwK8ZEdq_3JIOnBmAhg" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/umlL0.xml"/>

+    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_qmBEEK8kEdq9B5_HWrPktA" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/umlL0.xml"/>

   </eAnnotations>

   <packageImport xmi:type="uml:ProfileApplication" xmi:id="_APtcgBmMEdqvcs97umGEYQ">

     <eAnnotations xmi:id="_APtcgRmMEdqvcs97umGEYQ" source="attributes">

diff --git a/plugins/org.eclipse.uml2.uml/model/L1.uml2 b/plugins/org.eclipse.uml2.uml/model/L1.uml2
index fc606ed..a037cb0 100644
--- a/plugins/org.eclipse.uml2.uml/model/L1.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/L1.uml2
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore_2="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xsi:schemaLocation="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_1RgZIcezEdmTJL3rR1ioJg" xmi:id="_BWooUBmMEdqvcs97umGEYQ" name="L1" appliedProfile="_BbZzkBmMEdqvcs97umGEYQ">

   <eAnnotations xmi:id="_s1ozMhTaEdqZu-3Jy1-uYg" source="appliedStereotypes">

-    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_xpB00K8ZEdq_3JIOnBmAhg" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/uml.xml"/>

+    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_q35eQK8kEdq9B5_HWrPktA" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/uml.xml"/>

   </eAnnotations>

   <packageImport xmi:type="uml:ProfileApplication" xmi:id="_BbZzkBmMEdqvcs97umGEYQ">

     <eAnnotations xmi:id="_BbZzkRmMEdqvcs97umGEYQ" source="attributes">

diff --git a/plugins/org.eclipse.uml2.uml/model/L2.uml2 b/plugins/org.eclipse.uml2.uml/model/L2.uml2
index f813506..c5e5d5f 100644
--- a/plugins/org.eclipse.uml2.uml/model/L2.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/L2.uml2
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore_2="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xsi:schemaLocation="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_1RgZIcezEdmTJL3rR1ioJg" xmi:id="_CTvJwBmMEdqvcs97umGEYQ" name="L2" appliedProfile="_CZsAwBmMEdqvcs97umGEYQ">

   <eAnnotations xmi:id="_s1ykRRTaEdqZu-3Jy1-uYg" source="appliedStereotypes">

-    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_zGAwMK8ZEdq_3JIOnBmAhg" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/uml.xml"/>

+    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_sRmcIK8kEdq9B5_HWrPktA" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/uml.xml"/>

   </eAnnotations>

   <packageImport xmi:type="uml:ProfileApplication" xmi:id="_CZsAwBmMEdqvcs97umGEYQ">

     <eAnnotations xmi:id="_CZsAwRmMEdqvcs97umGEYQ" source="attributes">

diff --git a/plugins/org.eclipse.uml2.uml/model/L3.uml2 b/plugins/org.eclipse.uml2.uml/model/L3.uml2
index a3e85df..12908b9 100644
--- a/plugins/org.eclipse.uml2.uml/model/L3.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/L3.uml2
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore_2="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xsi:schemaLocation="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_1RgZIcezEdmTJL3rR1ioJg" xmi:id="_EBtHcBmMEdqvcs97umGEYQ" name="L3" appliedProfile="_EF31wBmMEdqvcs97umGEYQ">

   <eAnnotations xmi:id="_s2FfIxTaEdqZu-3Jy1-uYg" source="appliedStereotypes">

-    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_0-tXMK8ZEdq_3JIOnBmAhg" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/uml.xml"/>

+    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_uAK2wK8kEdq9B5_HWrPktA" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/uml.xml"/>

   </eAnnotations>

   <packageImport xmi:type="uml:ProfileApplication" xmi:id="_EF31wBmMEdqvcs97umGEYQ">

     <eAnnotations xmi:id="_EF31wRmMEdqvcs97umGEYQ" source="attributes">

diff --git a/plugins/org.eclipse.uml2.uml/model/LM.uml2 b/plugins/org.eclipse.uml2.uml/model/LM.uml2
index 9840ec0..3bcd90a 100644
--- a/plugins/org.eclipse.uml2.uml/model/LM.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/LM.uml2
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore_2="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xsi:schemaLocation="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_1RgZIcezEdmTJL3rR1ioJg" xmi:id="_FA4sgBmMEdqvcs97umGEYQ" name="LM" appliedProfile="_FETz8BmMEdqvcs97umGEYQ">

   <eAnnotations xmi:id="_s2iLEBTaEdqZu-3Jy1-uYg" source="appliedStereotypes">

-    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_24KMIK8ZEdq_3JIOnBmAhg" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/umlLM.xml"/>

+    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_vtGSoK8kEdq9B5_HWrPktA" nsPrefix="uml" nsURI="http://schema.omg.org/spec/UML/2.1/umlLM.xml"/>

   </eAnnotations>

   <packageImport xmi:type="uml:ProfileApplication" xmi:id="_FETz8BmMEdqvcs97umGEYQ">

     <eAnnotations xmi:id="_FETz8RmMEdqvcs97umGEYQ" source="attributes">

diff --git a/plugins/org.eclipse.uml2.uml/model/Superstructure.uml2 b/plugins/org.eclipse.uml2.uml/model/Superstructure.uml2
index 6b7f8dd..c229d1c 100644
--- a/plugins/org.eclipse.uml2.uml/model/Superstructure.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/Superstructure.uml2
Binary files differ
diff --git a/plugins/org.eclipse.uml2.uml/model/UML.merged.uml2 b/plugins/org.eclipse.uml2.uml/model/UML.merged.uml2
index d48b6ad..a255327 100644
--- a/plugins/org.eclipse.uml2.uml/model/UML.merged.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/UML.merged.uml2
@@ -1,51 +1,51 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore_2="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xsi:schemaLocation="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_1RgZIcezEdmTJL3rR1ioJg" xmi:id="_o8I_sGvaEdq4DLWZOhbdEA" name="UML" appliedProfile="_0TBYYGvaEdq4DLWZOhbdEA">

   <eAnnotations xmi:id="_1gWuMGvaEdq4DLWZOhbdEA" source="appliedStereotypes">

-    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_7pxhAK8ZEdq_3JIOnBmAhg" packageName="uml" nsPrefix="uml" nsURI="http://www.eclipse.org/uml2/2.0.0/UML" basePackage="org.eclipse.uml2" prefix="UML"/>

+    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_0USgMK8kEdq9B5_HWrPktA" packageName="uml" nsPrefix="uml" nsURI="http://www.eclipse.org/uml2/2.0.0/UML" basePackage="org.eclipse.uml2" prefix="UML"/>

   </eAnnotations>

-  <eAnnotations xmi:id="_4OwWMK8aEdqf6aL57Hh6KQ" source="capabilities">

-    <eAnnotations xmi:id="_4OwWMa8aEdqf6aL57Hh6KQ" source="UML::Activities::CompleteStructuredActivities" references="_4CifMa8aEdqf6aL57Hh6KQ _4CYuTK8aEdqf6aL57Hh6KQ _3838bq8aEdqf6aL57Hh6KQ _4CifJq8aEdqf6aL57Hh6KQ _4CifM68aEdqf6aL57Hh6KQ _38SGIK8aEdqf6aL57Hh6KQ _4CYuiK8aEdqf6aL57Hh6KQ _4CYuaK8aEdqf6aL57Hh6KQ _38IVkK8aEdqf6aL57Hh6KQ _4CifIq8aEdqf6aL57Hh6KQ _4CYubK8aEdqf6aL57Hh6KQ _4CifLa8aEdqf6aL57Hh6KQ _38IVLa8aEdqf6aL57Hh6KQ _4CifKq8aEdqf6aL57Hh6KQ _4CifJa8aEdqf6aL57Hh6KQ _4CifKa8aEdqf6aL57Hh6KQ _4CYuQa8aEdqf6aL57Hh6KQ _3838V68aEdqf6aL57Hh6KQ _4CYuhq8aEdqf6aL57Hh6KQ _3838n68aEdqf6aL57Hh6KQ _4CYuT68aEdqf6aL57Hh6KQ _4CYuZK8aEdqf6aL57Hh6KQ _4CYuXq8aEdqf6aL57Hh6KQ _38IVea8aEdqf6aL57Hh6KQ _4CYuda8aEdqf6aL57Hh6KQ _4CifIK8aEdqf6aL57Hh6KQ _4CifLq8aEdqf6aL57Hh6KQ _38SGNq8aEdqf6aL57Hh6KQ _39BtO68aEdqf6aL57Hh6KQ _4CYufK8aEdqf6aL57Hh6KQ _4CifNq8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4OwWMq8aEdqf6aL57Hh6KQ" source="UML::Classes::Interfaces" references="_38lBG68aEdqf6aL57Hh6KQ _l2mXcHLzEdqziYxiZo0YtA _8Ugn8GvtEdqG6fBIPwe-mw _38lBUK8aEdqf6aL57Hh6KQ _38lBXq8aEdqf6aL57Hh6KQ _38lBSa8aEdqf6aL57Hh6KQ _38lBYK8aEdqf6aL57Hh6KQ _38lBUq8aEdqf6aL57Hh6KQ _38lBVa8aEdqf6aL57Hh6KQ _38lBTK8aEdqf6aL57Hh6KQ _38lBQK8aEdqf6aL57Hh6KQ _38lBIa8aEdqf6aL57Hh6KQ _iY7sMGvsEdqG6fBIPwe-mw _38lBOa8aEdqf6aL57Hh6KQ _38lBLa8aEdqf6aL57Hh6KQ _38lBRq8aEdqf6aL57Hh6KQ _38lBW68aEdqf6aL57Hh6KQ _38lBMa8aEdqf6aL57Hh6KQ _38lBJ68aEdqf6aL57Hh6KQ _38lBWK8aEdqf6aL57Hh6KQ _M4X2IGveEdq4DLWZOhbdEA _38lBFa8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCIK8aEdqf6aL57Hh6KQ" source="InfrastructureLibrary::Core::Constructs" references="_34jct68aEdqf6aL57Hh6KQ _33qFAa8aEdqf6aL57Hh6KQ _33qFB68aEdqf6aL57Hh6KQ _33qFSK8aEdqf6aL57Hh6KQ _jKxnwGwLEdq7X4sGURiZYA _33qFd68aEdqf6aL57Hh6KQ _34Qh7a8aEdqf6aL57Hh6KQ _33XKBa8aEdqf6aL57Hh6KQ _342YCa8aEdqf6aL57Hh6KQ _34aSzK8aEdqf6aL57Hh6KQ _33z1_K8aEdqf6aL57Hh6KQ _34jc9a8aEdqf6aL57Hh6KQ _342X168aEdqf6aL57Hh6KQ _34aS-K8aEdqf6aL57Hh6KQ _34aSwK8aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ _342Xqa8aEdqf6aL57Hh6KQ _33z2Fa8aEdqf6aL57Hh6KQ _342Xp68aEdqf6aL57Hh6KQ _34Gw068aEdqf6aL57Hh6KQ _34Qh1a8aEdqf6aL57Hh6KQ _33OABK8aEdqf6aL57Hh6KQ _33qFV68aEdqf6aL57Hh6KQ _342XyK8aEdqf6aL57Hh6KQ _33OANq8aEdqf6aL57Hh6KQ _339m168aEdqf6aL57Hh6KQ _342X4a8aEdqf6aL57Hh6KQ _33qFVK8aEdqf6aL57Hh6KQ _34Gwxa8aEdqf6aL57Hh6KQ _33EO8K8aEdqf6aL57Hh6KQ _339m2q8aEdqf6aL57Hh6KQ _33qE-68aEdqf6aL57Hh6KQ _34tNs68aEdqf6aL57Hh6KQ _I6N3UGwGEdq7X4sGURiZYA _33XJ_68aEdqf6aL57Hh6KQ _342X768aEdqf6aL57Hh6KQ _342X9K8aEdqf6aL57Hh6KQ _342X6q8aEdqf6aL57Hh6KQ _33z15K8aEdqf6aL57Hh6KQ _34tNua8aEdqf6aL57Hh6KQ _33EPBq8aEdqf6aL57Hh6KQ _csVgUGvtEdqG6fBIPwe-mw _34tNuq8aEdqf6aL57Hh6KQ _34tNsK8aEdqf6aL57Hh6KQ _34jc-a8aEdqf6aL57Hh6KQ _33qE3q8aEdqf6aL57Hh6KQ _34jcvK8aEdqf6aL57Hh6KQ _342X_K8aEdqf6aL57Hh6KQ _33qFca8aEdqf6aL57Hh6KQ _34aTH68aEdqf6aL57Hh6KQ _6UV2QGwJEdq7X4sGURiZYA _342X2K8aEdqf6aL57Hh6KQ _342YBK8aEdqf6aL57Hh6KQ _342Xra8aEdqf6aL57Hh6KQ _34QiCK8aEdqf6aL57Hh6KQ _33XKK68aEdqf6aL57Hh6KQ _342X968aEdqf6aL57Hh6KQ _34jcxq8aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _34tNva8aEdqf6aL57Hh6KQ _34Gw2q8aEdqf6aL57Hh6KQ _33qE2a8aEdqf6aL57Hh6KQ _33XKPa8aEdqf6aL57Hh6KQ _33EPL68aEdqf6aL57Hh6KQ _33EPOa8aEdqf6aL57Hh6KQ _33EPJ68aEdqf6aL57Hh6KQ _342XuK8aEdqf6aL57Hh6KQ _34Qh968aEdqf6aL57Hh6KQ _33qFGq8aEdqf6aL57Hh6KQ _342Xxq8aEdqf6aL57Hh6KQ _342X8K8aEdqf6aL57Hh6KQ _34Qh0a8aEdqf6aL57Hh6KQ _33z13K8aEdqf6aL57Hh6KQ _34tNzq8aEdqf6aL57Hh6KQ _33OAIq8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ _342X568aEdqf6aL57Hh6KQ _33N_8a8aEdqf6aL57Hh6KQ _33qE0K8aEdqf6aL57Hh6KQ _342X2q8aEdqf6aL57Hh6KQ _342XsK8aEdqf6aL57Hh6KQ _34tNu68aEdqf6aL57Hh6KQ _34tN0a8aEdqf6aL57Hh6KQ _342Xr68aEdqf6aL57Hh6KQ _34aS168aEdqf6aL57Hh6KQ _326d_K8aEdqf6aL57Hh6KQ _33g7A68aEdqf6aL57Hh6KQ _342X_68aEdqf6aL57Hh6KQ _34tNxa8aEdqf6aL57Hh6KQ _34Qhwq8aEdqf6aL57Hh6KQ _34jc2a8aEdqf6aL57Hh6KQ _34aS0q8aEdqf6aL57Hh6KQ _342XoK8aEdqf6aL57Hh6KQ _33g7Ca8aEdqf6aL57Hh6KQ _339m_q8aEdqf6aL57Hh6KQ _34jc9K8aEdqf6aL57Hh6KQ _33XKC68aEdqf6aL57Hh6KQ _342YAa8aEdqf6aL57Hh6KQ _342Xva8aEdqf6aL57Hh6KQ _33g66a8aEdqf6aL57Hh6KQ _33EO_a8aEdqf6aL57Hh6KQ _33z10K8aEdqf6aL57Hh6KQ _34tNtq8aEdqf6aL57Hh6KQ _33qFFK8aEdqf6aL57Hh6KQ _33OARq8aEdqf6aL57Hh6KQ _V6vuYGwGEdq7X4sGURiZYA _33g69a8aEdqf6aL57Hh6KQ _33z2DK8aEdqf6aL57Hh6KQ _33g64K8aEdqf6aL57Hh6KQ _339m5K8aEdqf6aL57Hh6KQ _33XJ4K8aEdqf6aL57Hh6KQ _AyM_oGwMEdq7X4sGURiZYA _33qFUa8aEdqf6aL57Hh6KQ _342Xyq8aEdqf6aL57Hh6KQ _33qE6K8aEdqf6aL57Hh6KQ _339m-K8aEdqf6aL57Hh6KQ _Jp_1oGveEdq4DLWZOhbdEA _33qE7a8aEdqf6aL57Hh6KQ _33OAHa8aEdqf6aL57Hh6KQ _33qFY68aEdqf6aL57Hh6KQ _33qE468aEdqf6aL57Hh6KQ _33XKR68aEdqf6aL57Hh6KQ _339nEq8aEdqf6aL57Hh6KQ _34Gw668aEdqf6aL57Hh6KQ _33qFRa8aEdqf6aL57Hh6KQ _AwvxoGwNEdq7X4sGURiZYA _34Gw8a8aEdqf6aL57Hh6KQ _34aTAa8aEdqf6aL57Hh6KQ _339nF68aEdqf6aL57Hh6KQ _342X468aEdqf6aL57Hh6KQ _34aTDq8aEdqf6aL57Hh6KQ _339nHK8aEdqf6aL57Hh6KQ _342X-a8aEdqf6aL57Hh6KQ _34Qh568aEdqf6aL57Hh6KQ _34jc_a8aEdqf6aL57Hh6KQ _342Xza8aEdqf6aL57Hh6KQ _33OAPK8aEdqf6aL57Hh6KQ _342X5q8aEdqf6aL57Hh6KQ _33qFJK8aEdqf6aL57Hh6KQ _342X068aEdqf6aL57Hh6KQ _34aSxq8aEdqf6aL57Hh6KQ _rHT3YKOsEdqi_5gqUMOQtA _33OAQa8aEdqf6aL57Hh6KQ _342X1a8aEdqf6aL57Hh6KQ _ChRfcGveEdq4DLWZOhbdEA _34aTMa8aEdqf6aL57Hh6KQ _33g6-68aEdqf6aL57Hh6KQ _33z2H68aEdqf6aL57Hh6KQ _342X4q8aEdqf6aL57Hh6KQ _342X7a8aEdqf6aL57Hh6KQ _34aTN68aEdqf6aL57Hh6KQ _33OACq8aEdqf6aL57Hh6KQ _DH62EKPAEdqi_5gqUMOQtA _34tNvK8aEdqf6aL57Hh6KQ _342Xpq8aEdqf6aL57Hh6KQ _33XJ9a8aEdqf6aL57Hh6KQ _RPl78GwIEdq7X4sGURiZYA _33qFgq8aEdqf6aL57Hh6KQ _339nBq8aEdqf6aL57Hh6KQ _34Qh5K8aEdqf6aL57Hh6KQ _33qFZ68aEdqf6aL57Hh6KQ _34jczK8aEdqf6aL57Hh6KQ _Gjgl0GveEdq4DLWZOhbdEA _342Xw68aEdqf6aL57Hh6KQ _33z1168aEdqf6aL57Hh6KQ _326eAK8aEdqf6aL57Hh6KQ _-cvRAGvzEdq7X4sGURiZYA _34aS668aEdqf6aL57Hh6KQ _34tNv68aEdqf6aL57Hh6KQ _342X1K8aEdqf6aL57Hh6KQ _34tNuK8aEdqf6aL57Hh6KQ _33XKHa8aEdqf6aL57Hh6KQ _339nAq8aEdqf6aL57Hh6KQ _339m368aEdqf6aL57Hh6KQ _33qFe68aEdqf6aL57Hh6KQ _326d9q8aEdqf6aL57Hh6KQ _OQcbgGwOEdq7X4sGURiZYA _342XrK8aEdqf6aL57Hh6KQ _342X-q8aEdqf6aL57Hh6KQ _34aS8q8aEdqf6aL57Hh6KQ _33OAOa8aEdqf6aL57Hh6KQ _342Xs68aEdqf6aL57Hh6KQ _34jcz68aEdqf6aL57Hh6KQ _34tNyK8aEdqf6aL57Hh6KQ _342Xzq8aEdqf6aL57Hh6KQ _34tNz68aEdqf6aL57Hh6KQ _33EPDa8aEdqf6aL57Hh6KQ _342Xoq8aEdqf6aL57Hh6KQ _342Xv68aEdqf6aL57Hh6KQ _342Xtq8aEdqf6aL57Hh6KQ _33g7Dq8aEdqf6aL57Hh6KQ _342Xwq8aEdqf6aL57Hh6KQ _33XJ8K8aEdqf6aL57Hh6KQ _34GwzK8aEdqf6aL57Hh6KQ _342Xpa8aEdqf6aL57Hh6KQ _342Xy68aEdqf6aL57Hh6KQ _33qFIK8aEdqf6aL57Hh6KQ _M4X2IGveEdq4DLWZOhbdEA _33OAFq8aEdqf6aL57Hh6KQ _33OAEK8aEdqf6aL57Hh6KQ _33z2BK8aEdqf6aL57Hh6KQ _33EPHa8aEdqf6aL57Hh6KQ _342X0a8aEdqf6aL57Hh6KQ _33XKF68aEdqf6aL57Hh6KQ _SnNPIGwIEdq7X4sGURiZYA _33z2Ga8aEdqf6aL57Hh6KQ _kl90MGvbEdq4DLWZOhbdEA _33EPFq8aEdqf6aL57Hh6KQ _342YBq8aEdqf6aL57Hh6KQ _34tNw68aEdqf6aL57Hh6KQ _342X0K8aEdqf6aL57Hh6KQ _33z2Ka8aEdqf6aL57Hh6KQ _33XKM68aEdqf6aL57Hh6KQ _33qFTq8aEdqf6aL57Hh6KQ _33XKIq8aEdqf6aL57Hh6KQ _33qE-K8aEdqf6aL57Hh6KQ _339m8q8aEdqf6aL57Hh6KQ _33z2L68aEdqf6aL57Hh6KQ _33qFEa8aEdqf6aL57Hh6KQ _ynRtoGvtEdqG6fBIPwe-mw _342X268aEdqf6aL57Hh6KQ _34tNzK8aEdqf6aL57Hh6KQ _342Xya8aEdqf6aL57Hh6KQ _342Xqq8aEdqf6aL57Hh6KQ _326d8K8aEdqf6aL57Hh6KQ _33z16q8aEdqf6aL57Hh6KQ _342Xwa8aEdqf6aL57Hh6KQ _34Gw4q8aEdqf6aL57Hh6KQ _33g7Ea8aEdqf6aL57Hh6KQ _339nDK8aEdqf6aL57Hh6KQ _342X6K8aEdqf6aL57Hh6KQ _339nIa8aEdqf6aL57Hh6KQ _00owUGvdEdq4DLWZOhbdEA __1ap4HLzEdqziYxiZo0YtA _342X3K8aEdqf6aL57Hh6KQ _33N_968aEdqf6aL57Hh6KQ _ZiwkoGwLEdq7X4sGURiZYA _34aS3q8aEdqf6aL57Hh6KQ _33g6768aEdqf6aL57Hh6KQ _342XzK8aEdqf6aL57Hh6KQ _34aS-68aEdqf6aL57Hh6KQ _34aTJa8aEdqf6aL57Hh6KQ _KyaPMGveEdq4DLWZOhbdEA _34jcsK8aEdqf6aL57Hh6KQ _34jc5K8aEdqf6aL57Hh6KQ _33qFa68aEdqf6aL57Hh6KQ _34tNwq8aEdqf6aL57Hh6KQ _34aTCK8aEdqf6aL57Hh6KQ _34GwwK8aEdqf6aL57Hh6KQ _33qFXa8aEdqf6aL57Hh6KQ _34QiAq8aEdqf6aL57Hh6KQ _34Qh8a8aEdqf6aL57Hh6KQ _342X3q8aEdqf6aL57Hh6KQ _JBgfoKPAEdqi_5gqUMOQtA _33qFC68aEdqf6aL57Hh6KQ _34jcw68aEdqf6aL57Hh6KQ _33XJ6K8aEdqf6aL57Hh6KQ _34Qhy68aEdqf6aL57Hh6KQ _33z18K8aEdqf6aL57Hh6KQ _33EO9q8aEdqf6aL57Hh6KQ _34jc9q8aEdqf6aL57Hh6KQ _34jc1a8aEdqf6aL57Hh6KQ _342Xu68aEdqf6aL57Hh6KQ _342X8q8aEdqf6aL57Hh6KQ _33qE1K8aEdqf6aL57Hh6KQ _342X1q8aEdqf6aL57Hh6KQ _34tNwK8aEdqf6aL57Hh6KQ _339m668aEdqf6aL57Hh6KQ _34aS7q8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCIa8aEdqf6aL57Hh6KQ" source="UML::Classes::Kernel" references="_34jct68aEdqf6aL57Hh6KQ _33qFAa8aEdqf6aL57Hh6KQ _33qFB68aEdqf6aL57Hh6KQ _33qFSK8aEdqf6aL57Hh6KQ _jKxnwGwLEdq7X4sGURiZYA _33qFd68aEdqf6aL57Hh6KQ _PyCx8GveEdq4DLWZOhbdEA _37ifYK8aEdqf6aL57Hh6KQ _34Qh7a8aEdqf6aL57Hh6KQ _33XKBa8aEdqf6aL57Hh6KQ _342YCa8aEdqf6aL57Hh6KQ _35vvha8aEdqf6aL57Hh6KQ _34aSzK8aEdqf6aL57Hh6KQ _33z1_K8aEdqf6aL57Hh6KQ _35TDka8aEdqf6aL57Hh6KQ _34jc9a8aEdqf6aL57Hh6KQ _342X168aEdqf6aL57Hh6KQ _34aS-K8aEdqf6aL57Hh6KQ _34aSwK8aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ _342Xqa8aEdqf6aL57Hh6KQ _33z2Fa8aEdqf6aL57Hh6KQ _342Xp68aEdqf6aL57Hh6KQ _34Gw068aEdqf6aL57Hh6KQ _34Qh1a8aEdqf6aL57Hh6KQ _33OABK8aEdqf6aL57Hh6KQ _33qFV68aEdqf6aL57Hh6KQ _35c0oK8aEdqf6aL57Hh6KQ _342XyK8aEdqf6aL57Hh6KQ _33OANq8aEdqf6aL57Hh6KQ _339m168aEdqf6aL57Hh6KQ _36WMtq8aEdqf6aL57Hh6KQ _35vvgq8aEdqf6aL57Hh6KQ _342X4a8aEdqf6aL57Hh6KQ _33qFVK8aEdqf6aL57Hh6KQ _34Gwxa8aEdqf6aL57Hh6KQ _33EO8K8aEdqf6aL57Hh6KQ _339m2q8aEdqf6aL57Hh6KQ _33qE-68aEdqf6aL57Hh6KQ _34tNs68aEdqf6aL57Hh6KQ _I6N3UGwGEdq7X4sGURiZYA _33XJ_68aEdqf6aL57Hh6KQ _342X768aEdqf6aL57Hh6KQ _342X9K8aEdqf6aL57Hh6KQ _342X6q8aEdqf6aL57Hh6KQ _33z15K8aEdqf6aL57Hh6KQ _34tNua8aEdqf6aL57Hh6KQ _37ifUK8aEdqf6aL57Hh6KQ _33EPBq8aEdqf6aL57Hh6KQ _36WMl68aEdqf6aL57Hh6KQ _csVgUGvtEdqG6fBIPwe-mw _34tNuq8aEdqf6aL57Hh6KQ _34tNsK8aEdqf6aL57Hh6KQ _34jc-a8aEdqf6aL57Hh6KQ _37rpNa8aEdqf6aL57Hh6KQ _33qE3q8aEdqf6aL57Hh6KQ _342X_K8aEdqf6aL57Hh6KQ _33qFca8aEdqf6aL57Hh6KQ _36WMfq8aEdqf6aL57Hh6KQ _34aTH68aEdqf6aL57Hh6KQ _35TD4a8aEdqf6aL57Hh6KQ _6UV2QGwJEdq7X4sGURiZYA _342X2K8aEdqf6aL57Hh6KQ _342YBK8aEdqf6aL57Hh6KQ _342Xra8aEdqf6aL57Hh6KQ _34QiCK8aEdqf6aL57Hh6KQ _33XKK68aEdqf6aL57Hh6KQ _342X968aEdqf6aL57Hh6KQ _34jcxq8aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _34tNva8aEdqf6aL57Hh6KQ _34Gw2q8aEdqf6aL57Hh6KQ _33qE2a8aEdqf6aL57Hh6KQ _33XKPa8aEdqf6aL57Hh6KQ _33EPL68aEdqf6aL57Hh6KQ _33EPOa8aEdqf6aL57Hh6KQ _33EPJ68aEdqf6aL57Hh6KQ _36WMra8aEdqf6aL57Hh6KQ _342XuK8aEdqf6aL57Hh6KQ _34Qh968aEdqf6aL57Hh6KQ _33qFGq8aEdqf6aL57Hh6KQ _342Xxq8aEdqf6aL57Hh6KQ _342X8K8aEdqf6aL57Hh6KQ _34Qh0a8aEdqf6aL57Hh6KQ _37Fzg68aEdqf6aL57Hh6KQ _36WMcq8aEdqf6aL57Hh6KQ _33z13K8aEdqf6aL57Hh6KQ _34tNzq8aEdqf6aL57Hh6KQ _33OAIq8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ _342X568aEdqf6aL57Hh6KQ _33N_8a8aEdqf6aL57Hh6KQ _33qE0K8aEdqf6aL57Hh6KQ _342X2q8aEdqf6aL57Hh6KQ _37ifQ68aEdqf6aL57Hh6KQ _342XsK8aEdqf6aL57Hh6KQ _34tNu68aEdqf6aL57Hh6KQ _34tN0a8aEdqf6aL57Hh6KQ _37YuR68aEdqf6aL57Hh6KQ _B3q9cGwNEdq7X4sGURiZYA _342Xr68aEdqf6aL57Hh6KQ _34aS168aEdqf6aL57Hh6KQ _326d_K8aEdqf6aL57Hh6KQ _33g7A68aEdqf6aL57Hh6KQ _342X_68aEdqf6aL57Hh6KQ _34tNxa8aEdqf6aL57Hh6KQ _34Qhwq8aEdqf6aL57Hh6KQ _37ifaK8aEdqf6aL57Hh6KQ _34jc2a8aEdqf6aL57Hh6KQ _37rpPq8aEdqf6aL57Hh6KQ _37ifTa8aEdqf6aL57Hh6KQ _34aS0q8aEdqf6aL57Hh6KQ _342XoK8aEdqf6aL57Hh6KQ _33g7Ca8aEdqf6aL57Hh6KQ _339m_q8aEdqf6aL57Hh6KQ _34jc9K8aEdqf6aL57Hh6KQ _33XKC68aEdqf6aL57Hh6KQ _342YAa8aEdqf6aL57Hh6KQ _36fWZK8aEdqf6aL57Hh6KQ _342Xva8aEdqf6aL57Hh6KQ _33g66a8aEdqf6aL57Hh6KQ _33EO_a8aEdqf6aL57Hh6KQ _33z10K8aEdqf6aL57Hh6KQ _34tNtq8aEdqf6aL57Hh6KQ _33qFFK8aEdqf6aL57Hh6KQ _33OARq8aEdqf6aL57Hh6KQ _V6vuYGwGEdq7X4sGURiZYA _33g69a8aEdqf6aL57Hh6KQ _33z2DK8aEdqf6aL57Hh6KQ _33g64K8aEdqf6aL57Hh6KQ _37ifZa8aEdqf6aL57Hh6KQ _339m5K8aEdqf6aL57Hh6KQ _33XJ4K8aEdqf6aL57Hh6KQ _AyM_oGwMEdq7X4sGURiZYA _37ifQK8aEdqf6aL57Hh6KQ _33qFUa8aEdqf6aL57Hh6KQ _35TDo68aEdqf6aL57Hh6KQ _36pHaK8aEdqf6aL57Hh6KQ _342Xyq8aEdqf6aL57Hh6KQ _33qE6K8aEdqf6aL57Hh6KQ _339m-K8aEdqf6aL57Hh6KQ _Jp_1oGveEdq4DLWZOhbdEA _33qE7a8aEdqf6aL57Hh6KQ _33OAHa8aEdqf6aL57Hh6KQ _33qFY68aEdqf6aL57Hh6KQ _33qE468aEdqf6aL57Hh6KQ _33XKR68aEdqf6aL57Hh6KQ _339nEq8aEdqf6aL57Hh6KQ _34Gw668aEdqf6aL57Hh6KQ _35TDqK8aEdqf6aL57Hh6KQ _37ifaq8aEdqf6aL57Hh6KQ _35TD168aEdqf6aL57Hh6KQ _35TDya8aEdqf6aL57Hh6KQ _37YuVa8aEdqf6aL57Hh6KQ _33qFRa8aEdqf6aL57Hh6KQ _35c0mK8aEdqf6aL57Hh6KQ _AwvxoGwNEdq7X4sGURiZYA _34Gw8a8aEdqf6aL57Hh6KQ _35TDzK8aEdqf6aL57Hh6KQ _34aTAa8aEdqf6aL57Hh6KQ _339nF68aEdqf6aL57Hh6KQ _342X468aEdqf6aL57Hh6KQ _36MbcK8aEdqf6aL57Hh6KQ _34aTDq8aEdqf6aL57Hh6KQ _339nHK8aEdqf6aL57Hh6KQ _342X-a8aEdqf6aL57Hh6KQ _34Qh568aEdqf6aL57Hh6KQ _34jc_a8aEdqf6aL57Hh6KQ _35mlqK8aEdqf6aL57Hh6KQ _342Xza8aEdqf6aL57Hh6KQ _33OAPK8aEdqf6aL57Hh6KQ _342X5q8aEdqf6aL57Hh6KQ _36Mbea8aEdqf6aL57Hh6KQ _33qFJK8aEdqf6aL57Hh6KQ _342X068aEdqf6aL57Hh6KQ _34aSxq8aEdqf6aL57Hh6KQ _37rpOq8aEdqf6aL57Hh6KQ _rHT3YKOsEdqi_5gqUMOQtA _37ifSa8aEdqf6aL57Hh6KQ _33OAQa8aEdqf6aL57Hh6KQ _355ggK8aEdqf6aL57Hh6KQ _35mlrq8aEdqf6aL57Hh6KQ _342X1a8aEdqf6aL57Hh6KQ _ChRfcGveEdq4DLWZOhbdEA _35TDv68aEdqf6aL57Hh6KQ _34aTMa8aEdqf6aL57Hh6KQ _35mlu68aEdqf6aL57Hh6KQ _37ifSq8aEdqf6aL57Hh6KQ _33g6-68aEdqf6aL57Hh6KQ _33z2H68aEdqf6aL57Hh6KQ _342X4q8aEdqf6aL57Hh6KQ _342X7a8aEdqf6aL57Hh6KQ _34aTN68aEdqf6aL57Hh6KQ _36y4h68aEdqf6aL57Hh6KQ _33OACq8aEdqf6aL57Hh6KQ _FFMNsGveEdq4DLWZOhbdEA _DH62EKPAEdqi_5gqUMOQtA _35TDxK8aEdqf6aL57Hh6KQ _35c0m68aEdqf6aL57Hh6KQ _36y4ea8aEdqf6aL57Hh6KQ _37ifU68aEdqf6aL57Hh6KQ _34tNvK8aEdqf6aL57Hh6KQ _342Xpq8aEdqf6aL57Hh6KQ _33XJ9a8aEdqf6aL57Hh6KQ _RPl78GwIEdq7X4sGURiZYA _33qFgq8aEdqf6aL57Hh6KQ _339nBq8aEdqf6aL57Hh6KQ _34Qh5K8aEdqf6aL57Hh6KQ _33qFZ68aEdqf6aL57Hh6KQ _34jczK8aEdqf6aL57Hh6KQ _Gjgl0GveEdq4DLWZOhbdEA _342Xw68aEdqf6aL57Hh6KQ _33z1168aEdqf6aL57Hh6KQ _326eAK8aEdqf6aL57Hh6KQ _37ifRa8aEdqf6aL57Hh6KQ _-cvRAGvzEdq7X4sGURiZYA _34aS668aEdqf6aL57Hh6KQ _34tNv68aEdqf6aL57Hh6KQ _35TD3q8aEdqf6aL57Hh6KQ _342X1K8aEdqf6aL57Hh6KQ _34tNuK8aEdqf6aL57Hh6KQ _37rpN68aEdqf6aL57Hh6KQ _33XKHa8aEdqf6aL57Hh6KQ _339nAq8aEdqf6aL57Hh6KQ _37ifSK8aEdqf6aL57Hh6KQ _339m368aEdqf6aL57Hh6KQ _33qFe68aEdqf6aL57Hh6KQ _37rpMq8aEdqf6aL57Hh6KQ _326d9q8aEdqf6aL57Hh6KQ _OQcbgGwOEdq7X4sGURiZYA _37YuTa8aEdqf6aL57Hh6KQ _342XrK8aEdqf6aL57Hh6KQ _342X-q8aEdqf6aL57Hh6KQ _34aS8q8aEdqf6aL57Hh6KQ _33OAOa8aEdqf6aL57Hh6KQ _342Xs68aEdqf6aL57Hh6KQ _37rpQa8aEdqf6aL57Hh6KQ _37ifXq8aEdqf6aL57Hh6KQ _34jcz68aEdqf6aL57Hh6KQ _37YuUK8aEdqf6aL57Hh6KQ _34tNyK8aEdqf6aL57Hh6KQ _36WMmq8aEdqf6aL57Hh6KQ _342Xzq8aEdqf6aL57Hh6KQ _34tNz68aEdqf6aL57Hh6KQ _33EPDa8aEdqf6aL57Hh6KQ _342Xoq8aEdqf6aL57Hh6KQ _342Xv68aEdqf6aL57Hh6KQ _342Xtq8aEdqf6aL57Hh6KQ _33g7Dq8aEdqf6aL57Hh6KQ _342Xwq8aEdqf6aL57Hh6KQ _33XJ8K8aEdqf6aL57Hh6KQ _35mltK8aEdqf6aL57Hh6KQ _34GwzK8aEdqf6aL57Hh6KQ _35TDsK8aEdqf6aL57Hh6KQ _36WMs68aEdqf6aL57Hh6KQ _342Xpa8aEdqf6aL57Hh6KQ _342Xy68aEdqf6aL57Hh6KQ _37YuX68aEdqf6aL57Hh6KQ _36WMp68aEdqf6aL57Hh6KQ _33qFIK8aEdqf6aL57Hh6KQ _M4X2IGveEdq4DLWZOhbdEA _33OAFq8aEdqf6aL57Hh6KQ _33OAEK8aEdqf6aL57Hh6KQ _33z2BK8aEdqf6aL57Hh6KQ _33EPHa8aEdqf6aL57Hh6KQ _36WMja8aEdqf6aL57Hh6KQ _342X0a8aEdqf6aL57Hh6KQ _33XKF68aEdqf6aL57Hh6KQ _SnNPIGwIEdq7X4sGURiZYA _33z2Ga8aEdqf6aL57Hh6KQ _37rpMK8aEdqf6aL57Hh6KQ _35TDm68aEdqf6aL57Hh6KQ _kl90MGvbEdq4DLWZOhbdEA _33EPFq8aEdqf6aL57Hh6KQ _35TDt68aEdqf6aL57Hh6KQ _342YBq8aEdqf6aL57Hh6KQ _34tNw68aEdqf6aL57Hh6KQ _342X0K8aEdqf6aL57Hh6KQ _33z2Ka8aEdqf6aL57Hh6KQ _33XKM68aEdqf6aL57Hh6KQ _33qFTq8aEdqf6aL57Hh6KQ _36WMo68aEdqf6aL57Hh6KQ _33XKIq8aEdqf6aL57Hh6KQ _33qE-K8aEdqf6aL57Hh6KQ _339m8q8aEdqf6aL57Hh6KQ _33z2L68aEdqf6aL57Hh6KQ _33qFEa8aEdqf6aL57Hh6KQ _36fWYK8aEdqf6aL57Hh6KQ _ynRtoGvtEdqG6fBIPwe-mw _342X268aEdqf6aL57Hh6KQ _34tNzK8aEdqf6aL57Hh6KQ _342Xya8aEdqf6aL57Hh6KQ _342Xqq8aEdqf6aL57Hh6KQ _326d8K8aEdqf6aL57Hh6KQ _33z16q8aEdqf6aL57Hh6KQ _37rpPK8aEdqf6aL57Hh6KQ _342Xwa8aEdqf6aL57Hh6KQ _34Gw4q8aEdqf6aL57Hh6KQ _33g7Ea8aEdqf6aL57Hh6KQ _339nDK8aEdqf6aL57Hh6KQ _342X6K8aEdqf6aL57Hh6KQ _Dy77oGveEdq4DLWZOhbdEA _339nIa8aEdqf6aL57Hh6KQ _00owUGvdEdq4DLWZOhbdEA __1ap4HLzEdqziYxiZo0YtA _342X3K8aEdqf6aL57Hh6KQ _33N_968aEdqf6aL57Hh6KQ _Q-yR4GveEdq4DLWZOhbdEA _ZiwkoGwLEdq7X4sGURiZYA _34aS3q8aEdqf6aL57Hh6KQ _33g6768aEdqf6aL57Hh6KQ _37ifTK8aEdqf6aL57Hh6KQ _342XzK8aEdqf6aL57Hh6KQ _34aS-68aEdqf6aL57Hh6KQ _35c0k68aEdqf6aL57Hh6KQ _34aTJa8aEdqf6aL57Hh6KQ _KyaPMGveEdq4DLWZOhbdEA _34jcsK8aEdqf6aL57Hh6KQ _37rpO68aEdqf6aL57Hh6KQ _36WMeK8aEdqf6aL57Hh6KQ _34jc5K8aEdqf6aL57Hh6KQ _33qFa68aEdqf6aL57Hh6KQ _35TDvK8aEdqf6aL57Hh6KQ _35TD0q8aEdqf6aL57Hh6KQ _34tNwq8aEdqf6aL57Hh6KQ _34aTCK8aEdqf6aL57Hh6KQ _34GwwK8aEdqf6aL57Hh6KQ _36y4aa8aEdqf6aL57Hh6KQ _33qFXa8aEdqf6aL57Hh6KQ _34QiAq8aEdqf6aL57Hh6KQ _34Qh8a8aEdqf6aL57Hh6KQ _342X3q8aEdqf6aL57Hh6KQ _JBgfoKPAEdqi_5gqUMOQtA _33qFC68aEdqf6aL57Hh6KQ _34jcw68aEdqf6aL57Hh6KQ _33XJ6K8aEdqf6aL57Hh6KQ _34Qhy68aEdqf6aL57Hh6KQ _C7AF4GwREdq14q0ETb1t3g _37ifY68aEdqf6aL57Hh6KQ _33EO9q8aEdqf6aL57Hh6KQ _34jc9q8aEdqf6aL57Hh6KQ _34jc1a8aEdqf6aL57Hh6KQ _342Xu68aEdqf6aL57Hh6KQ _342X8q8aEdqf6aL57Hh6KQ _33qE1K8aEdqf6aL57Hh6KQ _342X1q8aEdqf6aL57Hh6KQ _37rpQ68aEdqf6aL57Hh6KQ _34tNwK8aEdqf6aL57Hh6KQ _339m668aEdqf6aL57Hh6KQ _34aS7q8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCIq8aEdqf6aL57Hh6KQ" source="UML::Activities::StructuredActivities" references="_38IVk68aEdqf6aL57Hh6KQ _38IVYK8aEdqf6aL57Hh6KQ _38SGVq8aEdqf6aL57Hh6KQ _38SGna8aEdqf6aL57Hh6KQ _38SGnq8aEdqf6aL57Hh6KQ _38SGf68aEdqf6aL57Hh6KQ _38bQG68aEdqf6aL57Hh6KQ _38IVIa8aEdqf6aL57Hh6KQ _38SGga8aEdqf6aL57Hh6KQ _38SGZK8aEdqf6aL57Hh6KQ _38IVSq8aEdqf6aL57Hh6KQ _38SGUK8aEdqf6aL57Hh6KQ _38IVXK8aEdqf6aL57Hh6KQ _38SGTK8aEdqf6aL57Hh6KQ _38SGMq8aEdqf6aL57Hh6KQ _38SGLq8aEdqf6aL57Hh6KQ _38IViq8aEdqf6aL57Hh6KQ _38SGIK8aEdqf6aL57Hh6KQ _38IVTa8aEdqf6aL57Hh6KQ _38IVW68aEdqf6aL57Hh6KQ _38IVJ68aEdqf6aL57Hh6KQ _38SGbq8aEdqf6aL57Hh6KQ _37_LkK8aEdqf6aL57Hh6KQ _38IVc68aEdqf6aL57Hh6KQ _38IVMK8aEdqf6aL57Hh6KQ _38IVkK8aEdqf6aL57Hh6KQ _38SGmq8aEdqf6aL57Hh6KQ _38IVWa8aEdqf6aL57Hh6KQ _38bQEa8aEdqf6aL57Hh6KQ _38SGg68aEdqf6aL57Hh6KQ _38SGjK8aEdqf6aL57Hh6KQ _38SGKq8aEdqf6aL57Hh6KQ _38IVLa8aEdqf6aL57Hh6KQ _38SGhK8aEdqf6aL57Hh6KQ _38SGRK8aEdqf6aL57Hh6KQ _38bQEK8aEdqf6aL57Hh6KQ _38SGiK8aEdqf6aL57Hh6KQ _38SGka8aEdqf6aL57Hh6KQ _38bQGa8aEdqf6aL57Hh6KQ _38SGlq8aEdqf6aL57Hh6KQ _38IVba8aEdqf6aL57Hh6KQ _38IVlq8aEdqf6aL57Hh6KQ _38IVfq8aEdqf6aL57Hh6KQ _38IVea8aEdqf6aL57Hh6KQ _38SGkK8aEdqf6aL57Hh6KQ _38SGNq8aEdqf6aL57Hh6KQ _38SGdK8aEdqf6aL57Hh6KQ _37_L168aEdqf6aL57Hh6KQ _38SGJq8aEdqf6aL57Hh6KQ _38IVma8aEdqf6aL57Hh6KQ _38SGh68aEdqf6aL57Hh6KQ _38SGja8aEdqf6aL57Hh6KQ _38SGI68aEdqf6aL57Hh6KQ _38SGlK8aEdqf6aL57Hh6KQ _38IVZ68aEdqf6aL57Hh6KQ _38SGca8aEdqf6aL57Hh6KQ _38IVNq8aEdqf6aL57Hh6KQ _38IVU68aEdqf6aL57Hh6KQ _38bQF68aEdqf6aL57Hh6KQ _38SGQK8aEdqf6aL57Hh6KQ _38SGma8aEdqf6aL57Hh6KQ _38bQFK8aEdqf6aL57Hh6KQ _38SGi68aEdqf6aL57Hh6KQ _38SGPK8aEdqf6aL57Hh6KQ _38IVhK8aEdqf6aL57Hh6KQ _38SGSK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCI68aEdqf6aL57Hh6KQ" source="UML::Interactions::BasicInteractions" references="_39Uofa8aEdqf6aL57Hh6KQ _39UoKq8aEdqf6aL57Hh6KQ _39UoAK8aEdqf6aL57Hh6KQ _39UoEK8aEdqf6aL57Hh6KQ _39LeCq8aEdqf6aL57Hh6KQ _39LeYq8aEdqf6aL57Hh6KQ _39LeWK8aEdqf6aL57Hh6KQ _39eZC68aEdqf6aL57Hh6KQ _39eY8a8aEdqf6aL57Hh6KQ _39UoYK8aEdqf6aL57Hh6KQ _39LeEK8aEdqf6aL57Hh6KQ _39Btka8aEdqf6aL57Hh6KQ _39BtUq8aEdqf6aL57Hh6KQ _39LeT68aEdqf6aL57Hh6KQ _39Uoia8aEdqf6aL57Hh6KQ _39UoY68aEdqf6aL57Hh6KQ _39UoGK8aEdqf6aL57Hh6KQ _39UoFK8aEdqf6aL57Hh6KQ _39UoCa8aEdqf6aL57Hh6KQ _39eY-q8aEdqf6aL57Hh6KQ _39Uogq8aEdqf6aL57Hh6KQ _39eY-68aEdqf6aL57Hh6KQ _39UoUa8aEdqf6aL57Hh6KQ _39BtWK8aEdqf6aL57Hh6KQ _39LeQK8aEdqf6aL57Hh6KQ _39eY968aEdqf6aL57Hh6KQ _39eZAq8aEdqf6aL57Hh6KQ _39Uoi68aEdqf6aL57Hh6KQ _39Uoca8aEdqf6aL57Hh6KQ _39Uof68aEdqf6aL57Hh6KQ _39BtdK8aEdqf6aL57Hh6KQ _39UoaK8aEdqf6aL57Hh6KQ _39LeOK8aEdqf6aL57Hh6KQ _39eY_q8aEdqf6aL57Hh6KQ _Y_jskGvtEdqG6fBIPwe-mw _39Bttq8aEdqf6aL57Hh6KQ _39UoTK8aEdqf6aL57Hh6KQ _39UoVq8aEdqf6aL57Hh6KQ _39UoWa8aEdqf6aL57Hh6KQ _39BtXq8aEdqf6aL57Hh6KQ _39LeXK8aEdqf6aL57Hh6KQ _39eY868aEdqf6aL57Hh6KQ _39Uod68aEdqf6aL57Hh6KQ _39Uoiq8aEdqf6aL57Hh6KQ _39eZFK8aEdqf6aL57Hh6KQ _39Uoc68aEdqf6aL57Hh6KQ _39UoBq8aEdqf6aL57Hh6KQ _39Bti68aEdqf6aL57Hh6KQ _39LeFq8aEdqf6aL57Hh6KQ _39eY8K8aEdqf6aL57Hh6KQ _39eZEK8aEdqf6aL57Hh6KQ _39Uoaq8aEdqf6aL57Hh6KQ _39UoT68aEdqf6aL57Hh6KQ _39Un8K8aEdqf6aL57Hh6KQ _39Bts68aEdqf6aL57Hh6KQ _39LeLa8aEdqf6aL57Hh6KQ _gfgNwGveEdq4DLWZOhbdEA _39UoSq8aEdqf6aL57Hh6KQ _39eZFa8aEdqf6aL57Hh6KQ _39UoJq8aEdqf6aL57Hh6KQ _39eY9q8aEdqf6aL57Hh6KQ _39UodK8aEdqf6aL57Hh6KQ _39UoXK8aEdqf6aL57Hh6KQ _39Uoeq8aEdqf6aL57Hh6KQ _39LeMa8aEdqf6aL57Hh6KQ _39BtSK8aEdqf6aL57Hh6KQ _39BtZK8aEdqf6aL57Hh6KQ _39UoG68aEdqf6aL57Hh6KQ _39LeAq8aEdqf6aL57Hh6KQ _39UoSK8aEdqf6aL57Hh6KQ _39eZEa8aEdqf6aL57Hh6KQ _39UoW68aEdqf6aL57Hh6KQ _39UohK8aEdqf6aL57Hh6KQ _39LeUq8aEdqf6aL57Hh6KQ _39UoDa8aEdqf6aL57Hh6KQ _39Un-q8aEdqf6aL57Hh6KQ _39eZDa8aEdqf6aL57Hh6KQ _39LeBq8aEdqf6aL57Hh6KQ _39UofK8aEdqf6aL57Hh6KQ _39Un968aEdqf6aL57Hh6KQ _39LeRK8aEdqf6aL57Hh6KQ _39UoX68aEdqf6aL57Hh6KQ _39UoLa8aEdqf6aL57Hh6KQ _39LeH68aEdqf6aL57Hh6KQ _39LeS68aEdqf6aL57Hh6KQ _39BtTK8aEdqf6aL57Hh6KQ _39eZB68aEdqf6aL57Hh6KQ _39Btrq8aEdqf6aL57Hh6KQ _39UoH68aEdqf6aL57Hh6KQ _39eZBK8aEdqf6aL57Hh6KQ _39LeNa8aEdqf6aL57Hh6KQ _39Un868aEdqf6aL57Hh6KQ _39LeI68aEdqf6aL57Hh6KQ _39UoVK8aEdqf6aL57Hh6KQ _39UoOq8aEdqf6aL57Hh6KQ _39Uobq8aEdqf6aL57Hh6KQ _39BteK8aEdqf6aL57Hh6KQ _39Uoda8aEdqf6aL57Hh6KQ _39LeJ68aEdqf6aL57Hh6KQ _39UojK8aEdqf6aL57Hh6KQ _39LeHK8aEdqf6aL57Hh6KQ _39Uoba8aEdqf6aL57Hh6KQ _39BtcK8aEdqf6aL57Hh6KQ _39Btfq8aEdqf6aL57Hh6KQ _39LeSK8aEdqf6aL57Hh6KQ _39Bth68aEdqf6aL57Hh6KQ _39Uoh68aEdqf6aL57Hh6KQ _39eY_68aEdqf6aL57Hh6KQ _39UoI68aEdqf6aL57Hh6KQ _39BthK8aEdqf6aL57Hh6KQ _39eZCK8aEdqf6aL57Hh6KQ _39LePK8aEdqf6aL57Hh6KQ _39UoZa8aEdqf6aL57Hh6KQ _39eY8q8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCJK8aEdqf6aL57Hh6KQ" source="UML::Activities::BasicActivities" references="_39BtPa8aEdqf6aL57Hh6KQ _3838Sq8aEdqf6aL57Hh6KQ _3838aq8aEdqf6aL57Hh6KQ _3838bq8aEdqf6aL57Hh6KQ _39BtN68aEdqf6aL57Hh6KQ _39BtOa8aEdqf6aL57Hh6KQ _38IVSq8aEdqf6aL57Hh6KQ _39BtAK8aEdqf6aL57Hh6KQ _3838VK8aEdqf6aL57Hh6KQ _39BtEq8aEdqf6aL57Hh6KQ _39BtMa8aEdqf6aL57Hh6KQ _39BtPK8aEdqf6aL57Hh6KQ _3838dK8aEdqf6aL57Hh6KQ _39BtPq8aEdqf6aL57Hh6KQ _3838iq8aEdqf6aL57Hh6KQ _371a1K8aEdqf6aL57Hh6KQ _3838Zq8aEdqf6aL57Hh6KQ _39BtQ68aEdqf6aL57Hh6KQ _38IVLa8aEdqf6aL57Hh6KQ _39BtHq8aEdqf6aL57Hh6KQ _3838V68aEdqf6aL57Hh6KQ _39BtIq8aEdqf6aL57Hh6KQ _3838n68aEdqf6aL57Hh6KQ _39BtOq8aEdqf6aL57Hh6KQ _3838eK8aEdqf6aL57Hh6KQ _39BtLq8aEdqf6aL57Hh6KQ _39BtO68aEdqf6aL57Hh6KQ _37_L168aEdqf6aL57Hh6KQ _39BtRa8aEdqf6aL57Hh6KQ _39BtGq8aEdqf6aL57Hh6KQ _3838YK8aEdqf6aL57Hh6KQ _39BtQK8aEdqf6aL57Hh6KQ _3838fq8aEdqf6aL57Hh6KQ _3838k68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCJa8aEdqf6aL57Hh6KQ" source="UML::Components::BasicComponents" references="_3-EO968aEdqf6aL57Hh6KQ _3-EPRq8aEdqf6aL57Hh6KQ _3-EO_a8aEdqf6aL57Hh6KQ _3-EPUa8aEdqf6aL57Hh6KQ _3-EPQK8aEdqf6aL57Hh6KQ _3-EPE68aEdqf6aL57Hh6KQ _3-EPVK8aEdqf6aL57Hh6KQ _3-EO7q8aEdqf6aL57Hh6KQ _3-EPW68aEdqf6aL57Hh6KQ _3-EPLK8aEdqf6aL57Hh6KQ _3-EPWq8aEdqf6aL57Hh6KQ _3-EPJq8aEdqf6aL57Hh6KQ _DAbfwa69EdqjppZik4kD8A _3-EPC68aEdqf6aL57Hh6KQ _3-EPSq8aEdqf6aL57Hh6KQ _3-EPWa8aEdqf6aL57Hh6KQ _3-EO8a8aEdqf6aL57Hh6KQ _3-EPA68aEdqf6aL57Hh6KQ _3-EPV68aEdqf6aL57Hh6KQ _3-EPU68aEdqf6aL57Hh6KQ _3-EPG68aEdqf6aL57Hh6KQ _3-EPUq8aEdqf6aL57Hh6KQ _38uyHq8aEdqf6aL57Hh6KQ _3-EPI68aEdqf6aL57Hh6KQ _3-EPUK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCJq8aEdqf6aL57Hh6KQ" source="UML::AuxiliaryConstructs::Templates" references="_4DI8La8aEdqf6aL57Hh6KQ _jKxnwGwLEdq7X4sGURiZYA _4DI8EK8aEdqf6aL57Hh6KQ _4DI8M68aEdqf6aL57Hh6KQ _38uyV68aEdqf6aL57Hh6KQ _4DI8Fa8aEdqf6aL57Hh6KQ _9keOQGvdEdq4DLWZOhbdEA _4C1aPa8aEdqf6aL57Hh6KQ _4DI8IK8aEdqf6aL57Hh6KQ _4C1ap68aEdqf6aL57Hh6KQ _4DI8Ma8aEdqf6aL57Hh6KQ _4C_Lf68aEdqf6aL57Hh6KQ _4DI8O68aEdqf6aL57Hh6KQ _4C_LNq8aEdqf6aL57Hh6KQ _csVgUGvtEdqG6fBIPwe-mw _4DI8Gq8aEdqf6aL57Hh6KQ _4C1ahK8aEdqf6aL57Hh6KQ _6UV2QGwJEdq7X4sGURiZYA _4DI8J68aEdqf6aL57Hh6KQ _4C_Lg68aEdqf6aL57Hh6KQ _4DI8OK8aEdqf6aL57Hh6KQ _4C_LT68aEdqf6aL57Hh6KQ _4C1aRK8aEdqf6aL57Hh6KQ _4DI8F68aEdqf6aL57Hh6KQ _4DI8Qq8aEdqf6aL57Hh6KQ _4C_LI68aEdqf6aL57Hh6KQ _4C_LXq8aEdqf6aL57Hh6KQ _33qE0K8aEdqf6aL57Hh6KQ _4DI8Nq8aEdqf6aL57Hh6KQ _4C_LZK8aEdqf6aL57Hh6KQ _4C_LF68aEdqf6aL57Hh6KQ _4C_LRq8aEdqf6aL57Hh6KQ _4C_LqK8aEdqf6aL57Hh6KQ _4DI8Pa8aEdqf6aL57Hh6KQ _4C_LHa8aEdqf6aL57Hh6KQ _4C_La68aEdqf6aL57Hh6KQ _4DI8Rq8aEdqf6aL57Hh6KQ _4C1ao68aEdqf6aL57Hh6KQ _4C_Loq8aEdqf6aL57Hh6KQ _4DI8HK8aEdqf6aL57Hh6KQ _4C_Lea8aEdqf6aL57Hh6KQ _4C_LWa8aEdqf6aL57Hh6KQ _4C1ara8aEdqf6aL57Hh6KQ _4C_LE68aEdqf6aL57Hh6KQ _4C_Lmq8aEdqf6aL57Hh6KQ _4DI8GK8aEdqf6aL57Hh6KQ _Jp_1oGveEdq4DLWZOhbdEA _4DI8JK8aEdqf6aL57Hh6KQ _4C1aN68aEdqf6aL57Hh6KQ _4C_Lpa8aEdqf6aL57Hh6KQ _4C1ana8aEdqf6aL57Hh6KQ _4C1ac68aEdqf6aL57Hh6KQ _KxRzgGvuEdqG6fBIPwe-mw _4C1aT68aEdqf6aL57Hh6KQ _4DI8Fq8aEdqf6aL57Hh6KQ _4C1asa8aEdqf6aL57Hh6KQ _4DI8Eq8aEdqf6aL57Hh6KQ _4C1axq8aEdqf6aL57Hh6KQ _4C1aaa8aEdqf6aL57Hh6KQ _4C_LVa8aEdqf6aL57Hh6KQ _4DI8QK8aEdqf6aL57Hh6KQ _4C1ak68aEdqf6aL57Hh6KQ _4C1aWa8aEdqf6aL57Hh6KQ _4DI8Kq8aEdqf6aL57Hh6KQ _4C_Lia8aEdqf6aL57Hh6KQ _-cvRAGvzEdq7X4sGURiZYA _4C1aVa8aEdqf6aL57Hh6KQ _4DI8Oa8aEdqf6aL57Hh6KQ _4C1aja8aEdqf6aL57Hh6KQ _4C1aLa8aEdqf6aL57Hh6KQ _4C1at68aEdqf6aL57Hh6KQ _4C1aea8aEdqf6aL57Hh6KQ _4C1al68aEdqf6aL57Hh6KQ _4C1auq8aEdqf6aL57Hh6KQ _4C_Lk68aEdqf6aL57Hh6KQ _4C1aM68aEdqf6aL57Hh6KQ _4C_LQ68aEdqf6aL57Hh6KQ _4C1awK8aEdqf6aL57Hh6KQ _4DI8E68aEdqf6aL57Hh6KQ _4C_Lb68aEdqf6aL57Hh6KQ _M4X2IGveEdq4DLWZOhbdEA _4DI8H68aEdqf6aL57Hh6KQ _4C_LLq8aEdqf6aL57Hh6KQ _4DI8Ia8aEdqf6aL57Hh6KQ _4C1aza8aEdqf6aL57Hh6KQ _4DI8R68aEdqf6aL57Hh6KQ _4C_Lqa8aEdqf6aL57Hh6KQ _4C_LZ68aEdqf6aL57Hh6KQ _4C_Ll68aEdqf6aL57Hh6KQ _4C1aX68aEdqf6aL57Hh6KQ _4C_LEK8aEdqf6aL57Hh6KQ _4C_LoK8aEdqf6aL57Hh6KQ _4C1af68aEdqf6aL57Hh6KQ _4C_LP68aEdqf6aL57Hh6KQ _4DI8Ra8aEdqf6aL57Hh6KQ _4C1aY68aEdqf6aL57Hh6KQ _4C_Loa8aEdqf6aL57Hh6KQ _4DI8RK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCJ68aEdqf6aL57Hh6KQ" source="UML::Actions::CompleteActions" references="_4CFzQ68aEdqf6aL57Hh6KQ _4Amlr68aEdqf6aL57Hh6KQ _4CFzMq8aEdqf6aL57Hh6KQ _4B8pnK8aEdqf6aL57Hh6KQ _4B8ptK8aEdqf6aL57Hh6KQ _4AmlnK8aEdqf6aL57Hh6KQ _4B8pl68aEdqf6aL57Hh6KQ _4CFzaK8aEdqf6aL57Hh6KQ _4B8pmq8aEdqf6aL57Hh6KQ _4CFzUq8aEdqf6aL57Hh6KQ _4Amlg68aEdqf6aL57Hh6KQ _4Aml2a8aEdqf6aL57Hh6KQ _4B8pda8aEdqf6aL57Hh6KQ _4CFzS68aEdqf6aL57Hh6KQ _4AwWgq8aEdqf6aL57Hh6KQ _4B8pea8aEdqf6aL57Hh6KQ _4B8pTa8aEdqf6aL57Hh6KQ _4Amlja8aEdqf6aL57Hh6KQ _4AwWhq8aEdqf6aL57Hh6KQ _4AmmPq8aEdqf6aL57Hh6KQ _4B8pq68aEdqf6aL57Hh6KQ _4CFzRK8aEdqf6aL57Hh6KQ _4Amlo68aEdqf6aL57Hh6KQ _4Amlvq8aEdqf6aL57Hh6KQ _4B8poK8aEdqf6aL57Hh6KQ _4AmmIq8aEdqf6aL57Hh6KQ _4B8pt68aEdqf6aL57Hh6KQ _4AwWmK8aEdqf6aL57Hh6KQ _4B8pQK8aEdqf6aL57Hh6KQ _4B8pyK8aEdqf6aL57Hh6KQ _4CFzO68aEdqf6aL57Hh6KQ _4AwWjK8aEdqf6aL57Hh6KQ _4B8pn68aEdqf6aL57Hh6KQ _4B8pzq8aEdqf6aL57Hh6KQ _4AmmMq8aEdqf6aL57Hh6KQ _4B8pWa8aEdqf6aL57Hh6KQ _4Ac07a8aEdqf6aL57Hh6KQ _4B8pvK8aEdqf6aL57Hh6KQ _4CFzMK8aEdqf6aL57Hh6KQ _4AwWf68aEdqf6aL57Hh6KQ _4B8pwK8aEdqf6aL57Hh6KQ _4CFzQK8aEdqf6aL57Hh6KQ _4CFzSK8aEdqf6aL57Hh6KQ _4B8psq8aEdqf6aL57Hh6KQ _4CFzRq8aEdqf6aL57Hh6KQ _4B8pSa8aEdqf6aL57Hh6KQ _4Amlqa8aEdqf6aL57Hh6KQ _4AmlcK8aEdqf6aL57Hh6KQ _4Amln68aEdqf6aL57Hh6KQ _4Amlyq8aEdqf6aL57Hh6KQ _4Amlh68aEdqf6aL57Hh6KQ _4B8pi68aEdqf6aL57Hh6KQ _4CFza68aEdqf6aL57Hh6KQ _4CFzV68aEdqf6aL57Hh6KQ _4CFzXK8aEdqf6aL57Hh6KQ _4B8pk68aEdqf6aL57Hh6KQ _4CFzNq8aEdqf6aL57Hh6KQ _4B8pj68aEdqf6aL57Hh6KQ _4B8pxa8aEdqf6aL57Hh6KQ _4B8pwa8aEdqf6aL57Hh6KQ _4CFzOa8aEdqf6aL57Hh6KQ _4CFzTq8aEdqf6aL57Hh6KQ _4CFzNa8aEdqf6aL57Hh6KQ _4CFzbK8aEdqf6aL57Hh6KQ _4CFzYa8aEdqf6aL57Hh6KQ _4CFzaq8aEdqf6aL57Hh6KQ _4B8pva8aEdqf6aL57Hh6KQ _4B8pp68aEdqf6aL57Hh6KQ _4B8p068aEdqf6aL57Hh6KQ _4CFzZa8aEdqf6aL57Hh6KQ _3-qsTa8aEdqf6aL57Hh6KQ _4Aml968aEdqf6aL57Hh6KQ _4Amlf68aEdqf6aL57Hh6KQ _4AmmB68aEdqf6aL57Hh6KQ _4AwWcK8aEdqf6aL57Hh6KQ _4Amlzq8aEdqf6aL57Hh6KQ _4B8pxK8aEdqf6aL57Hh6KQ _4B8ppK8aEdqf6aL57Hh6KQ _4CFzZ68aEdqf6aL57Hh6KQ _4CFzPq8aEdqf6aL57Hh6KQ _4B8po68aEdqf6aL57Hh6KQ _4B8p2K8aEdqf6aL57Hh6KQ _4B8pza8aEdqf6aL57Hh6KQ _4Aml368aEdqf6aL57Hh6KQ _4B8pua8aEdqf6aL57Hh6KQ _4CFzXq8aEdqf6aL57Hh6KQ _4B8pU68aEdqf6aL57Hh6KQ _4CFzT68aEdqf6aL57Hh6KQ _4CFzYq8aEdqf6aL57Hh6KQ _4CFzVK8aEdqf6aL57Hh6KQ _4Aml_a8aEdqf6aL57Hh6KQ _4CFzWa8aEdqf6aL57Hh6KQ _4AmmAa8aEdqf6aL57Hh6KQ _4Ac05K8aEdqf6aL57Hh6KQ _4B8pyq8aEdqf6aL57Hh6KQ _4B8pf68aEdqf6aL57Hh6KQ _4B8pca8aEdqf6aL57Hh6KQ _4AmmLq8aEdqf6aL57Hh6KQ _4AmlfK8aEdqf6aL57Hh6KQ _4CFzR68aEdqf6aL57Hh6KQ _4CFzSa8aEdqf6aL57Hh6KQ _4Ac0868aEdqf6aL57Hh6KQ _4AmluK8aEdqf6aL57Hh6KQ _4B8p0a8aEdqf6aL57Hh6KQ _4B8pr68aEdqf6aL57Hh6KQ _4B8p1q8aEdqf6aL57Hh6KQ _4CFzQa8aEdqf6aL57Hh6KQ _4B8pqK8aEdqf6aL57Hh6KQ _4B8pra8aEdqf6aL57Hh6KQ _4B8prK8aEdqf6aL57Hh6KQ _4AmmKK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCKK8aEdqf6aL57Hh6KQ" source="UML::Actions::BasicActions" references="_37_LTq8aEdqf6aL57Hh6KQ _37_Lqq8aEdqf6aL57Hh6KQ _371a3q8aEdqf6aL57Hh6KQ _37_LtK8aEdqf6aL57Hh6KQ _37_LuK8aEdqf6aL57Hh6KQ _37_Lpa8aEdqf6aL57Hh6KQ _37_LyK8aEdqf6aL57Hh6KQ _37_Lw68aEdqf6aL57Hh6KQ _37_L0K8aEdqf6aL57Hh6KQ _371azK8aEdqf6aL57Hh6KQ _37_L1q8aEdqf6aL57Hh6KQ _371a2K8aEdqf6aL57Hh6KQ _371ava8aEdqf6aL57Hh6KQ _37_Lpq8aEdqf6aL57Hh6KQ _37_LkK8aEdqf6aL57Hh6KQ _37_L0a8aEdqf6aL57Hh6KQ _37_LjK8aEdqf6aL57Hh6KQ _37_Lu68aEdqf6aL57Hh6KQ _37_LNq8aEdqf6aL57Hh6KQ _37_LS68aEdqf6aL57Hh6KQ _371a1K8aEdqf6aL57Hh6KQ _37_LzK8aEdqf6aL57Hh6KQ _37_Lz68aEdqf6aL57Hh6KQ _37_Lma8aEdqf6aL57Hh6KQ _371awK8aEdqf6aL57Hh6KQ _37_Ln68aEdqf6aL57Hh6KQ _37_Lxq8aEdqf6aL57Hh6KQ _37_LgK8aEdqf6aL57Hh6KQ _37_Ldq8aEdqf6aL57Hh6KQ _37_LVK8aEdqf6aL57Hh6KQ _37_Lqa8aEdqf6aL57Hh6KQ _37_LwK8aEdqf6aL57Hh6KQ _37_LXa8aEdqf6aL57Hh6KQ _37_Lva8aEdqf6aL57Hh6KQ _37_Ly68aEdqf6aL57Hh6KQ _371a0K8aEdqf6aL57Hh6KQ _37_Lsq8aEdqf6aL57Hh6KQ _37_LM68aEdqf6aL57Hh6KQ _37_LMK8aEdqf6aL57Hh6KQ _37_Lk68aEdqf6aL57Hh6KQ _37_L1K8aEdqf6aL57Hh6KQ _37_Lra8aEdqf6aL57Hh6KQ _37_Leq8aEdqf6aL57Hh6KQ _37_LZ68aEdqf6aL57Hh6KQ _37_LOa8aEdqf6aL57Hh6KQ _37_LY68aEdqf6aL57Hh6KQ _37_Lwa8aEdqf6aL57Hh6KQ _371axq8aEdqf6aL57Hh6KQ _37_Lt68aEdqf6aL57Hh6KQ _37_Lr68aEdqf6aL57Hh6KQ _37_L068aEdqf6aL57Hh6KQ _37_Lvq8aEdqf6aL57Hh6KQ _37_LP68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCKa8aEdqf6aL57Hh6KQ" source="UML::Actions::IntermediateActions" references="_3-z1sK8aEdqf6aL57Hh6KQ _3-g7XK8aEdqf6aL57Hh6KQ _3-9msK8aEdqf6aL57Hh6KQ _3-z2Bq8aEdqf6aL57Hh6KQ _3-qsD68aEdqf6aL57Hh6KQ _3-9mt68aEdqf6aL57Hh6KQ _3-9m6a8aEdqf6aL57Hh6KQ _3-9nCK8aEdqf6aL57Hh6KQ _3-9m5K8aEdqf6aL57Hh6KQ _3-qsQq8aEdqf6aL57Hh6KQ _3-z2Uq8aEdqf6aL57Hh6KQ _3-g7Vq8aEdqf6aL57Hh6KQ _3-9mxa8aEdqf6aL57Hh6KQ _3-9m1q8aEdqf6aL57Hh6KQ _3-z2SK8aEdqf6aL57Hh6KQ _3-g7OK8aEdqf6aL57Hh6KQ _3_HXsK8aEdqf6aL57Hh6KQ _3-z2O68aEdqf6aL57Hh6KQ _3-qsG68aEdqf6aL57Hh6KQ _3-9m-68aEdqf6aL57Hh6KQ _3-qr-q8aEdqf6aL57Hh6KQ _3-z2Mq8aEdqf6aL57Hh6KQ _3-z17a8aEdqf6aL57Hh6KQ _3-qsCa8aEdqf6aL57Hh6KQ _3-9m9a8aEdqf6aL57Hh6KQ _3-9m468aEdqf6aL57Hh6KQ _3-9m7q8aEdqf6aL57Hh6KQ _3-9nBK8aEdqf6aL57Hh6KQ _3-9m168aEdqf6aL57Hh6KQ _3-qsIa8aEdqf6aL57Hh6KQ _3-qsAK8aEdqf6aL57Hh6KQ _3-z10a8aEdqf6aL57Hh6KQ _3-9m4K8aEdqf6aL57Hh6KQ _3-z1868aEdqf6aL57Hh6KQ _3-g7O68aEdqf6aL57Hh6KQ _3-9m_K8aEdqf6aL57Hh6KQ _3-9m3q8aEdqf6aL57Hh6KQ _3-z1yK8aEdqf6aL57Hh6KQ _3-qsSK8aEdqf6aL57Hh6KQ _3-g7Ja8aEdqf6aL57Hh6KQ _3-9mw68aEdqf6aL57Hh6KQ _3-9mwK8aEdqf6aL57Hh6KQ _3-z2V68aEdqf6aL57Hh6KQ _3_HXt68aEdqf6aL57Hh6KQ _3-g7L68aEdqf6aL57Hh6KQ _3-9mvq8aEdqf6aL57Hh6KQ _3-qsPK8aEdqf6aL57Hh6KQ _3-qrwK8aEdqf6aL57Hh6KQ _3-z2XK8aEdqf6aL57Hh6KQ _3-9m_68aEdqf6aL57Hh6KQ _3-9mz68aEdqf6aL57Hh6KQ _3-9m-q8aEdqf6aL57Hh6KQ _3-9m-K8aEdqf6aL57Hh6KQ _3-z13q8aEdqf6aL57Hh6KQ _3-g7RK8aEdqf6aL57Hh6KQ _3-qrz68aEdqf6aL57Hh6KQ _3-qsJ68aEdqf6aL57Hh6KQ _3-qsEq8aEdqf6aL57Hh6KQ _3-z2Iq8aEdqf6aL57Hh6KQ _3-9nAa8aEdqf6aL57Hh6KQ _3-z2UK8aEdqf6aL57Hh6KQ _3-qr8a8aEdqf6aL57Hh6KQ _3-z2HK8aEdqf6aL57Hh6KQ _3-9nBa8aEdqf6aL57Hh6KQ _3-qsXa8aEdqf6aL57Hh6KQ _3-9mu68aEdqf6aL57Hh6KQ _3-9m2q8aEdqf6aL57Hh6KQ _3-z2Lq8aEdqf6aL57Hh6KQ _3-9mza8aEdqf6aL57Hh6KQ _3-9m8q8aEdqf6aL57Hh6KQ _3-z2Qa8aEdqf6aL57Hh6KQ _3-z2Va8aEdqf6aL57Hh6KQ _3-g7Ka8aEdqf6aL57Hh6KQ _3-z2S68aEdqf6aL57Hh6KQ _3_HXta8aEdqf6aL57Hh6KQ _3-z11K8aEdqf6aL57Hh6KQ _3-9m968aEdqf6aL57Hh6KQ _3-z2Fq8aEdqf6aL57Hh6KQ _3-z2R68aEdqf6aL57Hh6KQ _3-z1wq8aEdqf6aL57Hh6KQ _3-9m0q8aEdqf6aL57Hh6KQ _3-qsTa8aEdqf6aL57Hh6KQ _3-z2Wq8aEdqf6aL57Hh6KQ _3-9muq8aEdqf6aL57Hh6KQ _3-9m7K8aEdqf6aL57Hh6KQ _3-9m068aEdqf6aL57Hh6KQ _3-z12K8aEdqf6aL57Hh6KQ _3-g7Pq8aEdqf6aL57Hh6KQ _3-9msq8aEdqf6aL57Hh6KQ _3-9m8a8aEdqf6aL57Hh6KQ _3-qsGK8aEdqf6aL57Hh6KQ _3-z2Ta8aEdqf6aL57Hh6KQ _3-qsWa8aEdqf6aL57Hh6KQ _3-qsKq8aEdqf6aL57Hh6KQ _3-z15K8aEdqf6aL57Hh6KQ _3-qr1a8aEdqf6aL57Hh6KQ _3-z1568aEdqf6aL57Hh6KQ _3-g7Fq8aEdqf6aL57Hh6KQ _3-9myK8aEdqf6aL57Hh6KQ _3-qr568aEdqf6aL57Hh6KQ _3-z2D68aEdqf6aL57Hh6KQ _3-z1_K8aEdqf6aL57Hh6KQ _3_HXsq8aEdqf6aL57Hh6KQ _3-z2K68aEdqf6aL57Hh6KQ _3-qr668aEdqf6aL57Hh6KQ _3-qsMK8aEdqf6aL57Hh6KQ _3-9nDq8aEdqf6aL57Hh6KQ _3-z2E68aEdqf6aL57Hh6KQ _3-9mta8aEdqf6aL57Hh6KQ _3-9m568aEdqf6aL57Hh6KQ _3-9nCq8aEdqf6aL57Hh6KQ _3-z2Aq8aEdqf6aL57Hh6KQ _3-9myq8aEdqf6aL57Hh6KQ _3-g7UK8aEdqf6aL57Hh6KQ _3-9nDa8aEdqf6aL57Hh6KQ _3-9m268aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCKq8aEdqf6aL57Hh6KQ" source="UML::Activities::ExtraStructuredActivities" references="_4CifiK8aEdqf6aL57Hh6KQ _4CifP68aEdqf6aL57Hh6KQ _4CifUK8aEdqf6aL57Hh6KQ _4Cifaa8aEdqf6aL57Hh6KQ _4Cifha8aEdqf6aL57Hh6KQ _4Cifb68aEdqf6aL57Hh6KQ _4CifWq8aEdqf6aL57Hh6KQ _4Cifh68aEdqf6aL57Hh6KQ _38SGbq8aEdqf6aL57Hh6KQ _4Cifia8aEdqf6aL57Hh6KQ _4Cifi68aEdqf6aL57Hh6KQ _4Cifc68aEdqf6aL57Hh6KQ _4Cifiq8aEdqf6aL57Hh6KQ _4CifSa8aEdqf6aL57Hh6KQ _4CifO68aEdqf6aL57Hh6KQ _4CifQ68aEdqf6aL57Hh6KQ _4Cifg68aEdqf6aL57Hh6KQ _4Cifd68aEdqf6aL57Hh6KQ _4CifjK8aEdqf6aL57Hh6KQ _4CifVK8aEdqf6aL57Hh6KQ _4Cife68aEdqf6aL57Hh6KQ _4CifOK8aEdqf6aL57Hh6KQ _4CifTK8aEdqf6aL57Hh6KQ _4CifhK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCK68aEdqf6aL57Hh6KQ" source="UML::StateMachines::ProtocolStateMachines" references="_4CsQpq8aEdqf6aL57Hh6KQ _8Ugn8GvtEdqG6fBIPwe-mw _4CsQra8aEdqf6aL57Hh6KQ _4CsQS68aEdqf6aL57Hh6KQ _4CsQja8aEdqf6aL57Hh6KQ _4CsQbq8aEdqf6aL57Hh6KQ _4CsQpK8aEdqf6aL57Hh6KQ _4CsQdK8aEdqf6aL57Hh6KQ _ZAuvEGveEdq4DLWZOhbdEA _4CsQUq8aEdqf6aL57Hh6KQ _4CsQRq8aEdqf6aL57Hh6KQ _4CsQlq8aEdqf6aL57Hh6KQ _4CsQYq8aEdqf6aL57Hh6KQ _4CsQqa8aEdqf6aL57Hh6KQ _4CsQPa8aEdqf6aL57Hh6KQ _4CsQVq8aEdqf6aL57Hh6KQ _4CsQqq8aEdqf6aL57Hh6KQ _4CsQkq8aEdqf6aL57Hh6KQ _3_kDoK8aEdqf6aL57Hh6KQ _4CsQla8aEdqf6aL57Hh6KQ _4CsQoK8aEdqf6aL57Hh6KQ _4CsQm68aEdqf6aL57Hh6KQ _4CsQma8aEdqf6aL57Hh6KQ _3_tNvK8aEdqf6aL57Hh6KQ _4CsQnq8aEdqf6aL57Hh6KQ _4CsQQK8aEdqf6aL57Hh6KQ _4CsQaK8aEdqf6aL57Hh6KQ _4CsQr68aEdqf6aL57Hh6KQ _4CsQhq8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCLK8aEdqf6aL57Hh6KQ" source="UML::UseCases" references="_39eZLK8aEdqf6aL57Hh6KQ _39ni868aEdqf6aL57Hh6KQ _39eZWa8aEdqf6aL57Hh6KQ _39eZb68aEdqf6aL57Hh6KQ _39ni5a8aEdqf6aL57Hh6KQ _39eZRq8aEdqf6aL57Hh6KQ _6UV2QGwJEdq7X4sGURiZYA _39eZg68aEdqf6aL57Hh6KQ _39eZkK8aEdqf6aL57Hh6KQ _39eZMq8aEdqf6aL57Hh6KQ _39ni4K8aEdqf6aL57Hh6KQ _39eZIa8aEdqf6aL57Hh6KQ _39ni9a8aEdqf6aL57Hh6KQ _39ni768aEdqf6aL57Hh6KQ _39ni6K8aEdqf6aL57Hh6KQ _39ni6q8aEdqf6aL57Hh6KQ _39eZia8aEdqf6aL57Hh6KQ _39eZQK8aEdqf6aL57Hh6KQ _39eZkq8aEdqf6aL57Hh6KQ _39ni-K8aEdqf6aL57Hh6KQ _39ni4q8aEdqf6aL57Hh6KQ _39eZOK8aEdqf6aL57Hh6KQ _39eZdq8aEdqf6aL57Hh6KQ _39eZGK8aEdqf6aL57Hh6KQ _39eZX68aEdqf6aL57Hh6KQ _39eZZa8aEdqf6aL57Hh6KQ _39eZSq8aEdqf6aL57Hh6KQ _39eZa68aEdqf6aL57Hh6KQ _39ni7K8aEdqf6aL57Hh6KQ _39ni8K8aEdqf6aL57Hh6KQ _39eZKK8aEdqf6aL57Hh6KQ _39eZja8aEdqf6aL57Hh6KQ _39eZfK8aEdqf6aL57Hh6KQ _39eZPK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PNCLa8aEdqf6aL57Hh6KQ" source="UML::Actions::StructuredActions" references="_4ATq7a8aEdqf6aL57Hh6KQ _4ATqgK8aEdqf6aL57Hh6KQ _4ATq968aEdqf6aL57Hh6KQ _4ATrA68aEdqf6aL57Hh6KQ _4ATq_q8aEdqf6aL57Hh6KQ _4ATq5a8aEdqf6aL57Hh6KQ _4ATq6q8aEdqf6aL57Hh6KQ _4ATqqK8aEdqf6aL57Hh6KQ _4ATqsa8aEdqf6aL57Hh6KQ _4ATq0q8aEdqf6aL57Hh6KQ _4ATqiq8aEdqf6aL57Hh6KQ _4ATqma8aEdqf6aL57Hh6KQ _4ATq5K8aEdqf6aL57Hh6KQ _4ATrAa8aEdqf6aL57Hh6KQ _4ATq_K8aEdqf6aL57Hh6KQ _4ATq768aEdqf6aL57Hh6KQ _4ATq8q8aEdqf6aL57Hh6KQ _4ATquq8aEdqf6aL57Hh6KQ _4ATqoq8aEdqf6aL57Hh6KQ _4ATqw68aEdqf6aL57Hh6KQ _4ATq3q8aEdqf6aL57Hh6KQ _4ATqq68aEdqf6aL57Hh6KQ _4ATqya8aEdqf6aL57Hh6KQ _4ATq-a8aEdqf6aL57Hh6KQ _4ATq9K8aEdqf6aL57Hh6KQ _4ATqwK8aEdqf6aL57Hh6KQ _4ATqzK8aEdqf6aL57Hh6KQ _4ATq6K8aEdqf6aL57Hh6KQ _4ATqk68aEdqf6aL57Hh6KQ _4ATqhq8aEdqf6aL57Hh6KQ _4ATqtK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzIK8aEdqf6aL57Hh6KQ" source="UML::Interactions::Fragments" references="_3-XxMK8aEdqf6aL57Hh6KQ _3-g6_K8aEdqf6aL57Hh6KQ _3-XxZK8aEdqf6aL57Hh6KQ _3-Xw468aEdqf6aL57Hh6KQ _3-XxaK8aEdqf6aL57Hh6KQ _3-g7C68aEdqf6aL57Hh6KQ _3-XxP68aEdqf6aL57Hh6KQ _3-g6_q8aEdqf6aL57Hh6KQ _3-Xw1K8aEdqf6aL57Hh6KQ _3-XxdK8aEdqf6aL57Hh6KQ _3-g7EK8aEdqf6aL57Hh6KQ _3-g6968aEdqf6aL57Hh6KQ _3-g6668aEdqf6aL57Hh6KQ _3-g6za8aEdqf6aL57Hh6KQ _3-XxTq8aEdqf6aL57Hh6KQ _3-g7Aa8aEdqf6aL57Hh6KQ _3-XxKq8aEdqf6aL57Hh6KQ _3-g7Eq8aEdqf6aL57Hh6KQ _3-g7A68aEdqf6aL57Hh6KQ _3-Xxd68aEdqf6aL57Hh6KQ _3-g7Bq8aEdqf6aL57Hh6KQ _3-Xw7a8aEdqf6aL57Hh6KQ _3-XxD68aEdqf6aL57Hh6KQ _3-g7DK8aEdqf6aL57Hh6KQ _3-g7Da8aEdqf6aL57Hh6KQ _39BtSK8aEdqf6aL57Hh6KQ _3-XxCa8aEdqf6aL57Hh6KQ _39BtZK8aEdqf6aL57Hh6KQ _3-g67q8aEdqf6aL57Hh6KQ _3-g7Ca8aEdqf6aL57Hh6KQ _3-XxV68aEdqf6aL57Hh6KQ _3-Xw868aEdqf6aL57Hh6KQ _3-Xw568aEdqf6aL57Hh6KQ _3-g6-a8aEdqf6aL57Hh6KQ _3-g6568aEdqf6aL57Hh6KQ _3-g66K8aEdqf6aL57Hh6KQ _3-g66a8aEdqf6aL57Hh6KQ _3-g68K8aEdqf6aL57Hh6KQ _3-XxXa8aEdqf6aL57Hh6KQ _3-g6ya8aEdqf6aL57Hh6KQ _3-g6wK8aEdqf6aL57Hh6KQ _3-g7CK8aEdqf6aL57Hh6KQ _3-Xw_68aEdqf6aL57Hh6KQ _3-XxNq8aEdqf6aL57Hh6KQ _3-g69K8aEdqf6aL57Hh6KQ _39BthK8aEdqf6aL57Hh6KQ _3-XxUa8aEdqf6aL57Hh6KQ _3-g7E68aEdqf6aL57Hh6KQ _3-XxFa8aEdqf6aL57Hh6KQ _3-g6868aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzIa8aEdqf6aL57Hh6KQ" source="UML::CommonBehaviors::SimpleTime" references="_3_aSpK8aEdqf6aL57Hh6KQ _3_QhvK8aEdqf6aL57Hh6KQ _3_HX1q8aEdqf6aL57Hh6KQ _3_aSoq8aEdqf6aL57Hh6KQ _3_Qhvq8aEdqf6aL57Hh6KQ _39xUAK8aEdqf6aL57Hh6KQ _3_HX068aEdqf6aL57Hh6KQ _3_Qhz68aEdqf6aL57Hh6KQ _3_HYAq8aEdqf6aL57Hh6KQ _39njSK8aEdqf6aL57Hh6KQ _3_Qh1K8aEdqf6aL57Hh6KQ _3_Qhx68aEdqf6aL57Hh6KQ _3_QhzK8aEdqf6aL57Hh6KQ _3_aSo68aEdqf6aL57Hh6KQ _3_aSpa8aEdqf6aL57Hh6KQ _3_Qho68aEdqf6aL57Hh6KQ _3_QhyK8aEdqf6aL57Hh6KQ _3_QhoK8aEdqf6aL57Hh6KQ _3_HXzK8aEdqf6aL57Hh6KQ _3_HX5K8aEdqf6aL57Hh6KQ _3_HX4a8aEdqf6aL57Hh6KQ _3_HX-a8aEdqf6aL57Hh6KQ _3_HYBa8aEdqf6aL57Hh6KQ _3_aSoa8aEdqf6aL57Hh6KQ _3_HXz68aEdqf6aL57Hh6KQ _3_HXvq8aEdqf6aL57Hh6KQ _-Ixo8H4XEdq7cMP_l1l5Gg _3_Qhwq8aEdqf6aL57Hh6KQ _3_Qhv68aEdqf6aL57Hh6KQ _3_HXxK8aEdqf6aL57Hh6KQ _3_Qh0a8aEdqf6aL57Hh6KQ _3_Qhua8aEdqf6aL57Hh6KQ _3_HX3K8aEdqf6aL57Hh6KQ _3_Qhp68aEdqf6aL57Hh6KQ _3_Qh1a8aEdqf6aL57Hh6KQ _DylKEH4YEdq7cMP_l1l5Gg _3_Qhy68aEdqf6aL57Hh6KQ _3_HX6K8aEdqf6aL57Hh6KQ _3_QhsK8aEdqf6aL57Hh6KQ _3_Qhzq8aEdqf6aL57Hh6KQ _3_QhxK8aEdqf6aL57Hh6KQ _3_HXuq8aEdqf6aL57Hh6KQ _3_Qh068aEdqf6aL57Hh6KQ _3_HX0a8aEdqf6aL57Hh6KQ _3_HXyK8aEdqf6aL57Hh6KQ _3_HYEq8aEdqf6aL57Hh6KQ _3_HYCa8aEdqf6aL57Hh6KQ _3_HX7q8aEdqf6aL57Hh6KQ _3_Qhxa8aEdqf6aL57Hh6KQ _3_HX_K8aEdqf6aL57Hh6KQ _39xUAq8aEdqf6aL57Hh6KQ _3_Qhu68aEdqf6aL57Hh6KQ _3_Qhwa8aEdqf6aL57Hh6KQ _3_aSp68aEdqf6aL57Hh6KQ _3_aSoK8aEdqf6aL57Hh6KQ _3_aSpq8aEdqf6aL57Hh6KQ _3_QhtK8aEdqf6aL57Hh6KQ _3_Qhza8aEdqf6aL57Hh6KQ _3_Qhqq8aEdqf6aL57Hh6KQ _3_Qhyq8aEdqf6aL57Hh6KQ _3_HX5q8aEdqf6aL57Hh6KQ _3_HX9K8aEdqf6aL57Hh6KQ _3_Qh0q8aEdqf6aL57Hh6KQ _39njQq8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzIq8aEdqf6aL57Hh6KQ" source="UML::Classes::PowerTypes" references="_4ATrGa8aEdqf6aL57Hh6KQ _4ATrEq8aEdqf6aL57Hh6KQ _4ATrBq8aEdqf6aL57Hh6KQ _4Ac0e68aEdqf6aL57Hh6KQ _4ATrFa8aEdqf6aL57Hh6KQ _6UV2QGwJEdq7X4sGURiZYA _4Ac0c68aEdqf6aL57Hh6KQ _4Ac0gK8aEdqf6aL57Hh6KQ _4Ac0f68aEdqf6aL57Hh6KQ _C7AF4GwREdq14q0ETb1t3g _4ATrD68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzI68aEdqf6aL57Hh6KQ" source="UML::Classes::Dependencies" references="_jKxnwGwLEdq7X4sGURiZYA _38bQIa8aEdqf6aL57Hh6KQ _rEDGkGwKEdq7X4sGURiZYA _csVgUGvtEdqG6fBIPwe-mw _38bQLa8aEdqf6aL57Hh6KQ _6UV2QGwJEdq7X4sGURiZYA _38bQaK8aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _38bQP68aEdqf6aL57Hh6KQ _38bQJK8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ _38bQOK8aEdqf6aL57Hh6KQ _38bQMa8aEdqf6aL57Hh6KQ _38bQZK8aEdqf6aL57Hh6KQ _342X468aEdqf6aL57Hh6KQ _38bQO68aEdqf6aL57Hh6KQ _38bQVa8aEdqf6aL57Hh6KQ _38bQV68aEdqf6aL57Hh6KQ _38bQNa8aEdqf6aL57Hh6KQ _38bQHq8aEdqf6aL57Hh6KQ _38bQWq8aEdqf6aL57Hh6KQ _38bQXK8aEdqf6aL57Hh6KQ _38bQTK8aEdqf6aL57Hh6KQ _38bQRq8aEdqf6aL57Hh6KQ _ZiwkoGwLEdq7X4sGURiZYA _38bQYq8aEdqf6aL57Hh6KQ _38bQX68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzJK8aEdqf6aL57Hh6KQ" source="UML::CompositeStructures::StructuredActivities" references="_38IVYK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzJa8aEdqf6aL57Hh6KQ" source="UML::Activities::CompleteActivities" references="_4CPkra8aEdqf6aL57Hh6KQ _3838Sq8aEdqf6aL57Hh6KQ _4CFzkq8aEdqf6aL57Hh6KQ _4CPkba8aEdqf6aL57Hh6KQ _4CFzuq8aEdqf6aL57Hh6KQ _4CFzsa8aEdqf6aL57Hh6KQ _4CYuJK8aEdqf6aL57Hh6KQ _4CPkpK8aEdqf6aL57Hh6KQ _38IVSq8aEdqf6aL57Hh6KQ _4CYuMa8aEdqf6aL57Hh6KQ _4CPkQK8aEdqf6aL57Hh6KQ _4CFzvq8aEdqf6aL57Hh6KQ _4CFzma8aEdqf6aL57Hh6KQ _4CPkr68aEdqf6aL57Hh6KQ _4CYuK68aEdqf6aL57Hh6KQ _4CPkZ68aEdqf6aL57Hh6KQ _4CFzla8aEdqf6aL57Hh6KQ _4CPkuK8aEdqf6aL57Hh6KQ _4CYuO68aEdqf6aL57Hh6KQ _4CPkqq8aEdqf6aL57Hh6KQ _4CPkc68aEdqf6aL57Hh6KQ _4CYuPa8aEdqf6aL57Hh6KQ _4CYuIq8aEdqf6aL57Hh6KQ _38IVW68aEdqf6aL57Hh6KQ _4CPkWa8aEdqf6aL57Hh6KQ _4CFzj68aEdqf6aL57Hh6KQ _37_LkK8aEdqf6aL57Hh6KQ _4CPkgq8aEdqf6aL57Hh6KQ _38IVMK8aEdqf6aL57Hh6KQ _4CPkkK8aEdqf6aL57Hh6KQ _4CPkMK8aEdqf6aL57Hh6KQ _4CPkia8aEdqf6aL57Hh6KQ _371a1K8aEdqf6aL57Hh6KQ _4CFzrq8aEdqf6aL57Hh6KQ _38IVLa8aEdqf6aL57Hh6KQ _4CFztK8aEdqf6aL57Hh6KQ _4CPks68aEdqf6aL57Hh6KQ _4CFzo68aEdqf6aL57Hh6KQ _4CFzfa8aEdqf6aL57Hh6KQ _4CPkXK8aEdqf6aL57Hh6KQ _4CYuJq8aEdqf6aL57Hh6KQ _4CYuMK8aEdqf6aL57Hh6KQ _4CPksq8aEdqf6aL57Hh6KQ _rHT3YKOsEdqi_5gqUMOQtA _4CFzdK8aEdqf6aL57Hh6KQ _3838V68aEdqf6aL57Hh6KQ _4CYuKq8aEdqf6aL57Hh6KQ _4CPkVq8aEdqf6aL57Hh6KQ _4CYuIK8aEdqf6aL57Hh6KQ _4CFzd68aEdqf6aL57Hh6KQ _4CPkrK8aEdqf6aL57Hh6KQ _4CFzna8aEdqf6aL57Hh6KQ _4CPktq8aEdqf6aL57Hh6KQ _4CPku68aEdqf6aL57Hh6KQ _37_L168aEdqf6aL57Hh6KQ _4CYuI68aEdqf6aL57Hh6KQ _4CPkma8aEdqf6aL57Hh6KQ _4CPknq8aEdqf6aL57Hh6KQ _397FCK8aEdqf6aL57Hh6KQ _4CYuM68aEdqf6aL57Hh6KQ _4CPkRq8aEdqf6aL57Hh6KQ _4CYuJ68aEdqf6aL57Hh6KQ _4CYuLq8aEdqf6aL57Hh6KQ _TUPtYGveEdq4DLWZOhbdEA _4CPkea8aEdqf6aL57Hh6KQ _4CPkYq8aEdqf6aL57Hh6KQ _4CYuNq8aEdqf6aL57Hh6KQ _38IVU68aEdqf6aL57Hh6KQ _4CPkfa8aEdqf6aL57Hh6KQ _KyaPMGveEdq4DLWZOhbdEA _4CPkva8aEdqf6aL57Hh6KQ _4CYuOK8aEdqf6aL57Hh6KQ _4CPkPK8aEdqf6aL57Hh6KQ _3838fq8aEdqf6aL57Hh6KQ _4CPkt68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzJq8aEdqf6aL57Hh6KQ" source="UML::StateMachines::BehaviorStateMachines" references="_3_2-tK8aEdqf6aL57Hh6KQ _3_2-qK8aEdqf6aL57Hh6KQ _3_2-na8aEdqf6aL57Hh6KQ _3_tNkK8aEdqf6aL57Hh6KQ _3_tNuK8aEdqf6aL57Hh6KQ _3_tOLK8aEdqf6aL57Hh6KQ _3_tN_68aEdqf6aL57Hh6KQ _3_tN-a8aEdqf6aL57Hh6KQ _3_kEUq8aEdqf6aL57Hh6KQ _3_2-yK8aEdqf6aL57Hh6KQ _3_kEC68aEdqf6aL57Hh6KQ _3_kEH68aEdqf6aL57Hh6KQ _3_tN5K8aEdqf6aL57Hh6KQ _3_kD1q8aEdqf6aL57Hh6KQ _3_kExa8aEdqf6aL57Hh6KQ _3_tOLq8aEdqf6aL57Hh6KQ _3_2-oa8aEdqf6aL57Hh6KQ _3_kEi68aEdqf6aL57Hh6KQ _3_2-5K8aEdqf6aL57Hh6KQ _3_aSzK8aEdqf6aL57Hh6KQ _3_kEJa8aEdqf6aL57Hh6KQ _3_kD3K8aEdqf6aL57Hh6KQ _3_kEka8aEdqf6aL57Hh6KQ _3_aS3K8aEdqf6aL57Hh6KQ _3_kDua8aEdqf6aL57Hh6KQ _3_tN0q8aEdqf6aL57Hh6KQ _3_kETK8aEdqf6aL57Hh6KQ _3_kEma8aEdqf6aL57Hh6KQ _3_tOCK8aEdqf6aL57Hh6KQ _3_2-3q8aEdqf6aL57Hh6KQ _3_aS4K8aEdqf6aL57Hh6KQ _3_2-oK8aEdqf6aL57Hh6KQ _3_kEnq8aEdqf6aL57Hh6KQ _3_2-4a8aEdqf6aL57Hh6KQ _3_kEVq8aEdqf6aL57Hh6KQ _3_kEg68aEdqf6aL57Hh6KQ _3_kEEK8aEdqf6aL57Hh6KQ _3_2-kK8aEdqf6aL57Hh6KQ _3_kEAK8aEdqf6aL57Hh6KQ _3_kEXq8aEdqf6aL57Hh6KQ _3_kDyK8aEdqf6aL57Hh6KQ _3_kD6K8aEdqf6aL57Hh6KQ _3_tNzK8aEdqf6aL57Hh6KQ _3_aS768aEdqf6aL57Hh6KQ _3_2-yq8aEdqf6aL57Hh6KQ _3_tN868aEdqf6aL57Hh6KQ _3_2-568aEdqf6aL57Hh6KQ _3_2-mK8aEdqf6aL57Hh6KQ _3_2-1K8aEdqf6aL57Hh6KQ _3_2-xa8aEdqf6aL57Hh6KQ _3_kD-q8aEdqf6aL57Hh6KQ _3_2-pK8aEdqf6aL57Hh6KQ _3_tOMa8aEdqf6aL57Hh6KQ _3_2-za8aEdqf6aL57Hh6KQ _3_kEaq8aEdqf6aL57Hh6KQ _3_2-z68aEdqf6aL57Hh6KQ _3_kDoK8aEdqf6aL57Hh6KQ _3_kEZK8aEdqf6aL57Hh6KQ _3_2-rK8aEdqf6aL57Hh6KQ _3_kEMK8aEdqf6aL57Hh6KQ _3_2-3K8aEdqf6aL57Hh6KQ _3_kEWq8aEdqf6aL57Hh6KQ _3_2-lK8aEdqf6aL57Hh6KQ _3_kEvK8aEdqf6aL57Hh6KQ _3_2-u68aEdqf6aL57Hh6KQ _3_2-vq8aEdqf6aL57Hh6KQ _3_2-468aEdqf6aL57Hh6KQ _3_kD4q8aEdqf6aL57Hh6KQ _3_2-6K8aEdqf6aL57Hh6KQ _3_aS2K8aEdqf6aL57Hh6KQ _3_2-tq8aEdqf6aL57Hh6KQ _3_2-qq8aEdqf6aL57Hh6KQ _3_tNpa8aEdqf6aL57Hh6KQ _3_kEK68aEdqf6aL57Hh6KQ _3_kEe68aEdqf6aL57Hh6KQ _3_2-2a8aEdqf6aL57Hh6KQ _3_kESa8aEdqf6aL57Hh6KQ _3_kDtK8aEdqf6aL57Hh6KQ _3_tOHq8aEdqf6aL57Hh6KQ _3_2-m68aEdqf6aL57Hh6KQ _3_kDzK8aEdqf6aL57Hh6KQ _3_kEcK8aEdqf6aL57Hh6KQ _3_kDw68aEdqf6aL57Hh6KQ _3_kD0q8aEdqf6aL57Hh6KQ _3_tN2K8aEdqf6aL57Hh6KQ _3_tOMK8aEdqf6aL57Hh6KQ _3_2-sa8aEdqf6aL57Hh6KQ _3_tN3q8aEdqf6aL57Hh6KQ _3_kEdq8aEdqf6aL57Hh6KQ _3_2-pq8aEdqf6aL57Hh6KQ _3_kD9K8aEdqf6aL57Hh6KQ _3_tNvK8aEdqf6aL57Hh6KQ _3_2-ka8aEdqf6aL57Hh6KQ _3_2-wK8aEdqf6aL57Hh6KQ _3_aS0q8aEdqf6aL57Hh6KQ _3_2-w68aEdqf6aL57Hh6KQ _3_2-0q8aEdqf6aL57Hh6KQ _3_tNsq8aEdqf6aL57Hh6KQ _3_2-168aEdqf6aL57Hh6KQ _3_kDvq8aEdqf6aL57Hh6KQ _3_tN7q8aEdqf6aL57Hh6KQ _3_2-r68aEdqf6aL57Hh6KQ _3_tNrq8aEdqf6aL57Hh6KQ _3_tN6K8aEdqf6aL57Hh6KQ _3_kEla8aEdqf6aL57Hh6KQ _3_kEv68aEdqf6aL57Hh6KQ _3_kEBq8aEdqf6aL57Hh6KQ _3_2-ua8aEdqf6aL57Hh6KQ _3_tOMq8aEdqf6aL57Hh6KQ _3_kD7q8aEdqf6aL57Hh6KQ _3_2-lq8aEdqf6aL57Hh6KQ _3_aS9a8aEdqf6aL57Hh6KQ _3_kEFa8aEdqf6aL57Hh6KQ _3_aS6K8aEdqf6aL57Hh6KQ _3_kEiK8aEdqf6aL57Hh6KQ _3_kEGq8aEdqf6aL57Hh6KQ _39njQq8aEdqf6aL57Hh6KQ _3_aSva8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzJ68aEdqf6aL57Hh6KQ" source="UML::CommonBehaviors::Communications" references="_39ni_68aEdqf6aL57Hh6KQ _8Ugn8GvtEdqG6fBIPwe-mw _Pu3O0HL0EdqziYxiZo0YtA _39xUEK8aEdqf6aL57Hh6KQ _39njK68aEdqf6aL57Hh6KQ _39njN68aEdqf6aL57Hh6KQ _39njTq8aEdqf6aL57Hh6KQ _39xUAK8aEdqf6aL57Hh6KQ _39njFK8aEdqf6aL57Hh6KQ _39xT9K8aEdqf6aL57Hh6KQ _39njSK8aEdqf6aL57Hh6KQ _39njUa8aEdqf6aL57Hh6KQ _39xUFK8aEdqf6aL57Hh6KQ _39xUBa8aEdqf6aL57Hh6KQ _34Qh0a8aEdqf6aL57Hh6KQ _39xT8K8aEdqf6aL57Hh6KQ _39xUDq8aEdqf6aL57Hh6KQ _39xUA68aEdqf6aL57Hh6KQ _39xUCK8aEdqf6aL57Hh6KQ _39njCa8aEdqf6aL57Hh6KQ _39xT6a8aEdqf6aL57Hh6KQ _39njAq8aEdqf6aL57Hh6KQ _iY7sMGvsEdqG6fBIPwe-mw _39njPa8aEdqf6aL57Hh6KQ _39njQK8aEdqf6aL57Hh6KQ _39njVK8aEdqf6aL57Hh6KQ _rHT3YKOsEdqi_5gqUMOQtA _39xT-q8aEdqf6aL57Hh6KQ _39njJa8aEdqf6aL57Hh6KQ _39njRa8aEdqf6aL57Hh6KQ _342Xpq8aEdqf6aL57Hh6KQ _39xT4K8aEdqf6aL57Hh6KQ _39xT6K8aEdqf6aL57Hh6KQ _39njMa8aEdqf6aL57Hh6KQ _39xT7K8aEdqf6aL57Hh6KQ _342Xpa8aEdqf6aL57Hh6KQ _M4X2IGveEdq4DLWZOhbdEA _39xT7a8aEdqf6aL57Hh6KQ _39xUAq8aEdqf6aL57Hh6KQ _39xT8a8aEdqf6aL57Hh6KQ _39xUC68aEdqf6aL57Hh6KQ _39xT_a8aEdqf6aL57Hh6KQ _00owUGvdEdq4DLWZOhbdEA _39xT968aEdqf6aL57Hh6KQ _39ni-a8aEdqf6aL57Hh6KQ _39njIK8aEdqf6aL57Hh6KQ _39xUE68aEdqf6aL57Hh6KQ _39njWq8aEdqf6aL57Hh6KQ _39njHa8aEdqf6aL57Hh6KQ _39njF68aEdqf6aL57Hh6KQ _39njQq8aEdqf6aL57Hh6KQ _39njBq8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzKK8aEdqf6aL57Hh6KQ" source="InfrastructureLibrary::Profiles" references="_3_2-868aEdqf6aL57Hh6KQ _4AJ5i68aEdqf6aL57Hh6KQ _4AJ5kK8aEdqf6aL57Hh6KQ _4AAIk68aEdqf6aL57Hh6KQ _4AAIgK8aEdqf6aL57Hh6KQ _csVgUGvtEdqG6fBIPwe-mw _4AJ5ga8aEdqf6aL57Hh6KQ _4AJ5kq8aEdqf6aL57Hh6KQ _3_2_C68aEdqf6aL57Hh6KQ __pew8GvzEdq7X4sGURiZYA _4AAI_68aEdqf6aL57Hh6KQ _4AJ5gK8aEdqf6aL57Hh6KQ _4AAI968aEdqf6aL57Hh6KQ _4AAI8K8aEdqf6aL57Hh6KQ _2QuT0GvdEdq4DLWZOhbdEA _skHGwGvsEdqG6fBIPwe-mw _4AAIza8aEdqf6aL57Hh6KQ _4AAI1q8aEdqf6aL57Hh6KQ _4AAIwK8aEdqf6aL57Hh6KQ _4AAIrq8aEdqf6aL57Hh6KQ _4AAIqK8aEdqf6aL57Hh6KQ _4AJ5hq8aEdqf6aL57Hh6KQ _4AAI-q8aEdqf6aL57Hh6KQ _4AAI6a8aEdqf6aL57Hh6KQ _4AAI_K8aEdqf6aL57Hh6KQ _4AAIua8aEdqf6aL57Hh6KQ _4AAIo68aEdqf6aL57Hh6KQ _4AAIlq8aEdqf6aL57Hh6KQ _4AAI3a8aEdqf6aL57Hh6KQ _4AAIh68aEdqf6aL57Hh6KQ _uY5yQGv5Edq7X4sGURiZYA _4AJ5la8aEdqf6aL57Hh6KQ _4AJ5lq8aEdqf6aL57Hh6KQ _-cvRAGvzEdq7X4sGURiZYA _nDq0wJPzEdqpjIDDFZ2Hgw _4AAI468aEdqf6aL57Hh6KQ _4AJ5ja8aEdqf6aL57Hh6KQ _4AJ5iK8aEdqf6aL57Hh6KQ _A7vDAGv0Edq7X4sGURiZYA _4AAIj68aEdqf6aL57Hh6KQ _kl90MGvbEdq4DLWZOhbdEA _4AAI0a8aEdqf6aL57Hh6KQ _4AAItK8aEdqf6aL57Hh6KQ _00owUGvdEdq4DLWZOhbdEA _3_2-_68aEdqf6aL57Hh6KQ _3_2_Ba8aEdqf6aL57Hh6KQ _4AJ5g68aEdqf6aL57Hh6KQ _4AAJAa8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzKa8aEdqf6aL57Hh6KQ" source="UML::CompositeStructures::InternalStructures" references="_38uyV68aEdqf6aL57Hh6KQ _38uyiq8aEdqf6aL57Hh6KQ _38uycq8aEdqf6aL57Hh6KQ _38uyh68aEdqf6aL57Hh6KQ _34tNs68aEdqf6aL57Hh6KQ _38uyZa8aEdqf6aL57Hh6KQ _38uyg68aEdqf6aL57Hh6KQ _34tNsK8aEdqf6aL57Hh6KQ _38uyYq8aEdqf6aL57Hh6KQ _38uyaa8aEdqf6aL57Hh6KQ _38uyGq8aEdqf6aL57Hh6KQ _6UV2QGwJEdq7X4sGURiZYA _38uyhq8aEdqf6aL57Hh6KQ _38uyKq8aEdqf6aL57Hh6KQ _38uyga8aEdqf6aL57Hh6KQ _38uyda8aEdqf6aL57Hh6KQ _38uyRa8aEdqf6aL57Hh6KQ _38uyYa8aEdqf6aL57Hh6KQ _38uycK8aEdqf6aL57Hh6KQ _Jp_1oGveEdq4DLWZOhbdEA _FQiVsGwYEdqHKKVoxc0dlA _aOgw0GveEdq4DLWZOhbdEA _38uyWq8aEdqf6aL57Hh6KQ _38uyUa8aEdqf6aL57Hh6KQ _38uyea8aEdqf6aL57Hh6KQ _38uyFK8aEdqf6aL57Hh6KQ _38uyS68aEdqf6aL57Hh6KQ _38uybK8aEdqf6aL57Hh6KQ _38uyba8aEdqf6aL57Hh6KQ _326d8K8aEdqf6aL57Hh6KQ _38uyfq8aEdqf6aL57Hh6KQ _38uyfK8aEdqf6aL57Hh6KQ _38uyLq8aEdqf6aL57Hh6KQ _38uyHq8aEdqf6aL57Hh6KQ _38uyP68aEdqf6aL57Hh6KQ _38uyMq8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzKq8aEdqf6aL57Hh6KQ" source="UML::Deployments::Nodes" references="_3-OAVK8aEdqf6aL57Hh6KQ _3-OAB68aEdqf6aL57Hh6KQ _3-OAXK8aEdqf6aL57Hh6KQ _3-OAEa8aEdqf6aL57Hh6KQ _3-OAJK8aEdqf6aL57Hh6KQ _3-OAVq8aEdqf6aL57Hh6KQ _3-OAXq8aEdqf6aL57Hh6KQ _3-OAM68aEdqf6aL57Hh6KQ _3-Xw0a8aEdqf6aL57Hh6KQ _3-OAHq8aEdqf6aL57Hh6KQ _Jp_1oGveEdq4DLWZOhbdEA _3-OALa8aEdqf6aL57Hh6KQ _3-OAO68aEdqf6aL57Hh6KQ _3-OAGK8aEdqf6aL57Hh6KQ _3-OAC68aEdqf6aL57Hh6KQ _3-OAWa8aEdqf6aL57Hh6KQ _3-Xw0K8aEdqf6aL57Hh6KQ _3-OAPq8aEdqf6aL57Hh6KQ _-lGRgHLzEdqziYxiZo0YtA _36WMmq8aEdqf6aL57Hh6KQ _3-OABK8aEdqf6aL57Hh6KQ _3-OAJ68aEdqf6aL57Hh6KQ _3-OAIa8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzK68aEdqf6aL57Hh6KQ" source="UML::CommonBehaviors::BasicBehaviors" references="_371ap68aEdqf6aL57Hh6KQ _371ada8aEdqf6aL57Hh6KQ _371aqq8aEdqf6aL57Hh6KQ _371aq68aEdqf6aL57Hh6KQ _371aO68aEdqf6aL57Hh6KQ _371aea8aEdqf6aL57Hh6KQ _371aN68aEdqf6aL57Hh6KQ _371as68aEdqf6aL57Hh6KQ _371agq8aEdqf6aL57Hh6KQ _371am68aEdqf6aL57Hh6KQ _371ata8aEdqf6aL57Hh6KQ _371aVq8aEdqf6aL57Hh6KQ _371aoa8aEdqf6aL57Hh6KQ _371aZ68aEdqf6aL57Hh6KQ _371aTK8aEdqf6aL57Hh6KQ _371aoK8aEdqf6aL57Hh6KQ _371ao68aEdqf6aL57Hh6KQ _371apq8aEdqf6aL57Hh6KQ _371aXK8aEdqf6aL57Hh6KQ _371aba8aEdqf6aL57Hh6KQ _371asK8aEdqf6aL57Hh6KQ _iY7sMGvsEdqG6fBIPwe-mw _371aR68aEdqf6aL57Hh6KQ _371amK8aEdqf6aL57Hh6KQ _rHT3YKOsEdqi_5gqUMOQtA _ChRfcGveEdq4DLWZOhbdEA _371aMK8aEdqf6aL57Hh6KQ _371aQa8aEdqf6aL57Hh6KQ _371acq8aEdqf6aL57Hh6KQ _371afK8aEdqf6aL57Hh6KQ _371ana8aEdqf6aL57Hh6KQ _371aiK8aEdqf6aL57Hh6KQ _371aM68aEdqf6aL57Hh6KQ _TUPtYGveEdq4DLWZOhbdEA _371aka8aEdqf6aL57Hh6KQ _371arq8aEdqf6aL57Hh6KQ _371alq8aEdqf6aL57Hh6KQ _371ak68aEdqf6aL57Hh6KQ _371auK8aEdqf6aL57Hh6KQ _371auq8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzLK8aEdqf6aL57Hh6KQ" source="UML::AuxiliaryConstructs::InformationFlows" references="_4Ac0u68aEdqf6aL57Hh6KQ _4Ac00K8aEdqf6aL57Hh6KQ _4Ac0ga8aEdqf6aL57Hh6KQ _4Ac0yK8aEdqf6aL57Hh6KQ _4Ac0nq8aEdqf6aL57Hh6KQ _4Ac0ja8aEdqf6aL57Hh6KQ _4Ac0uq8aEdqf6aL57Hh6KQ _4Ac0rq8aEdqf6aL57Hh6KQ _4Ac01K8aEdqf6aL57Hh6KQ _4Ac0za8aEdqf6aL57Hh6KQ _4Ac02a8aEdqf6aL57Hh6KQ _4Ac0y68aEdqf6aL57Hh6KQ _4Ac0qq8aEdqf6aL57Hh6KQ _4Ac0sq8aEdqf6aL57Hh6KQ _4Ac0tq8aEdqf6aL57Hh6KQ _4Ac0v68aEdqf6aL57Hh6KQ _4Ac0oq8aEdqf6aL57Hh6KQ _4Ac01a8aEdqf6aL57Hh6KQ _4Ac0xq8aEdqf6aL57Hh6KQ _4Ac0ka8aEdqf6aL57Hh6KQ _4Ac02K8aEdqf6aL57Hh6KQ _4Ac0w68aEdqf6aL57Hh6KQ _4Ac0pq8aEdqf6aL57Hh6KQ _4Ac0wq8aEdqf6aL57Hh6KQ _4Ac0vq8aEdqf6aL57Hh6KQ _4Ac00a8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzLa8aEdqf6aL57Hh6KQ" source="UML::Classes::AssociationClasses" references="_4C1aH68aEdqf6aL57Hh6KQ _4C1aEK8aEdqf6aL57Hh6KQ _4C1aJa8aEdqf6aL57Hh6KQ _4C1aK68aEdqf6aL57Hh6KQ _Jp_1oGveEdq4DLWZOhbdEA _4C1aF68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzLq8aEdqf6aL57Hh6KQ" source="UML::Components::PackagingComponents" references="_4CiflK8aEdqf6aL57Hh6KQ _4Cifjq8aEdqf6aL57Hh6KQ _DAbfwa69EdqjppZik4kD8A _4Ciflq8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PWzL68aEdqf6aL57Hh6KQ" source="UML::Activities::IntermediateActivities" references="_3838bq8aEdqf6aL57Hh6KQ _397FIa8aEdqf6aL57Hh6KQ _397FIq8aEdqf6aL57Hh6KQ _39xUUq8aEdqf6aL57Hh6KQ _397FAa8aEdqf6aL57Hh6KQ _38IVSq8aEdqf6aL57Hh6KQ _39xUVq8aEdqf6aL57Hh6KQ _38IVXK8aEdqf6aL57Hh6KQ _39xUN68aEdqf6aL57Hh6KQ _397FG68aEdqf6aL57Hh6KQ _38IVW68aEdqf6aL57Hh6KQ _397FGa8aEdqf6aL57Hh6KQ _38IVJ68aEdqf6aL57Hh6KQ _397E_a8aEdqf6aL57Hh6KQ _39xUJK8aEdqf6aL57Hh6KQ _39xUIa8aEdqf6aL57Hh6KQ _38IVMK8aEdqf6aL57Hh6KQ _397FHK8aEdqf6aL57Hh6KQ _397FF68aEdqf6aL57Hh6KQ _38IVLa8aEdqf6aL57Hh6KQ _397FJq8aEdqf6aL57Hh6KQ _397FKK8aEdqf6aL57Hh6KQ _3838V68aEdqf6aL57Hh6KQ _3838n68aEdqf6aL57Hh6KQ _39BtO68aEdqf6aL57Hh6KQ _39xUOq8aEdqf6aL57Hh6KQ _397FFa8aEdqf6aL57Hh6KQ _39xUPq8aEdqf6aL57Hh6KQ _37_L168aEdqf6aL57Hh6KQ _39xUHq8aEdqf6aL57Hh6KQ _397FCK8aEdqf6aL57Hh6KQ _397E8a8aEdqf6aL57Hh6KQ _397FD68aEdqf6aL57Hh6KQ _39xUNK8aEdqf6aL57Hh6KQ _39xUSK8aEdqf6aL57Hh6KQ _39xUQq8aEdqf6aL57Hh6KQ _39xUTq8aEdqf6aL57Hh6KQ _397FI68aEdqf6aL57Hh6KQ _397FH68aEdqf6aL57Hh6KQ _397E6K8aEdqf6aL57Hh6KQ _38IVNq8aEdqf6aL57Hh6KQ _38IVU68aEdqf6aL57Hh6KQ _397E4q8aEdqf6aL57Hh6KQ _39xUFa8aEdqf6aL57Hh6KQ _3838k68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4Pf9EK8aEdqf6aL57Hh6KQ" source="UML::CompositeStructures::InvocationActions" references="_3_aSuq8aEdqf6aL57Hh6KQ _3_aStq8aEdqf6aL57Hh6KQ _3_aSrK8aEdqf6aL57Hh6KQ _37_LNq8aEdqf6aL57Hh6KQ _3_aSta8aEdqf6aL57Hh6KQ _3_aSua8aEdqf6aL57Hh6KQ _3_aSsa8aEdqf6aL57Hh6KQ _39njHa8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4Pf9Ea8aEdqf6aL57Hh6KQ" source="UML::Deployments::Artifacts" references="_3-N_1q8aEdqf6aL57Hh6KQ _3-N_4q8aEdqf6aL57Hh6KQ _3-N_8a8aEdqf6aL57Hh6KQ _3-N_8K8aEdqf6aL57Hh6KQ _3-OAAa8aEdqf6aL57Hh6KQ _3-N_3K8aEdqf6aL57Hh6KQ _3-N_9K8aEdqf6aL57Hh6KQ _3-N_5a8aEdqf6aL57Hh6KQ _3-N_968aEdqf6aL57Hh6KQ _3-N_668aEdqf6aL57Hh6KQ _-lGRgHLzEdqziYxiZo0YtA _3-N_0K8aEdqf6aL57Hh6KQ _3-N__q8aEdqf6aL57Hh6KQ _3-N_6a8aEdqf6aL57Hh6KQ _3-N_-68aEdqf6aL57Hh6KQ _3-EPZ68aEdqf6aL57Hh6KQ _3-N_7q8aEdqf6aL57Hh6KQ _3-EPYa8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4Pf9Eq8aEdqf6aL57Hh6KQ" source="UML::CompositeStructures::Collaborations" references="_3838OK8aEdqf6aL57Hh6KQ _3838Pa8aEdqf6aL57Hh6KQ _3838FK8aEdqf6aL57Hh6KQ _6UV2QGwJEdq7X4sGURiZYA _3838EK8aEdqf6aL57Hh6KQ _3838Gq8aEdqf6aL57Hh6KQ _3838Nq8aEdqf6aL57Hh6KQ _3838J68aEdqf6aL57Hh6KQ _3838R68aEdqf6aL57Hh6KQ _3838Ra8aEdqf6aL57Hh6KQ _3838QK8aEdqf6aL57Hh6KQ _3838Qq8aEdqf6aL57Hh6KQ _3838Mq8aEdqf6aL57Hh6KQ _3838O68aEdqf6aL57Hh6KQ _3838H68aEdqf6aL57Hh6KQ _3838M68aEdqf6aL57Hh6KQ _KyaPMGveEdq4DLWZOhbdEA _3838I68aEdqf6aL57Hh6KQ _3838BK8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4Pf9E68aEdqf6aL57Hh6KQ" source="UML::CompositeStructures::Ports" references="_397FRa8aEdqf6aL57Hh6KQ _397FT68aEdqf6aL57Hh6KQ _3-EO5K8aEdqf6aL57Hh6KQ _397FP68aEdqf6aL57Hh6KQ _3-EO4K8aEdqf6aL57Hh6KQ _ZAuvEGveEdq4DLWZOhbdEA _3-EO568aEdqf6aL57Hh6KQ _397FPK8aEdqf6aL57Hh6KQ _3-EO468aEdqf6aL57Hh6KQ _397FSa8aEdqf6aL57Hh6KQ _3-EO3q8aEdqf6aL57Hh6KQ _aOgw0GveEdq4DLWZOhbdEA _3-EO6K8aEdqf6aL57Hh6KQ _3-EO168aEdqf6aL57Hh6KQ _397FUq8aEdqf6aL57Hh6KQ _3-EO0K8aEdqf6aL57Hh6KQ _3-EO1K8aEdqf6aL57Hh6KQ _3-EO2q8aEdqf6aL57Hh6KQ _397FOa8aEdqf6aL57Hh6KQ _3-EO268aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4Pf9FK8aEdqf6aL57Hh6KQ" source="UML::Deployments::ComponentDeployments" references="_4CsQIK8aEdqf6aL57Hh6KQ _4CsQNa8aEdqf6aL57Hh6KQ _4CsQKa8aEdqf6aL57Hh6KQ _4Cifmq8aEdqf6aL57Hh6KQ _3-OABK8aEdqf6aL57Hh6KQ _4CsQO68aEdqf6aL57Hh6KQ _4CsQL68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4Pf9Fa8aEdqf6aL57Hh6KQ" source="UML::Activities::FundamentalActivities" references="_38IVIa8aEdqf6aL57Hh6KQ _38IVSq8aEdqf6aL57Hh6KQ _38IVXK8aEdqf6aL57Hh6KQ _38IVQq8aEdqf6aL57Hh6KQ _38IVTa8aEdqf6aL57Hh6KQ _38IVW68aEdqf6aL57Hh6KQ _38IVJ68aEdqf6aL57Hh6KQ _37_LkK8aEdqf6aL57Hh6KQ _38IVMK8aEdqf6aL57Hh6KQ _38IVPK8aEdqf6aL57Hh6KQ _38IVWa8aEdqf6aL57Hh6KQ _38IVLa8aEdqf6aL57Hh6KQ _37_L168aEdqf6aL57Hh6KQ _38IVXq8aEdqf6aL57Hh6KQ _38IVNq8aEdqf6aL57Hh6KQ _38IVU68aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4PzfEK8aEdqf6aL57Hh6KQ" source="UML::AuxiliaryConstructs::Models" references="_4Ac03q8aEdqf6aL57Hh6KQ _NVhqMGv0Edq7X4sGURiZYA"/>

-    <eAnnotations xmi:id="_4QGaAK8aEdqf6aL57Hh6KQ" source="InfrastructureLibrary::Core::PrimitiveTypes" references="_UdivYGvsEdqG6fBIPwe-mw _XqvEIGvsEdqG6fBIPwe-mw _dRZxsGvsEdqG6fBIPwe-mw _aAyVgGvsEdqG6fBIPwe-mw"/>

-    <eAnnotations xmi:id="_4QQLAK8aEdqf6aL57Hh6KQ" source="UML::AuxiliaryConstructs::Profiles" references="_2QuT0GvdEdq4DLWZOhbdEA _4AAI0a8aEdqf6aL57Hh6KQ"/>

-    <eAnnotations xmi:id="_4RSs0K8aEdqf6aL57Hh6KQ" source="UML::CompositeStructures::StructuredClasses" references="_00owUGvdEdq4DLWZOhbdEA"/>

+  <eAnnotations xmi:id="__tsocK8kEdqRKeAGm8hhTw" source="capabilities">

+    <eAnnotations xmi:id="__tsoca8kEdqRKeAGm8hhTw" source="UML::Interactions::BasicInteractions" references="__ddNmK8kEdqRKeAGm8hhTw __dTcha8kEdqRKeAGm8hhTw __dTcd68kEdqRKeAGm8hhTw __ddNQa8kEdqRKeAGm8hhTw __dTcUq8kEdqRKeAGm8hhTw __dTcmK8kEdqRKeAGm8hhTw __dTce68kEdqRKeAGm8hhTw __ddNl68kEdqRKeAGm8hhTw __ddNRK8kEdqRKeAGm8hhTw __dTc068kEdqRKeAGm8hhTw __dTcGq8kEdqRKeAGm8hhTw __ddNMq8kEdqRKeAGm8hhTw __dTcVq8kEdqRKeAGm8hhTw __dTcrK8kEdqRKeAGm8hhTw __dTcjK8kEdqRKeAGm8hhTw __dTc168kEdqRKeAGm8hhTw __dTcpq8kEdqRKeAGm8hhTw __dmW8a8kEdqRKeAGm8hhTw __dTcIK8kEdqRKeAGm8hhTw __dTcwa8kEdqRKeAGm8hhTw __ddNhq8kEdqRKeAGm8hhTw __ddNX68kEdqRKeAGm8hhTw __dTcJ68kEdqRKeAGm8hhTw __dTcva8kEdqRKeAGm8hhTw __dTco68kEdqRKeAGm8hhTw __dTcn68kEdqRKeAGm8hhTw __dTcga8kEdqRKeAGm8hhTw __ddNia8kEdqRKeAGm8hhTw __ddNA68kEdqRKeAGm8hhTw __dTc0K8kEdqRKeAGm8hhTw __ddNYq8kEdqRKeAGm8hhTw __dTc3q8kEdqRKeAGm8hhTw __ddNR68kEdqRKeAGm8hhTw __dTcSq8kEdqRKeAGm8hhTw __ddNaq8kEdqRKeAGm8hhTw __ddNeK8kEdqRKeAGm8hhTw __ddNWa8kEdqRKeAGm8hhTw __ddNUq8kEdqRKeAGm8hhTw __ddNXa8kEdqRKeAGm8hhTw __dTcDK8kEdqRKeAGm8hhTw __ddNi68kEdqRKeAGm8hhTw __dJrZ68kEdqRKeAGm8hhTw __ddNca8kEdqRKeAGm8hhTw __ddNUK8kEdqRKeAGm8hhTw __ddNdK8kEdqRKeAGm8hhTw __dJrba8kEdqRKeAGm8hhTw __dmW8K8kEdqRKeAGm8hhTw __ddNDq8kEdqRKeAGm8hhTw __ddNZ68kEdqRKeAGm8hhTw __ddNMK8kEdqRKeAGm8hhTw __dTctq8kEdqRKeAGm8hhTw __ddNb68kEdqRKeAGm8hhTw __ddNN68kEdqRKeAGm8hhTw __ddNj68kEdqRKeAGm8hhTw __ddNfq8kEdqRKeAGm8hhTw __ddNha8kEdqRKeAGm8hhTw _gfgNwGveEdq4DLWZOhbdEA __ddNEq8kEdqRKeAGm8hhTw __dTc2q8kEdqRKeAGm8hhTw __dTcZK8kEdqRKeAGm8hhTw __dTcEK8kEdqRKeAGm8hhTw __ddNTa8kEdqRKeAGm8hhTw __ddNea8kEdqRKeAGm8hhTw __ddNOa8kEdqRKeAGm8hhTw __ddNc68kEdqRKeAGm8hhTw __ddNVa8kEdqRKeAGm8hhTw __dTcxK8kEdqRKeAGm8hhTw __dTcnK8kEdqRKeAGm8hhTw __dTcXq8kEdqRKeAGm8hhTw __ddNZa8kEdqRKeAGm8hhTw __ddNPq8kEdqRKeAGm8hhTw __ddNXK8kEdqRKeAGm8hhTw __ddNga8kEdqRKeAGm8hhTw __ddNB68kEdqRKeAGm8hhTw __dTcWq8kEdqRKeAGm8hhTw __ddNd68kEdqRKeAGm8hhTw __ddNC68kEdqRKeAGm8hhTw __dTcaq8kEdqRKeAGm8hhTw __dTcsK8kEdqRKeAGm8hhTw __ddNbK8kEdqRKeAGm8hhTw _Y_jskGvtEdqG6fBIPwe-mw __ddNVq8kEdqRKeAGm8hhTw __dTckK8kEdqRKeAGm8hhTw __ddNcq8kEdqRKeAGm8hhTw __dJrea8kEdqRKeAGm8hhTw __ddNlK8kEdqRKeAGm8hhTw __dTccK8kEdqRKeAGm8hhTw __dTcAK8kEdqRKeAGm8hhTw __dTcc68kEdqRKeAGm8hhTw __ddNFa8kEdqRKeAGm8hhTw __ddNSK8kEdqRKeAGm8hhTw __ddNPK8kEdqRKeAGm8hhTw __ddNeq8kEdqRKeAGm8hhTw __dTclK8kEdqRKeAGm8hhTw __dTcuq8kEdqRKeAGm8hhTw __ddNIq8kEdqRKeAGm8hhTw __dTcT68kEdqRKeAGm8hhTw __ddNAK8kEdqRKeAGm8hhTw __dTcFK8kEdqRKeAGm8hhTw __dTcLa8kEdqRKeAGm8hhTw __dTcyq8kEdqRKeAGm8hhTw __ddNW68kEdqRKeAGm8hhTw __ddNQ68kEdqRKeAGm8hhTw __ddNZK8kEdqRKeAGm8hhTw __ddNkq8kEdqRKeAGm8hhTw __dTcI68kEdqRKeAGm8hhTw __dJrc68kEdqRKeAGm8hhTw __ddNgq8kEdqRKeAGm8hhTw __ddNNK8kEdqRKeAGm8hhTw __ddNjq8kEdqRKeAGm8hhTw __dJrY68kEdqRKeAGm8hhTw __ddNS68kEdqRKeAGm8hhTw __ddNfa8kEdqRKeAGm8hhTw __dTcia8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__tsocq8kEdqRKeAGm8hhTw" source="UML::CommonBehaviors::SimpleTime" references="__fZG9a8kEdqRKeAGm8hhTw __gbosa8kEdqRKeAGm8hhTw __glZiK8kEdqRKeAGm8hhTw __glZkq8kEdqRKeAGm8hhTw __fZG4a8kEdqRKeAGm8hhTw __gborq8kEdqRKeAGm8hhTw __glZgK8kEdqRKeAGm8hhTw __gbomq8kEdqRKeAGm8hhTw __gboh68kEdqRKeAGm8hhTw __glZlq8kEdqRKeAGm8hhTw __gbokK8kEdqRKeAGm8hhTw _DylKEH4YEdq7cMP_l1l5Gg __fZHDa8kEdqRKeAGm8hhTw __fZG6q8kEdqRKeAGm8hhTw __fZG168kEdqRKeAGm8hhTw __gbor68kEdqRKeAGm8hhTw __gbotK8kEdqRKeAGm8hhTw __glZl68kEdqRKeAGm8hhTw __glZha8kEdqRKeAGm8hhTw __gborK8kEdqRKeAGm8hhTw __fZG-q8kEdqRKeAGm8hhTw __glZja8kEdqRKeAGm8hhTw __glZjq8kEdqRKeAGm8hhTw __fZG3a8kEdqRKeAGm8hhTw __glZka8kEdqRKeAGm8hhTw __glZh68kEdqRKeAGm8hhTw __gbok68kEdqRKeAGm8hhTw __fZHAa8kEdqRKeAGm8hhTw __glZkK8kEdqRKeAGm8hhTw __gbona8kEdqRKeAGm8hhTw __fZG068kEdqRKeAGm8hhTw _-Ixo8H4XEdq7cMP_l1l5Gg __gbota8kEdqRKeAGm8hhTw __glZjK8kEdqRKeAGm8hhTw __fZHFa8kEdqRKeAGm8hhTw __gbolq8kEdqRKeAGm8hhTw __glZhq8kEdqRKeAGm8hhTw __glZk68kEdqRKeAGm8hhTw __fZG768kEdqRKeAGm8hhTw __dwIV68kEdqRKeAGm8hhTw __glZj68kEdqRKeAGm8hhTw __fZG7K8kEdqRKeAGm8hhTw __dwIXa8kEdqRKeAGm8hhTw __glZmK8kEdqRKeAGm8hhTw __glZiq8kEdqRKeAGm8hhTw __fZG6K8kEdqRKeAGm8hhTw __d55Ha8kEdqRKeAGm8hhTw __glZia8kEdqRKeAGm8hhTw __glZla8kEdqRKeAGm8hhTw __gbop68kEdqRKeAGm8hhTw __fZG_68kEdqRKeAGm8hhTw __gboo68kEdqRKeAGm8hhTw __fZHEq8kEdqRKeAGm8hhTw __fZHB68kEdqRKeAGm8hhTw __d55H68kEdqRKeAGm8hhTw __gbosq8kEdqRKeAGm8hhTw __glZg68kEdqRKeAGm8hhTw __gbot68kEdqRKeAGm8hhTw __fZG_a8kEdqRKeAGm8hhTw __gbogK8kEdqRKeAGm8hhTw __glZlK8kEdqRKeAGm8hhTw __gbog68kEdqRKeAGm8hhTw __fZG5a8kEdqRKeAGm8hhTw __glZgq8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__tsoc68kEdqRKeAGm8hhTw" source="InfrastructureLibrary::Core::Constructs" references="__Zkyr68kEdqRKeAGm8hhTw __Y1L1K8kEdqRKeAGm8hhTw __YFlG68kEdqRKeAGm8hhTw __X8bBq8kEdqRKeAGm8hhTw __Zkynq8kEdqRKeAGm8hhTw __ZkysK8kEdqRKeAGm8hhTw __YiQ7a8kEdqRKeAGm8hhTw __ZIuCq8kEdqRKeAGm8hhTw _ynRtoGvtEdqG6fBIPwe-mw _00owUGvdEdq4DLWZOhbdEA __YYfya8kEdqRKeAGm8hhTw __Y1L_K8kEdqRKeAGm8hhTw __ZR3uK8kEdqRKeAGm8hhTw __YPWJ68kEdqRKeAGm8hhTw __YPV0K8kEdqRKeAGm8hhTw __Zkyya8kEdqRKeAGm8hhTw __Zkyu68kEdqRKeAGm8hhTw __YPV668kEdqRKeAGm8hhTw __YPWE68kEdqRKeAGm8hhTw __Zky3K8kEdqRKeAGm8hhTw _JBgfoKPAEdqi_5gqUMOQtA __ZR3rK8kEdqRKeAGm8hhTw __YsBza8kEdqRKeAGm8hhTw __Zkypa8kEdqRKeAGm8hhTw __ZR36q8kEdqRKeAGm8hhTw __YYf-a8kEdqRKeAGm8hhTw __YPWHa8kEdqRKeAGm8hhTw _OQcbgGwOEdq7X4sGURiZYA __ZR3pa8kEdqRKeAGm8hhTw __YPV_a8kEdqRKeAGm8hhTw __YsB9a8kEdqRKeAGm8hhTw __YFlNK8kEdqRKeAGm8hhTw __ZIuM68kEdqRKeAGm8hhTw __Y1MCK8kEdqRKeAGm8hhTw __YsBwK8kEdqRKeAGm8hhTw _-cvRAGvzEdq7X4sGURiZYA __ZR33a8kEdqRKeAGm8hhTw __YFk1q8kEdqRKeAGm8hhTw __YFlAa8kEdqRKeAGm8hhTw __ZR3ta8kEdqRKeAGm8hhTw __Y1MD68kEdqRKeAGm8hhTw __Zky4q8kEdqRKeAGm8hhTw __Zbot68kEdqRKeAGm8hhTw __YiRMK8kEdqRKeAGm8hhTw __YFk9a8kEdqRKeAGm8hhTw __Zboua8kEdqRKeAGm8hhTw __YiRRK8kEdqRKeAGm8hhTw __Zkypq8kEdqRKeAGm8hhTw __YPV968kEdqRKeAGm8hhTw __ZItwq8kEdqRKeAGm8hhTw __YiREq8kEdqRKeAGm8hhTw __ZIt6q8kEdqRKeAGm8hhTw __ZIuOq8kEdqRKeAGm8hhTw __Zkyqa8kEdqRKeAGm8hhTw __YPV368kEdqRKeAGm8hhTw __Zkysa8kEdqRKeAGm8hhTw __YiRHq8kEdqRKeAGm8hhTw __Xyp9K8kEdqRKeAGm8hhTw __Zbosq8kEdqRKeAGm8hhTw __ZR34q8kEdqRKeAGm8hhTw __Xyp7q8kEdqRKeAGm8hhTw __YiQ8a8kEdqRKeAGm8hhTw __Y1Lzq8kEdqRKeAGm8hhTw __ZR3_a8kEdqRKeAGm8hhTw __ZIttq8kEdqRKeAGm8hhTw __Y-85K8kEdqRKeAGm8hhTw __YYgDa8kEdqRKeAGm8hhTw __Zkyk68kEdqRKeAGm8hhTw __Y1L2K8kEdqRKeAGm8hhTw __ZIt568kEdqRKeAGm8hhTw __YPWC68kEdqRKeAGm8hhTw __ZR3-a8kEdqRKeAGm8hhTw _SnNPIGwIEdq7X4sGURiZYA __YFk768kEdqRKeAGm8hhTw __Zky0q8kEdqRKeAGm8hhTw __Y1L4q8kEdqRKeAGm8hhTw __ZIuBK8kEdqRKeAGm8hhTw __Y1L8q8kEdqRKeAGm8hhTw __YiQ2K8kEdqRKeAGm8hhTw __Zky168kEdqRKeAGm8hhTw __Y-8568kEdqRKeAGm8hhTw __Zkyua8kEdqRKeAGm8hhTw __YsB5a8kEdqRKeAGm8hhTw __ZR39q8kEdqRKeAGm8hhTw __YsCEq8kEdqRKeAGm8hhTw __ZItsK8kEdqRKeAGm8hhTw __YsCJq8kEdqRKeAGm8hhTw __Y-8968kEdqRKeAGm8hhTw __Zbora8kEdqRKeAGm8hhTw _DH62EKPAEdqi_5gqUMOQtA _Gjgl0GveEdq4DLWZOhbdEA __Zky2q8kEdqRKeAGm8hhTw __ZR3368kEdqRKeAGm8hhTw __ZborK8kEdqRKeAGm8hhTw _RPl78GwIEdq7X4sGURiZYA __YiRPq8kEdqRKeAGm8hhTw __YYfz68kEdqRKeAGm8hhTw __ZujkK8kEdqRKeAGm8hhTw __Zkyy68kEdqRKeAGm8hhTw _rHT3YKOsEdqi_5gqUMOQtA __Y1L6K8kEdqRKeAGm8hhTw __Y1MFq8kEdqRKeAGm8hhTw __ZbooK8kEdqRKeAGm8hhTw __ZkyuK8kEdqRKeAGm8hhTw __Y-8wq8kEdqRKeAGm8hhTw __Zbor68kEdqRKeAGm8hhTw __YiQzq8kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw __Zkyrq8kEdqRKeAGm8hhTw __ZbotK8kEdqRKeAGm8hhTw __Zkyxa8kEdqRKeAGm8hhTw __X8a5q8kEdqRKeAGm8hhTw __Zkyt68kEdqRKeAGm8hhTw __Zkyoq8kEdqRKeAGm8hhTw __Y1Luq8kEdqRKeAGm8hhTw __YFlLK8kEdqRKeAGm8hhTw __ZR3vq8kEdqRKeAGm8hhTw __Zky5K8kEdqRKeAGm8hhTw _kl90MGvbEdq4DLWZOhbdEA __YiRKq8kEdqRKeAGm8hhTw __Zky3a8kEdqRKeAGm8hhTw _ZiwkoGwLEdq7X4sGURiZYA __YYf6a8kEdqRKeAGm8hhTw __ZIuLa8kEdqRKeAGm8hhTw __ZkyoK8kEdqRKeAGm8hhTw __Zkym68kEdqRKeAGm8hhTw __Y1MAa8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw __YYf_q8kEdqRKeAGm8hhTw __ZItzq8kEdqRKeAGm8hhTw __YFlIK8kEdqRKeAGm8hhTw __ZR3_K8kEdqRKeAGm8hhTw __ZIt_a8kEdqRKeAGm8hhTw __ZkypK8kEdqRKeAGm8hhTw __YsB7a8kEdqRKeAGm8hhTw __Zkyxq8kEdqRKeAGm8hhTw __ZkykK8kEdqRKeAGm8hhTw __Y-8ua8kEdqRKeAGm8hhTw __Zkykq8kEdqRKeAGm8hhTw __ZIuIa8kEdqRKeAGm8hhTw _M4X2IGveEdq4DLWZOhbdEA __Zkyza8kEdqRKeAGm8hhTw __YsCCK8kEdqRKeAGm8hhTw _Jp_1oGveEdq4DLWZOhbdEA __X8a7a8kEdqRKeAGm8hhTw __Y-8y68kEdqRKeAGm8hhTw _AwvxoGwNEdq7X4sGURiZYA __ZIt2q8kEdqRKeAGm8hhTw _6UV2QGwJEdq7X4sGURiZYA __ZR3za8kEdqRKeAGm8hhTw __Zkyvq8kEdqRKeAGm8hhTw __Y1LsK8kEdqRKeAGm8hhTw __YsBxa8kEdqRKeAGm8hhTw __Zkyuq8kEdqRKeAGm8hhTw _AyM_oGwMEdq7X4sGURiZYA __Zkyva8kEdqRKeAGm8hhTw __YFlGK8kEdqRKeAGm8hhTw __Zkyq68kEdqRKeAGm8hhTw __ZkyrK8kEdqRKeAGm8hhTw __YYf468kEdqRKeAGm8hhTw __1ap4HLzEdqziYxiZo0YtA __Zkys68kEdqRKeAGm8hhTw __YFlFa8kEdqRKeAGm8hhTw __YiRFa8kEdqRKeAGm8hhTw __X8bDa8kEdqRKeAGm8hhTw __YiQxa8kEdqRKeAGm8hhTw __ZR38q8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __YiQ3q8kEdqRKeAGm8hhTw __YiQ4a8kEdqRKeAGm8hhTw __YYf268kEdqRKeAGm8hhTw __Y1L3K8kEdqRKeAGm8hhTw __YYf8a8kEdqRKeAGm8hhTw __Y1Lwa8kEdqRKeAGm8hhTw __YFk_K8kEdqRKeAGm8hhTw __YiQyK8kEdqRKeAGm8hhTw __YiRIa8kEdqRKeAGm8hhTw __ZItyK8kEdqRKeAGm8hhTw __YsB2a8kEdqRKeAGm8hhTw __Zboo68kEdqRKeAGm8hhTw __Zkyyq8kEdqRKeAGm8hhTw __ZR3-q8kEdqRKeAGm8hhTw __ZR3oK8kEdqRKeAGm8hhTw __Zkytq8kEdqRKeAGm8hhTw _jKxnwGwLEdq7X4sGURiZYA __ZIt068kEdqRKeAGm8hhTw __Y-88a8kEdqRKeAGm8hhTw __Zbop68kEdqRKeAGm8hhTw __Zboqq8kEdqRKeAGm8hhTw __X8bH68kEdqRKeAGm8hhTw __Y-81a8kEdqRKeAGm8hhTw __X8bF68kEdqRKeAGm8hhTw __YiRV68kEdqRKeAGm8hhTw __Zky368kEdqRKeAGm8hhTw __YYf9a8kEdqRKeAGm8hhTw __YsCGK8kEdqRKeAGm8hhTw __X8a_a8kEdqRKeAGm8hhTw __Zbos68kEdqRKeAGm8hhTw __YiRSK8kEdqRKeAGm8hhTw __Xyp6K8kEdqRKeAGm8hhTw __Zkyma8kEdqRKeAGm8hhTw __Y1Lta8kEdqRKeAGm8hhTw __Y-80a8kEdqRKeAGm8hhTw __Zky0K8kEdqRKeAGm8hhTw __ZR3wq8kEdqRKeAGm8hhTw __Y-8v68kEdqRKeAGm8hhTw __YiRG68kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw __YYf7q8kEdqRKeAGm8hhTw __ZIt7q8kEdqRKeAGm8hhTw __Xyp-K8kEdqRKeAGm8hhTw __Zky1a8kEdqRKeAGm8hhTw _ChRfcGveEdq4DLWZOhbdEA __ZR39a8kEdqRKeAGm8hhTw __Zbotq8kEdqRKeAGm8hhTw __YYgEq8kEdqRKeAGm8hhTw __ZR38K8kEdqRKeAGm8hhTw __YiRT68kEdqRKeAGm8hhTw __YFlJa8kEdqRKeAGm8hhTw __Zboqa8kEdqRKeAGm8hhTw __YFk0K8kEdqRKeAGm8hhTw __YiRJK8kEdqRKeAGm8hhTw __YiROK8kEdqRKeAGm8hhTw __Zkywa8kEdqRKeAGm8hhTw __YPWAq8kEdqRKeAGm8hhTw __Zkylq8kEdqRKeAGm8hhTw __YiQ568kEdqRKeAGm8hhTw __ZR3r68kEdqRKeAGm8hhTw __YYgA68kEdqRKeAGm8hhTw __ZkyxK8kEdqRKeAGm8hhTw __Y-87a8kEdqRKeAGm8hhTw __YFk468kEdqRKeAGm8hhTw __YYfwK8kEdqRKeAGm8hhTw __YsCAq8kEdqRKeAGm8hhTw __ZIuG68kEdqRKeAGm8hhTw __Zky068kEdqRKeAGm8hhTw __Y1L7a8kEdqRKeAGm8hhTw __ZR33q8kEdqRKeAGm8hhTw __YPV1a8kEdqRKeAGm8hhTw __ZkytK8kEdqRKeAGm8hhTw __Y1L968kEdqRKeAGm8hhTw __YYf1a8kEdqRKeAGm8hhTw _I6N3UGwGEdq7X4sGURiZYA __ZItvK8kEdqRKeAGm8hhTw __Y-8sK8kEdqRKeAGm8hhTw __YPV5a8kEdqRKeAGm8hhTw __ZIt9K8kEdqRKeAGm8hhTw __YiRNK8kEdqRKeAGm8hhTw _csVgUGvtEdqG6fBIPwe-mw __ZR39K8kEdqRKeAGm8hhTw __ZR37a8kEdqRKeAGm8hhTw __YsB068kEdqRKeAGm8hhTw __ZIt968kEdqRKeAGm8hhTw __YYgCK8kEdqRKeAGm8hhTw __X8bKa8kEdqRKeAGm8hhTw __Zky568kEdqRKeAGm8hhTw __X8a4K8kEdqRKeAGm8hhTw _KyaPMGveEdq4DLWZOhbdEA _V6vuYGwGEdq7X4sGURiZYA __X8a9q8kEdqRKeAGm8hhTw __Zkyra8kEdqRKeAGm8hhTw __Zkyv68kEdqRKeAGm8hhTw __YiQ1K8kEdqRKeAGm8hhTw __Zky6a8kEdqRKeAGm8hhTw __Y1LyK8kEdqRKeAGm8hhTw __YsB_q8kEdqRKeAGm8hhTw __ZR3868kEdqRKeAGm8hhTw __ZR3968kEdqRKeAGm8hhTw __ZR35q8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__tsodK8kEdqRKeAGm8hhTw" source="UML::Classes::Kernel" references="__Zkyr68kEdqRKeAGm8hhTw __Y1L1K8kEdqRKeAGm8hhTw __YFlG68kEdqRKeAGm8hhTw __X8bBq8kEdqRKeAGm8hhTw __Zkynq8kEdqRKeAGm8hhTw __ZkysK8kEdqRKeAGm8hhTw __YiQ7a8kEdqRKeAGm8hhTw __ZIuCq8kEdqRKeAGm8hhTw _FFMNsGveEdq4DLWZOhbdEA _ynRtoGvtEdqG6fBIPwe-mw _00owUGvdEdq4DLWZOhbdEA __aBerq8kEdqRKeAGm8hhTw __a62gq8kEdqRKeAGm8hhTw __YYfya8kEdqRKeAGm8hhTw __Y1L_K8kEdqRKeAGm8hhTw __ZR3uK8kEdqRKeAGm8hhTw __YPWJ68kEdqRKeAGm8hhTw __YPV0K8kEdqRKeAGm8hhTw __Zkyya8kEdqRKeAGm8hhTw __Zkyu68kEdqRKeAGm8hhTw __YPV668kEdqRKeAGm8hhTw __YPWE68kEdqRKeAGm8hhTw __bNxV68kEdqRKeAGm8hhTw __Zky3K8kEdqRKeAGm8hhTw _JBgfoKPAEdqi_5gqUMOQtA __ZR3rK8kEdqRKeAGm8hhTw __YsBza8kEdqRKeAGm8hhTw __Zkypa8kEdqRKeAGm8hhTw __ZR36q8kEdqRKeAGm8hhTw _PyCx8GveEdq4DLWZOhbdEA __YYf-a8kEdqRKeAGm8hhTw __YPWHa8kEdqRKeAGm8hhTw _OQcbgGwOEdq7X4sGURiZYA __YPV_a8kEdqRKeAGm8hhTw __YsB9a8kEdqRKeAGm8hhTw __YFlNK8kEdqRKeAGm8hhTw __ZIuM68kEdqRKeAGm8hhTw __Y1MCK8kEdqRKeAGm8hhTw __YsBwK8kEdqRKeAGm8hhTw _-cvRAGvzEdq7X4sGURiZYA __ZR33a8kEdqRKeAGm8hhTw __YFk1q8kEdqRKeAGm8hhTw __YFlAa8kEdqRKeAGm8hhTw __ZR3ta8kEdqRKeAGm8hhTw __Y1MD68kEdqRKeAGm8hhTw __Zky4q8kEdqRKeAGm8hhTw __Zbot68kEdqRKeAGm8hhTw __YiRMK8kEdqRKeAGm8hhTw __YFk9a8kEdqRKeAGm8hhTw __a62la8kEdqRKeAGm8hhTw __Zboua8kEdqRKeAGm8hhTw __aBe068kEdqRKeAGm8hhTw __YiRRK8kEdqRKeAGm8hhTw __bNxda8kEdqRKeAGm8hhTw __Zkypq8kEdqRKeAGm8hhTw __YPV968kEdqRKeAGm8hhTw __ZItwq8kEdqRKeAGm8hhTw __YiREq8kEdqRKeAGm8hhTw __ZIt6q8kEdqRKeAGm8hhTw __ZIuOq8kEdqRKeAGm8hhTw __Zkyqa8kEdqRKeAGm8hhTw __YPV368kEdqRKeAGm8hhTw __Zkysa8kEdqRKeAGm8hhTw __YiRHq8kEdqRKeAGm8hhTw __Xyp9K8kEdqRKeAGm8hhTw __Zbosq8kEdqRKeAGm8hhTw __aBenK8kEdqRKeAGm8hhTw __ZR34q8kEdqRKeAGm8hhTw __Xyp7q8kEdqRKeAGm8hhTw __aBeqa8kEdqRKeAGm8hhTw __a62fK8kEdqRKeAGm8hhTw __YiQ8a8kEdqRKeAGm8hhTw __Y1Lzq8kEdqRKeAGm8hhTw __ZR3_a8kEdqRKeAGm8hhTw __ZIttq8kEdqRKeAGm8hhTw __Y-85K8kEdqRKeAGm8hhTw __YYgDa8kEdqRKeAGm8hhTw __axFaq8kEdqRKeAGm8hhTw __Zkyk68kEdqRKeAGm8hhTw __Y1L2K8kEdqRKeAGm8hhTw __ZIt568kEdqRKeAGm8hhTw __YPWC68kEdqRKeAGm8hhTw __ZR3-a8kEdqRKeAGm8hhTw _SnNPIGwIEdq7X4sGURiZYA __YFk768kEdqRKeAGm8hhTw __b9YRq8kEdqRKeAGm8hhTw __Zky0q8kEdqRKeAGm8hhTw __aBet68kEdqRKeAGm8hhTw __Y1L4q8kEdqRKeAGm8hhTw __ZIuBK8kEdqRKeAGm8hhTw __Y1L8q8kEdqRKeAGm8hhTw __aBe0K8kEdqRKeAGm8hhTw __YiQ2K8kEdqRKeAGm8hhTw __Zky168kEdqRKeAGm8hhTw __a62i68kEdqRKeAGm8hhTw __Y-8568kEdqRKeAGm8hhTw __b9YMK8kEdqRKeAGm8hhTw __bqdgK8kEdqRKeAGm8hhTw __Zkyua8kEdqRKeAGm8hhTw __YsB5a8kEdqRKeAGm8hhTw __ZR39q8kEdqRKeAGm8hhTw __YsCEq8kEdqRKeAGm8hhTw __ZItsK8kEdqRKeAGm8hhTw __YsCJq8kEdqRKeAGm8hhTw __Y-8968kEdqRKeAGm8hhTw __a62eK8kEdqRKeAGm8hhTw __Zbora8kEdqRKeAGm8hhTw _DH62EKPAEdqi_5gqUMOQtA _Gjgl0GveEdq4DLWZOhbdEA __Zky2q8kEdqRKeAGm8hhTw __an7f68kEdqRKeAGm8hhTw __ZR3368kEdqRKeAGm8hhTw __b9YNa8kEdqRKeAGm8hhTw __ZborK8kEdqRKeAGm8hhTw _RPl78GwIEdq7X4sGURiZYA __YiRPq8kEdqRKeAGm8hhTw __YYfz68kEdqRKeAGm8hhTw __b0OQK8kEdqRKeAGm8hhTw __ZujkK8kEdqRKeAGm8hhTw __Zkyy68kEdqRKeAGm8hhTw _rHT3YKOsEdqi_5gqUMOQtA __b9YPK8kEdqRKeAGm8hhTw __Y1L6K8kEdqRKeAGm8hhTw __bqddq8kEdqRKeAGm8hhTw _Q-yR4GveEdq4DLWZOhbdEA __Y1MFq8kEdqRKeAGm8hhTw _B3q9cGwNEdq7X4sGURiZYA __aBevK8kEdqRKeAGm8hhTw __ZbooK8kEdqRKeAGm8hhTw __Z4UoK8kEdqRKeAGm8hhTw __ZkyuK8kEdqRKeAGm8hhTw __Y-8wq8kEdqRKeAGm8hhTw __Zbor68kEdqRKeAGm8hhTw __YiQzq8kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw _Dy77oGveEdq4DLWZOhbdEA __Zkyrq8kEdqRKeAGm8hhTw __ZbotK8kEdqRKeAGm8hhTw __bqdYq8kEdqRKeAGm8hhTw __Zkyxa8kEdqRKeAGm8hhTw __X8a5q8kEdqRKeAGm8hhTw __Zkyt68kEdqRKeAGm8hhTw __a62iK8kEdqRKeAGm8hhTw __Zkyoq8kEdqRKeAGm8hhTw __Y1Luq8kEdqRKeAGm8hhTw __YFlLK8kEdqRKeAGm8hhTw __ZR3vq8kEdqRKeAGm8hhTw __Zky5K8kEdqRKeAGm8hhTw _kl90MGvbEdq4DLWZOhbdEA __aBe2K8kEdqRKeAGm8hhTw __YiRKq8kEdqRKeAGm8hhTw __b9YSq8kEdqRKeAGm8hhTw __Zky3a8kEdqRKeAGm8hhTw _ZiwkoGwLEdq7X4sGURiZYA __YYf6a8kEdqRKeAGm8hhTw __ZIuLa8kEdqRKeAGm8hhTw __ZkyoK8kEdqRKeAGm8hhTw __Zkym68kEdqRKeAGm8hhTw __Y1MAa8kEdqRKeAGm8hhTw __a62ka8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw __YYf_q8kEdqRKeAGm8hhTw __aLPn68kEdqRKeAGm8hhTw __ZItzq8kEdqRKeAGm8hhTw __YFlIK8kEdqRKeAGm8hhTw __ZR3_K8kEdqRKeAGm8hhTw __ZIt_a8kEdqRKeAGm8hhTw __aLPpa8kEdqRKeAGm8hhTw __ZkypK8kEdqRKeAGm8hhTw __YsB7a8kEdqRKeAGm8hhTw __Zkyxq8kEdqRKeAGm8hhTw __ZkykK8kEdqRKeAGm8hhTw __Y-8ua8kEdqRKeAGm8hhTw __Zkykq8kEdqRKeAGm8hhTw __ZIuIa8kEdqRKeAGm8hhTw __aVAia8kEdqRKeAGm8hhTw _M4X2IGveEdq4DLWZOhbdEA __Zkyza8kEdqRKeAGm8hhTw __b9YTa8kEdqRKeAGm8hhTw __YsCCK8kEdqRKeAGm8hhTw _Jp_1oGveEdq4DLWZOhbdEA __a62bK8kEdqRKeAGm8hhTw __X8a7a8kEdqRKeAGm8hhTw __Y-8y68kEdqRKeAGm8hhTw _AwvxoGwNEdq7X4sGURiZYA __ZIt2q8kEdqRKeAGm8hhTw _6UV2QGwJEdq7X4sGURiZYA __ZR3za8kEdqRKeAGm8hhTw __Zkyvq8kEdqRKeAGm8hhTw __Y1LsK8kEdqRKeAGm8hhTw __YsBxa8kEdqRKeAGm8hhTw __Zkyuq8kEdqRKeAGm8hhTw _AyM_oGwMEdq7X4sGURiZYA __Zkyva8kEdqRKeAGm8hhTw __YFlGK8kEdqRKeAGm8hhTw __Zkyq68kEdqRKeAGm8hhTw __ZkyrK8kEdqRKeAGm8hhTw __YYf468kEdqRKeAGm8hhTw __1ap4HLzEdqziYxiZo0YtA __Zkys68kEdqRKeAGm8hhTw __YFlFa8kEdqRKeAGm8hhTw __bhTX68kEdqRKeAGm8hhTw __aBexq8kEdqRKeAGm8hhTw __YiRFa8kEdqRKeAGm8hhTw __X8bDa8kEdqRKeAGm8hhTw __YiQxa8kEdqRKeAGm8hhTw __ZR38q8kEdqRKeAGm8hhTw __axFdq8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __YiQ3q8kEdqRKeAGm8hhTw __YiQ4a8kEdqRKeAGm8hhTw __YYf268kEdqRKeAGm8hhTw __aBey68kEdqRKeAGm8hhTw __aBeoa8kEdqRKeAGm8hhTw __Y1L3K8kEdqRKeAGm8hhTw __YYf8a8kEdqRKeAGm8hhTw __Y1Lwa8kEdqRKeAGm8hhTw __YFk_K8kEdqRKeAGm8hhTw __YiQyK8kEdqRKeAGm8hhTw __aLPsq8kEdqRKeAGm8hhTw __YiRIa8kEdqRKeAGm8hhTw __bqdea8kEdqRKeAGm8hhTw __ZItyK8kEdqRKeAGm8hhTw __Zboo68kEdqRKeAGm8hhTw __Zkyyq8kEdqRKeAGm8hhTw __ZR3-q8kEdqRKeAGm8hhTw __ZR3oK8kEdqRKeAGm8hhTw __Zkytq8kEdqRKeAGm8hhTw _jKxnwGwLEdq7X4sGURiZYA __ZIt068kEdqRKeAGm8hhTw __Y-88a8kEdqRKeAGm8hhTw __aLPq68kEdqRKeAGm8hhTw __Zbop68kEdqRKeAGm8hhTw _C7AF4GwREdq14q0ETb1t3g __an7iK8kEdqRKeAGm8hhTw __Zboqq8kEdqRKeAGm8hhTw __X8bH68kEdqRKeAGm8hhTw __Y-81a8kEdqRKeAGm8hhTw __X8bF68kEdqRKeAGm8hhTw __YiRV68kEdqRKeAGm8hhTw __Zky368kEdqRKeAGm8hhTw __YYf9a8kEdqRKeAGm8hhTw __bqdfq8kEdqRKeAGm8hhTw __a62b68kEdqRKeAGm8hhTw __YsCGK8kEdqRKeAGm8hhTw __bNxZ68kEdqRKeAGm8hhTw __X8a_a8kEdqRKeAGm8hhTw __Zbos68kEdqRKeAGm8hhTw __YiRSK8kEdqRKeAGm8hhTw __Xyp6K8kEdqRKeAGm8hhTw __Zkyma8kEdqRKeAGm8hhTw __Y1Lta8kEdqRKeAGm8hhTw __b0OQa8kEdqRKeAGm8hhTw __b9YP68kEdqRKeAGm8hhTw __Y-80a8kEdqRKeAGm8hhTw __b9YN68kEdqRKeAGm8hhTw __Zky0K8kEdqRKeAGm8hhTw __ZR3wq8kEdqRKeAGm8hhTw __b9YUq8kEdqRKeAGm8hhTw __Y-8v68kEdqRKeAGm8hhTw __axFcK8kEdqRKeAGm8hhTw __YiRG68kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw __YYf7q8kEdqRKeAGm8hhTw __b0ORK8kEdqRKeAGm8hhTw __ZIt7q8kEdqRKeAGm8hhTw __Xyp-K8kEdqRKeAGm8hhTw __b9YS68kEdqRKeAGm8hhTw __bqdSq8kEdqRKeAGm8hhTw __Zky1a8kEdqRKeAGm8hhTw __aVAhq8kEdqRKeAGm8hhTw __b9YOq8kEdqRKeAGm8hhTw __aBela8kEdqRKeAGm8hhTw _ChRfcGveEdq4DLWZOhbdEA __ZR39a8kEdqRKeAGm8hhTw __Zbotq8kEdqRKeAGm8hhTw __YYgEq8kEdqRKeAGm8hhTw __ZR38K8kEdqRKeAGm8hhTw __YiRT68kEdqRKeAGm8hhTw __YFlJa8kEdqRKeAGm8hhTw __aVAlq8kEdqRKeAGm8hhTw __bEnc68kEdqRKeAGm8hhTw __Zboqa8kEdqRKeAGm8hhTw __b9YUK8kEdqRKeAGm8hhTw __YFk0K8kEdqRKeAGm8hhTw __aBegK8kEdqRKeAGm8hhTw __YiRJK8kEdqRKeAGm8hhTw __YiROK8kEdqRKeAGm8hhTw __aBesa8kEdqRKeAGm8hhTw __Zkywa8kEdqRKeAGm8hhTw __YPWAq8kEdqRKeAGm8hhTw __Zkylq8kEdqRKeAGm8hhTw __bqdWK8kEdqRKeAGm8hhTw __YiQ568kEdqRKeAGm8hhTw __ZR3r68kEdqRKeAGm8hhTw __bqde68kEdqRKeAGm8hhTw __YYgA68kEdqRKeAGm8hhTw __ZkyxK8kEdqRKeAGm8hhTw __b9YSa8kEdqRKeAGm8hhTw __b0OR68kEdqRKeAGm8hhTw __Y-87a8kEdqRKeAGm8hhTw __YFk468kEdqRKeAGm8hhTw __b9YRK8kEdqRKeAGm8hhTw __YYfwK8kEdqRKeAGm8hhTw __YsCAq8kEdqRKeAGm8hhTw __ZIuG68kEdqRKeAGm8hhTw __b9YQa8kEdqRKeAGm8hhTw __Zky068kEdqRKeAGm8hhTw __Y1L7a8kEdqRKeAGm8hhTw __ZR33q8kEdqRKeAGm8hhTw __bqdUK8kEdqRKeAGm8hhTw __YPV1a8kEdqRKeAGm8hhTw __aBepK8kEdqRKeAGm8hhTw __ZkytK8kEdqRKeAGm8hhTw __Y1L968kEdqRKeAGm8hhTw __YYf1a8kEdqRKeAGm8hhTw _I6N3UGwGEdq7X4sGURiZYA __ZItvK8kEdqRKeAGm8hhTw __Y-8sK8kEdqRKeAGm8hhTw __YPV5a8kEdqRKeAGm8hhTw __ZIt9K8kEdqRKeAGm8hhTw __a62Yq8kEdqRKeAGm8hhTw __YiRNK8kEdqRKeAGm8hhTw __aBeja8kEdqRKeAGm8hhTw _csVgUGvtEdqG6fBIPwe-mw __ZR39K8kEdqRKeAGm8hhTw __aBew68kEdqRKeAGm8hhTw __ZR37a8kEdqRKeAGm8hhTw __YsB068kEdqRKeAGm8hhTw __aBeiK8kEdqRKeAGm8hhTw __ZIt968kEdqRKeAGm8hhTw __YYgCK8kEdqRKeAGm8hhTw __X8bKa8kEdqRKeAGm8hhTw __Zky568kEdqRKeAGm8hhTw __b9YMq8kEdqRKeAGm8hhTw __X8a4K8kEdqRKeAGm8hhTw _KyaPMGveEdq4DLWZOhbdEA _V6vuYGwGEdq7X4sGURiZYA __X8a9q8kEdqRKeAGm8hhTw __bqdU68kEdqRKeAGm8hhTw __Zkyra8kEdqRKeAGm8hhTw __Zkyv68kEdqRKeAGm8hhTw __YiQ1K8kEdqRKeAGm8hhTw __Zky6a8kEdqRKeAGm8hhTw __Y1LyK8kEdqRKeAGm8hhTw __bqdf68kEdqRKeAGm8hhTw __YsB_q8kEdqRKeAGm8hhTw __ZR3868kEdqRKeAGm8hhTw __ZR3968kEdqRKeAGm8hhTw __ZR35q8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__tsoda8kEdqRKeAGm8hhTw" source="UML::StateMachines::BehaviorStateMachines" references="__g4Ukq8kEdqRKeAGm8hhTw __hLPZq8kEdqRKeAGm8hhTw __gukLq8kEdqRKeAGm8hhTw __g4UpK8kEdqRKeAGm8hhTw __g4Uy68kEdqRKeAGm8hhTw __hLPfq8kEdqRKeAGm8hhTw __gujyK8kEdqRKeAGm8hhTw __hLPtq8kEdqRKeAGm8hhTw __hLPl68kEdqRKeAGm8hhTw __hCFyK8kEdqRKeAGm8hhTw __gujw68kEdqRKeAGm8hhTw __guj5a8kEdqRKeAGm8hhTw __hLPYa8kEdqRKeAGm8hhTw __guj0q8kEdqRKeAGm8hhTw __hLPcq8kEdqRKeAGm8hhTw __hLPs68kEdqRKeAGm8hhTw __g4Uw68kEdqRKeAGm8hhTw __gujk68kEdqRKeAGm8hhTw __hLPiK8kEdqRKeAGm8hhTw __hLPta8kEdqRKeAGm8hhTw __gukD68kEdqRKeAGm8hhTw __hCF068kEdqRKeAGm8hhTw __hLPqa8kEdqRKeAGm8hhTw __g4VBa8kEdqRKeAGm8hhTw __hLPba8kEdqRKeAGm8hhTw __hLPYq8kEdqRKeAGm8hhTw __gujoq8kEdqRKeAGm8hhTw __hLPhq8kEdqRKeAGm8hhTw __g4Utq8kEdqRKeAGm8hhTw __hLPuq8kEdqRKeAGm8hhTw __hLPb68kEdqRKeAGm8hhTw __gujr68kEdqRKeAGm8hhTw __hCGDK8kEdqRKeAGm8hhTw __hLPsK8kEdqRKeAGm8hhTw __hCFnK8kEdqRKeAGm8hhTw __hLPla8kEdqRKeAGm8hhTw __hLPkq8kEdqRKeAGm8hhTw __guj4a8kEdqRKeAGm8hhTw __hLPeq8kEdqRKeAGm8hhTw __gukGq8kEdqRKeAGm8hhTw __hLPkK8kEdqRKeAGm8hhTw __guj168kEdqRKeAGm8hhTw __hLPg68kEdqRKeAGm8hhTw __g4U_K8kEdqRKeAGm8hhTw __hCGDq8kEdqRKeAGm8hhTw __g4Uia8kEdqRKeAGm8hhTw __g4U_68kEdqRKeAGm8hhTw __hLPoa8kEdqRKeAGm8hhTw __g4Uqq8kEdqRKeAGm8hhTw __hCFxK8kEdqRKeAGm8hhTw __guji68kEdqRKeAGm8hhTw __hCFsq8kEdqRKeAGm8hhTw __guj668kEdqRKeAGm8hhTw __hCF_q8kEdqRKeAGm8hhTw __gukH68kEdqRKeAGm8hhTw __g4Unq8kEdqRKeAGm8hhTw __hCF2a8kEdqRKeAGm8hhTw __hCFuK8kEdqRKeAGm8hhTw __g4UcK8kEdqRKeAGm8hhTw __hLPc68kEdqRKeAGm8hhTw __hCFzq8kEdqRKeAGm8hhTw __hLPja8kEdqRKeAGm8hhTw __g4U0a8kEdqRKeAGm8hhTw __g4U3q8kEdqRKeAGm8hhTw __hCFjq8kEdqRKeAGm8hhTw __gukOq8kEdqRKeAGm8hhTw __hLPn68kEdqRKeAGm8hhTw __gujza8kEdqRKeAGm8hhTw __hLPeK8kEdqRKeAGm8hhTw __g4UjK8kEdqRKeAGm8hhTw __guj8a8kEdqRKeAGm8hhTw __hCF368kEdqRKeAGm8hhTw __gukKa8kEdqRKeAGm8hhTw __gujha8kEdqRKeAGm8hhTw __hLPi68kEdqRKeAGm8hhTw __hCF6K8kEdqRKeAGm8hhTw __gukFa8kEdqRKeAGm8hhTw __hLPfK8kEdqRKeAGm8hhTw __gujj68kEdqRKeAGm8hhTw __hLPaq8kEdqRKeAGm8hhTw __hCFmK8kEdqRKeAGm8hhTw __hLPpK8kEdqRKeAGm8hhTw __hCFcK8kEdqRKeAGm8hhTw __hLPq68kEdqRKeAGm8hhTw __dwIV68kEdqRKeAGm8hhTw __hCFkq8kEdqRKeAGm8hhTw __hLPY68kEdqRKeAGm8hhTw __gujqK8kEdqRKeAGm8hhTw __hCGEK8kEdqRKeAGm8hhTw __hLPga8kEdqRKeAGm8hhTw __hCFrK8kEdqRKeAGm8hhTw __g4Ulq8kEdqRKeAGm8hhTw __hLPdq8kEdqRKeAGm8hhTw __gujm68kEdqRKeAGm8hhTw __guj_a8kEdqRKeAGm8hhTw __hLPrq8kEdqRKeAGm8hhTw __hLPmq8kEdqRKeAGm8hhTw __g4U2a8kEdqRKeAGm8hhTw __gukA68kEdqRKeAGm8hhTw __gukNK8kEdqRKeAGm8hhTw __hLPua8kEdqRKeAGm8hhTw __hLPpq8kEdqRKeAGm8hhTw __guj968kEdqRKeAGm8hhTw __hCFvq8kEdqRKeAGm8hhTw __gujcK8kEdqRKeAGm8hhTw __g4UsK8kEdqRKeAGm8hhTw __hLPnK8kEdqRKeAGm8hhTw __gukCa8kEdqRKeAGm8hhTw __g4UyK8kEdqRKeAGm8hhTw __g4Umq8kEdqRKeAGm8hhTw __hCFha8kEdqRKeAGm8hhTw __g4U1a8kEdqRKeAGm8hhTw __gujf68kEdqRKeAGm8hhTw __g4Uu68kEdqRKeAGm8hhTw __hLPaK8kEdqRKeAGm8hhTw __hLPYK8kEdqRKeAGm8hhTw __gukJK8kEdqRKeAGm8hhTw __guj268kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__tsodq8kEdqRKeAGm8hhTw" source="UML::Actions::CompleteActions" references="__h620K8kEdqRKeAGm8hhTw __h62z68kEdqRKeAGm8hhTw __h62f68kEdqRKeAGm8hhTw __h62XK8kEdqRKeAGm8hhTw __h62oa8kEdqRKeAGm8hhTw __iEneq8kEdqRKeAGm8hhTw __e8bDa8kEdqRKeAGm8hhTw __hxsoq8kEdqRKeAGm8hhTw __h62Uq8kEdqRKeAGm8hhTw __h62y68kEdqRKeAGm8hhTw __iEnlq8kEdqRKeAGm8hhTw __iEnYa8kEdqRKeAGm8hhTw __iEnVq8kEdqRKeAGm8hhTw __hxs6q8kEdqRKeAGm8hhTw __iEnaa8kEdqRKeAGm8hhTw __hxsgK8kEdqRKeAGm8hhTw __iEnjK8kEdqRKeAGm8hhTw __h626K8kEdqRKeAGm8hhTw __iEnia8kEdqRKeAGm8hhTw __hxsnK8kEdqRKeAGm8hhTw __iEndq8kEdqRKeAGm8hhTw __h62xq8kEdqRKeAGm8hhTw __iEnW68kEdqRKeAGm8hhTw __h62168kEdqRKeAGm8hhTw __h62t68kEdqRKeAGm8hhTw __h62ea8kEdqRKeAGm8hhTw __h62na8kEdqRKeAGm8hhTw __h621K8kEdqRKeAGm8hhTw __hxsva8kEdqRKeAGm8hhTw __hxssa8kEdqRKeAGm8hhTw __hxsdq8kEdqRKeAGm8hhTw __hxsY68kEdqRKeAGm8hhTw __iEnl68kEdqRKeAGm8hhTw __h62QK8kEdqRKeAGm8hhTw __iEnca8kEdqRKeAGm8hhTw __iEnfa8kEdqRKeAGm8hhTw __iEna68kEdqRKeAGm8hhTw __h62da8kEdqRKeAGm8hhTw __iEnea8kEdqRKeAGm8hhTw __h62u68kEdqRKeAGm8hhTw __iEnZq8kEdqRKeAGm8hhTw __hxtIa8kEdqRKeAGm8hhTw __iEnWK8kEdqRKeAGm8hhTw __hxs0q8kEdqRKeAGm8hhTw __iEnYK8kEdqRKeAGm8hhTw __iEnU68kEdqRKeAGm8hhTw __hxskq8kEdqRKeAGm8hhTw __hxsb68kEdqRKeAGm8hhTw __iEnk68kEdqRKeAGm8hhTw __iEnXa8kEdqRKeAGm8hhTw __hxsX68kEdqRKeAGm8hhTw __iEnSq8kEdqRKeAGm8hhTw __h62zK8kEdqRKeAGm8hhTw __h62ha8kEdqRKeAGm8hhTw __iEnSK8kEdqRKeAGm8hhTw __h624K8kEdqRKeAGm8hhTw __iEnla8kEdqRKeAGm8hhTw __iEnUa8kEdqRKeAGm8hhTw __h62468kEdqRKeAGm8hhTw __hxsUK8kEdqRKeAGm8hhTw __iEnbK8kEdqRKeAGm8hhTw __h62yK8kEdqRKeAGm8hhTw __hxtMa8kEdqRKeAGm8hhTw __iEnja8kEdqRKeAGm8hhTw __hxszK8kEdqRKeAGm8hhTw __h62T68kEdqRKeAGm8hhTw __hxtFa8kEdqRKeAGm8hhTw __h625a8kEdqRKeAGm8hhTw __iEnf68kEdqRKeAGm8hhTw __iEnRa8kEdqRKeAGm8hhTw __h62pa8kEdqRKeAGm8hhTw __iEnQa8kEdqRKeAGm8hhTw __iEngq8kEdqRKeAGm8hhTw __h62Vq8kEdqRKeAGm8hhTw __hxscq8kEdqRKeAGm8hhTw __iEnb68kEdqRKeAGm8hhTw __iEnbq8kEdqRKeAGm8hhTw __hxtG68kEdqRKeAGm8hhTw __hxs8K8kEdqRKeAGm8hhTw __h62w68kEdqRKeAGm8hhTw __h62068kEdqRKeAGm8hhTw __h622K8kEdqRKeAGm8hhTw __iEnkK8kEdqRKeAGm8hhTw __hxswa8kEdqRKeAGm8hhTw __h626a8kEdqRKeAGm8hhTw __iEnTq8kEdqRKeAGm8hhTw __hxtJa8kEdqRKeAGm8hhTw __iEnZK8kEdqRKeAGm8hhTw __hxsWa8kEdqRKeAGm8hhTw __iEnQK8kEdqRKeAGm8hhTw __iEnkq8kEdqRKeAGm8hhTw __hxseq8kEdqRKeAGm8hhTw __iEnc68kEdqRKeAGm8hhTw __iEncq8kEdqRKeAGm8hhTw __h62q68kEdqRKeAGm8hhTw __hxslq8kEdqRKeAGm8hhTw __hxs-q8kEdqRKeAGm8hhTw __iEndK8kEdqRKeAGm8hhTw __h62268kEdqRKeAGm8hhTw __iEnhK8kEdqRKeAGm8hhTw __iEnTa8kEdqRKeAGm8hhTw __iEnRK8kEdqRKeAGm8hhTw __h622a8kEdqRKeAGm8hhTw __h62bK8kEdqRKeAGm8hhTw __hxs9K8kEdqRKeAGm8hhTw __hxsj68kEdqRKeAGm8hhTw __h623q8kEdqRKeAGm8hhTw __h62aK8kEdqRKeAGm8hhTw __h62v68kEdqRKeAGm8hhTw __hxsq68kEdqRKeAGm8hhTw __iEnh68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__tsod68kEdqRKeAGm8hhTw" source="UML::AuxiliaryConstructs::Templates" references="__jHJWa8kEdqRKeAGm8hhTw __jHJKq8kEdqRKeAGm8hhTw __i9_g68kEdqRKeAGm8hhTw __c2wj68kEdqRKeAGm8hhTw __jHJaa8kEdqRKeAGm8hhTw __jHJSK8kEdqRKeAGm8hhTw _KxRzgGvuEdqG6fBIPwe-mw __jHJc68kEdqRKeAGm8hhTw __jHJYK8kEdqRKeAGm8hhTw _-cvRAGvzEdq7X4sGURiZYA __i9_Pa8kEdqRKeAGm8hhTw __jQ6Oa8kEdqRKeAGm8hhTw __jHJna8kEdqRKeAGm8hhTw __jQ6G68kEdqRKeAGm8hhTw __jHJUK8kEdqRKeAGm8hhTw __i9_ia8kEdqRKeAGm8hhTw __jQ6Tq8kEdqRKeAGm8hhTw __jQ6Gq8kEdqRKeAGm8hhTw __jHJu68kEdqRKeAGm8hhTw __i9_t68kEdqRKeAGm8hhTw __jQ6O68kEdqRKeAGm8hhTw __jQ6E68kEdqRKeAGm8hhTw __i9_R68kEdqRKeAGm8hhTw __jHJk68kEdqRKeAGm8hhTw _9keOQGvdEdq4DLWZOhbdEA __jQ6EK8kEdqRKeAGm8hhTw __jQ6TK8kEdqRKeAGm8hhTw __jQ6Na8kEdqRKeAGm8hhTw __jHJMa8kEdqRKeAGm8hhTw __jHJPa8kEdqRKeAGm8hhTw __jQ6Pq8kEdqRKeAGm8hhTw __jHJha8kEdqRKeAGm8hhTw __i9_s68kEdqRKeAGm8hhTw __jQ6Sq8kEdqRKeAGm8hhTw __jQ6JK8kEdqRKeAGm8hhTw __jHJb68kEdqRKeAGm8hhTw __i9_p68kEdqRKeAGm8hhTw __jQ6Mq8kEdqRKeAGm8hhTw __i9_ra8kEdqRKeAGm8hhTw __jHJo68kEdqRKeAGm8hhTw __i9_na8kEdqRKeAGm8hhTw __jQ6SK8kEdqRKeAGm8hhTw __jQ6Ka8kEdqRKeAGm8hhTw __jHJga8kEdqRKeAGm8hhTw __i9_x68kEdqRKeAGm8hhTw __jHJeK8kEdqRKeAGm8hhTw __i9_o68kEdqRKeAGm8hhTw __jHJia8kEdqRKeAGm8hhTw __jQ6Fq8kEdqRKeAGm8hhTw __jHJLa8kEdqRKeAGm8hhTw __i9_ea8kEdqRKeAGm8hhTw __jQ6L68kEdqRKeAGm8hhTw __jHJN68kEdqRKeAGm8hhTw _M4X2IGveEdq4DLWZOhbdEA __jQ6Iq8kEdqRKeAGm8hhTw _Jp_1oGveEdq4DLWZOhbdEA __i9_X68kEdqRKeAGm8hhTw _6UV2QGwJEdq7X4sGURiZYA __jQ6IK8kEdqRKeAGm8hhTw __jQ6F68kEdqRKeAGm8hhTw __jHJfq8kEdqRKeAGm8hhTw __i9_b68kEdqRKeAGm8hhTw __jHJXa8kEdqRKeAGm8hhTw __jQ6LK8kEdqRKeAGm8hhTw __i9_Ta8kEdqRKeAGm8hhTw __i9_lK8kEdqRKeAGm8hhTw __jQ6Hq8kEdqRKeAGm8hhTw __jQ6QK8kEdqRKeAGm8hhTw __i9_aa8kEdqRKeAGm8hhTw __jHJEq8kEdqRKeAGm8hhTw _jKxnwGwLEdq7X4sGURiZYA __i9_j68kEdqRKeAGm8hhTw __jQ6J68kEdqRKeAGm8hhTw __YYf9a8kEdqRKeAGm8hhTw __jQ6Ha8kEdqRKeAGm8hhTw __jHJHq8kEdqRKeAGm8hhTw __i9_va8kEdqRKeAGm8hhTw __i9_VK8kEdqRKeAGm8hhTw __jHJuq8kEdqRKeAGm8hhTw __i9_Q68kEdqRKeAGm8hhTw __jHJtK8kEdqRKeAGm8hhTw __jHJsa8kEdqRKeAGm8hhTw __jHJra8kEdqRKeAGm8hhTw __jHJma8kEdqRKeAGm8hhTw __jQ6H68kEdqRKeAGm8hhTw __jHJGK8kEdqRKeAGm8hhTw __jQ6Qa8kEdqRKeAGm8hhTw __jQ6Ra8kEdqRKeAGm8hhTw __i9_Za8kEdqRKeAGm8hhTw __jQ6KK8kEdqRKeAGm8hhTw __i9_wa8kEdqRKeAGm8hhTw __jHJJa8kEdqRKeAGm8hhTw _csVgUGvtEdqG6fBIPwe-mw __jQ6T68kEdqRKeAGm8hhTw __jQ6GK8kEdqRKeAGm8hhTw __i9_c68kEdqRKeAGm8hhTw __jQ6Q68kEdqRKeAGm8hhTw __jQ6Ta8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__tsoeK8kEdqRKeAGm8hhTw" source="UML::Activities::StructuredActivities" references="__caEr68kEdqRKeAGm8hhTw __caEl68kEdqRKeAGm8hhTw __cj1Xa8kEdqRKeAGm8hhTw __cj1RK8kEdqRKeAGm8hhTw __cj1Zq8kEdqRKeAGm8hhTw __caEeq8kEdqRKeAGm8hhTw __cj1Qa8kEdqRKeAGm8hhTw __cj1cq8kEdqRKeAGm8hhTw __cQ6la8kEdqRKeAGm8hhTw __caEQ68kEdqRKeAGm8hhTw __caENK8kEdqRKeAGm8hhTw __caE2K8kEdqRKeAGm8hhTw __cj1da8kEdqRKeAGm8hhTw __caEaa8kEdqRKeAGm8hhTw __cj1eq8kEdqRKeAGm8hhTw __cj1YK8kEdqRKeAGm8hhTw __cj1W68kEdqRKeAGm8hhTw __cj1aa8kEdqRKeAGm8hhTw __caEaK8kEdqRKeAGm8hhTw __caEPa8kEdqRKeAGm8hhTw __caEZq8kEdqRKeAGm8hhTw __cj1ZK8kEdqRKeAGm8hhTw __caEOq8kEdqRKeAGm8hhTw __caEYK8kEdqRKeAGm8hhTw __cj1fK8kEdqRKeAGm8hhTw __cj1ca8kEdqRKeAGm8hhTw __cj1Pq8kEdqRKeAGm8hhTw __cj1WK8kEdqRKeAGm8hhTw __cj1XK8kEdqRKeAGm8hhTw __cj1Ua8kEdqRKeAGm8hhTw __caE0K8kEdqRKeAGm8hhTw __cj1aq8kEdqRKeAGm8hhTw __caEyK8kEdqRKeAGm8hhTw __caEKK8kEdqRKeAGm8hhTw __caEba8kEdqRKeAGm8hhTw __caEna8kEdqRKeAGm8hhTw __caE1K8kEdqRKeAGm8hhTw __caEhq8kEdqRKeAGm8hhTw __caELq8kEdqRKeAGm8hhTw __caEka8kEdqRKeAGm8hhTw __caEpq8kEdqRKeAGm8hhTw __caEsq8kEdqRKeAGm8hhTw __cj1Jq8kEdqRKeAGm8hhTw __caErK8kEdqRKeAGm8hhTw __caEgK8kEdqRKeAGm8hhTw __caEwq8kEdqRKeAGm8hhTw __caEWq8kEdqRKeAGm8hhTw __cj1V68kEdqRKeAGm8hhTw __caEuq8kEdqRKeAGm8hhTw __caEdK8kEdqRKeAGm8hhTw __cj1T68kEdqRKeAGm8hhTw __caEzK8kEdqRKeAGm8hhTw __caEo68kEdqRKeAGm8hhTw __caEtq8kEdqRKeAGm8hhTw __cj1ba8kEdqRKeAGm8hhTw __caEoK8kEdqRKeAGm8hhTw __caEvq8kEdqRKeAGm8hhTw __caEi68kEdqRKeAGm8hhTw __cj1eK8kEdqRKeAGm8hhTw __cj1IK8kEdqRKeAGm8hhTw __cj1Ya8kEdqRKeAGm8hhTw __caEV68kEdqRKeAGm8hhTw __cj1NK8kEdqRKeAGm8hhTw __cj1U68kEdqRKeAGm8hhTw __cj1bq8kEdqRKeAGm8hhTw __cj1VK8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__tsoea8kEdqRKeAGm8hhTw" source="UML::AuxiliaryConstructs::InformationFlows" references="__hn7vK8kEdqRKeAGm8hhTw __hn7xK8kEdqRKeAGm8hhTw __hn7o68kEdqRKeAGm8hhTw __hn7p68kEdqRKeAGm8hhTw __hn7gq8kEdqRKeAGm8hhTw __hn72q8kEdqRKeAGm8hhTw __hn7zK8kEdqRKeAGm8hhTw __hn7q68kEdqRKeAGm8hhTw __hn7kq8kEdqRKeAGm8hhTw __hn7u68kEdqRKeAGm8hhTw __hn72a8kEdqRKeAGm8hhTw __hn7x68kEdqRKeAGm8hhTw __hn7wK8kEdqRKeAGm8hhTw __hn7n68kEdqRKeAGm8hhTw __hn71a8kEdqRKeAGm8hhTw __hn7w68kEdqRKeAGm8hhTw __hn7s68kEdqRKeAGm8hhTw __hn7t68kEdqRKeAGm8hhTw __hn7zq8kEdqRKeAGm8hhTw __hn70q8kEdqRKeAGm8hhTw __hn70a8kEdqRKeAGm8hhTw __hn7ya8kEdqRKeAGm8hhTw __hn71q8kEdqRKeAGm8hhTw __hn7r68kEdqRKeAGm8hhTw __hn7v68kEdqRKeAGm8hhTw __hn7jq8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yYK8kEdqRKeAGm8hhTw" source="UML::CompositeStructures::Collaborations" references="__dAhL68kEdqRKeAGm8hhTw __dAhUa8kEdqRKeAGm8hhTw __dAhOa8kEdqRKeAGm8hhTw __dAhVa8kEdqRKeAGm8hhTw __dAhXK8kEdqRKeAGm8hhTw __dAhI68kEdqRKeAGm8hhTw __dAhX68kEdqRKeAGm8hhTw __dAhPq8kEdqRKeAGm8hhTw __dAhUq8kEdqRKeAGm8hhTw __dAhV68kEdqRKeAGm8hhTw __dAhYa8kEdqRKeAGm8hhTw __dAhWq8kEdqRKeAGm8hhTw _6UV2QGwJEdq7X4sGURiZYA __dAhRq8kEdqRKeAGm8hhTw __dAhM68kEdqRKeAGm8hhTw _KyaPMGveEdq4DLWZOhbdEA __dAhQq8kEdqRKeAGm8hhTw __dAhZK8kEdqRKeAGm8hhTw __dAhZq8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yYa8kEdqRKeAGm8hhTw" source="UML::CommonBehaviors::Communications" references="__d55Cq8kEdqRKeAGm8hhTw __dwIF68kEdqRKeAGm8hhTw __d55F68kEdqRKeAGm8hhTw __dwIHq8kEdqRKeAGm8hhTw _00owUGvdEdq4DLWZOhbdEA __d55La8kEdqRKeAGm8hhTw __d55Dq8kEdqRKeAGm8hhTw __d55Gq8kEdqRKeAGm8hhTw __dwIFK8kEdqRKeAGm8hhTw __dwIDq8kEdqRKeAGm8hhTw __dwIKa8kEdqRKeAGm8hhTw _Pu3O0HL0EdqziYxiZo0YtA __Zbosq8kEdqRKeAGm8hhTw __dwIMq8kEdqRKeAGm8hhTw __dwILK8kEdqRKeAGm8hhTw __d55Bq8kEdqRKeAGm8hhTw __dwIOq8kEdqRKeAGm8hhTw __d55Ea8kEdqRKeAGm8hhTw _8Ugn8GvtEdqG6fBIPwe-mw __d55Da8kEdqRKeAGm8hhTw __dwIWq8kEdqRKeAGm8hhTw __dwIG68kEdqRKeAGm8hhTw __d55Ma8kEdqRKeAGm8hhTw __dwIQK8kEdqRKeAGm8hhTw _rHT3YKOsEdqi_5gqUMOQtA __d548K8kEdqRKeAGm8hhTw __d55IK8kEdqRKeAGm8hhTw __d55Ja8kEdqRKeAGm8hhTw __d55Ba8kEdqRKeAGm8hhTw __d54-a8kEdqRKeAGm8hhTw _M4X2IGveEdq4DLWZOhbdEA __dwINa8kEdqRKeAGm8hhTw __dwITK8kEdqRKeAGm8hhTw _iY7sMGvsEdqG6fBIPwe-mw __d55FK8kEdqRKeAGm8hhTw __dwIUq8kEdqRKeAGm8hhTw __d55MK8kEdqRKeAGm8hhTw __dwIV68kEdqRKeAGm8hhTw __dwIRq8kEdqRKeAGm8hhTw __d55KK8kEdqRKeAGm8hhTw __Zbos68kEdqRKeAGm8hhTw __Y-80a8kEdqRKeAGm8hhTw __dwIXa8kEdqRKeAGm8hhTw __d54_a8kEdqRKeAGm8hhTw __d54868kEdqRKeAGm8hhTw __d55Ha8kEdqRKeAGm8hhTw __d55Ca8kEdqRKeAGm8hhTw __dwIY68kEdqRKeAGm8hhTw __d55H68kEdqRKeAGm8hhTw __d55K68kEdqRKeAGm8hhTw __d55Iq8kEdqRKeAGm8hhTw __dwIVa8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yYq8kEdqRKeAGm8hhTw" source="UML::Actions::BasicActions" references="__cQ6O68kEdqRKeAGm8hhTw __cQ6ha8kEdqRKeAGm8hhTw __cQ6Pq8kEdqRKeAGm8hhTw __cHJy68kEdqRKeAGm8hhTw __cQ60K8kEdqRKeAGm8hhTw __cQ6xa8kEdqRKeAGm8hhTw __cQ60a8kEdqRKeAGm8hhTw __cHJ2q8kEdqRKeAGm8hhTw __cQ6la8kEdqRKeAGm8hhTw __cQ6Yq8kEdqRKeAGm8hhTw __cQ6za8kEdqRKeAGm8hhTw __cQ6UK8kEdqRKeAGm8hhTw __cQ6bK8kEdqRKeAGm8hhTw __cHJzq8kEdqRKeAGm8hhTw __cQ6aK8kEdqRKeAGm8hhTw __cQ6Wa8kEdqRKeAGm8hhTw __cQ6mK8kEdqRKeAGm8hhTw __cQ6w68kEdqRKeAGm8hhTw __cQ6wq8kEdqRKeAGm8hhTw __cQ6rq8kEdqRKeAGm8hhTw __cQ6y68kEdqRKeAGm8hhTw __caEIa8kEdqRKeAGm8hhTw __cQ6yK8kEdqRKeAGm8hhTw __cQ6wK8kEdqRKeAGm8hhTw __cQ6va8kEdqRKeAGm8hhTw __caEIK8kEdqRKeAGm8hhTw __cQ6tK8kEdqRKeAGm8hhTw __cQ6RK8kEdqRKeAGm8hhTw __cQ6q68kEdqRKeAGm8hhTw __cQ6ka8kEdqRKeAGm8hhTw __cHJ7K8kEdqRKeAGm8hhTw __cQ6f68kEdqRKeAGm8hhTw __cQ6e68kEdqRKeAGm8hhTw __cQ6xq8kEdqRKeAGm8hhTw __cHJ4q8kEdqRKeAGm8hhTw __cQ6pK8kEdqRKeAGm8hhTw __cQ6r68kEdqRKeAGm8hhTw __cHJ5q8kEdqRKeAGm8hhTw __caEJa8kEdqRKeAGm8hhTw __cHJ1K8kEdqRKeAGm8hhTw __caEJ68kEdqRKeAGm8hhTw __cQ6qq8kEdqRKeAGm8hhTw __cHJ3q8kEdqRKeAGm8hhTw __caEJK8kEdqRKeAGm8hhTw __cQ6OK8kEdqRKeAGm8hhTw __cQ6U68kEdqRKeAGm8hhTw __cQ6nq8kEdqRKeAGm8hhTw __cQ6ua8kEdqRKeAGm8hhTw __cQ6vK8kEdqRKeAGm8hhTw __cQ6sq8kEdqRKeAGm8hhTw __cQ6t68kEdqRKeAGm8hhTw __cQ6Na8kEdqRKeAGm8hhTw __caEIq8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yY68kEdqRKeAGm8hhTw" source="UML::CompositeStructures::InvocationActions" references="__cQ6O68kEdqRKeAGm8hhTw __dwIMq8kEdqRKeAGm8hhTw __glZna8kEdqRKeAGm8hhTw __glZp68kEdqRKeAGm8hhTw __glZq68kEdqRKeAGm8hhTw __glZqq8kEdqRKeAGm8hhTw __glZpq8kEdqRKeAGm8hhTw __glZoq8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yZK8kEdqRKeAGm8hhTw" source="UML::Classes::PowerTypes" references="__hn7aa8kEdqRKeAGm8hhTw __hn7ba8kEdqRKeAGm8hhTw __hn7Y68kEdqRKeAGm8hhTw __hn7Zq8kEdqRKeAGm8hhTw __hn7gK8kEdqRKeAGm8hhTw __hn7fK8kEdqRKeAGm8hhTw _6UV2QGwJEdq7X4sGURiZYA _C7AF4GwREdq14q0ETb1t3g __hn7dK8kEdqRKeAGm8hhTw __hn7Wq8kEdqRKeAGm8hhTw __hn7ga8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yZa8kEdqRKeAGm8hhTw" source="UML::CommonBehaviors::BasicBehaviors" references="__cHJn68kEdqRKeAGm8hhTw __cHJqa8kEdqRKeAGm8hhTw __cHJSa8kEdqRKeAGm8hhTw __cHJVa8kEdqRKeAGm8hhTw _TUPtYGveEdq4DLWZOhbdEA __cHJr68kEdqRKeAGm8hhTw __cHJZK8kEdqRKeAGm8hhTw __cHJh68kEdqRKeAGm8hhTw __cHJxq8kEdqRKeAGm8hhTw __cHJgK8kEdqRKeAGm8hhTw __cHJda8kEdqRKeAGm8hhTw _rHT3YKOsEdqi_5gqUMOQtA __cHJta8kEdqRKeAGm8hhTw __cHJaq8kEdqRKeAGm8hhTw __cHJiq8kEdqRKeAGm8hhTw __cHJlq8kEdqRKeAGm8hhTw __cHJrq8kEdqRKeAGm8hhTw __cHJw68kEdqRKeAGm8hhTw __cHJyK8kEdqRKeAGm8hhTw _iY7sMGvsEdqG6fBIPwe-mw __cHJua8kEdqRKeAGm8hhTw __cHJe68kEdqRKeAGm8hhTw __cHJPq8kEdqRKeAGm8hhTw __cHJvq8kEdqRKeAGm8hhTw __cHJpK8kEdqRKeAGm8hhTw __cHJQa8kEdqRKeAGm8hhTw __cHJvK8kEdqRKeAGm8hhTw __cHJg68kEdqRKeAGm8hhTw __cHJWq8kEdqRKeAGm8hhTw __cHJuK8kEdqRKeAGm8hhTw __cHJq68kEdqRKeAGm8hhTw __cHJtK8kEdqRKeAGm8hhTw __cHJpq8kEdqRKeAGm8hhTw _ChRfcGveEdq4DLWZOhbdEA __cHJsa8kEdqRKeAGm8hhTw __cHJoa8kEdqRKeAGm8hhTw __cHJkK8kEdqRKeAGm8hhTw __cHJwa8kEdqRKeAGm8hhTw __cHJRa8kEdqRKeAGm8hhTw __cHJT68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yZq8kEdqRKeAGm8hhTw" source="UML::Components::BasicComponents" references="__eM0ca8kEdqRKeAGm8hhTw __eV9468kEdqRKeAGm8hhTw __eV96q8kEdqRKeAGm8hhTw __eV98K8kEdqRKeAGm8hhTw __eV97K8kEdqRKeAGm8hhTw __c2wVq8kEdqRKeAGm8hhTw _DAbfwa69EdqjppZik4kD8A __eM0Oa8kEdqRKeAGm8hhTw __eM0d68kEdqRKeAGm8hhTw __eM0Vq8kEdqRKeAGm8hhTw __eM0Xq8kEdqRKeAGm8hhTw __eV96a8kEdqRKeAGm8hhTw __eM0PK8kEdqRKeAGm8hhTw __eV92a8kEdqRKeAGm8hhTw __eV98q8kEdqRKeAGm8hhTw __eM0Tq8kEdqRKeAGm8hhTw __eM0bq8kEdqRKeAGm8hhTw __eM0SK8kEdqRKeAGm8hhTw __eV9668kEdqRKeAGm8hhTw __eV9368kEdqRKeAGm8hhTw __eM0Qq8kEdqRKeAGm8hhTw __eM0Zq8kEdqRKeAGm8hhTw __eV99K8kEdqRKeAGm8hhTw __eV97a8kEdqRKeAGm8hhTw __eV9868kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yZ68kEdqRKeAGm8hhTw" source="UML::CompositeStructures::InternalStructures" references="__dAhEK8kEdqRKeAGm8hhTw __c2wpa8kEdqRKeAGm8hhTw __c2wj68kEdqRKeAGm8hhTw __c2wqK8kEdqRKeAGm8hhTw _aOgw0GveEdq4DLWZOhbdEA __ZR36q8kEdqRKeAGm8hhTw __dAhEq8kEdqRKeAGm8hhTw __c2wUq8kEdqRKeAGm8hhTw __c2wia8kEdqRKeAGm8hhTw __c2wfa8kEdqRKeAGm8hhTw __c2wVq8kEdqRKeAGm8hhTw __c2wg68kEdqRKeAGm8hhTw __dAhHq8kEdqRKeAGm8hhTw __c2waq8kEdqRKeAGm8hhTw __c2wmq8kEdqRKeAGm8hhTw __c2wd68kEdqRKeAGm8hhTw __dAhF68kEdqRKeAGm8hhTw __c2wma8kEdqRKeAGm8hhTw __c2wsa8kEdqRKeAGm8hhTw __c2wTK8kEdqRKeAGm8hhTw __c2wkq8kEdqRKeAGm8hhTw _Jp_1oGveEdq4DLWZOhbdEA __c2wqq8kEdqRKeAGm8hhTw _6UV2QGwJEdq7X4sGURiZYA __dAhGq8kEdqRKeAGm8hhTw __dAhG68kEdqRKeAGm8hhTw __c2wYq8kEdqRKeAGm8hhTw __c2wra8kEdqRKeAGm8hhTw __c2woa8kEdqRKeAGm8hhTw __Xyp6K8kEdqRKeAGm8hhTw __c2wna8kEdqRKeAGm8hhTw _FQiVsGwYEdqHKKVoxc0dlA __c2wpK8kEdqRKeAGm8hhTw __dAhFa8kEdqRKeAGm8hhTw __c2wZq8kEdqRKeAGm8hhTw __ZR37a8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yaK8kEdqRKeAGm8hhTw" source="UML::Actions::IntermediateActions" references="__fGMBK8kEdqRKeAGm8hhTw __e8bVa8kEdqRKeAGm8hhTw __fPV2K8kEdqRKeAGm8hhTw __fGLwK8kEdqRKeAGm8hhTw __fZGs68kEdqRKeAGm8hhTw __fPVwK8kEdqRKeAGm8hhTw __e8a4a8kEdqRKeAGm8hhTw __fGL2K8kEdqRKeAGm8hhTw __fGL-q8kEdqRKeAGm8hhTw __fZGsq8kEdqRKeAGm8hhTw __eyqQa8kEdqRKeAGm8hhTw __e8bDa8kEdqRKeAGm8hhTw __fGLya8kEdqRKeAGm8hhTw __fZGzq8kEdqRKeAGm8hhTw __fPVxa8kEdqRKeAGm8hhTw __fZGxa8kEdqRKeAGm8hhTw __fPV1K8kEdqRKeAGm8hhTw __e8bRa8kEdqRKeAGm8hhTw __eypxK8kEdqRKeAGm8hhTw __e8a6q8kEdqRKeAGm8hhTw __eyp8q8kEdqRKeAGm8hhTw __fPV4K8kEdqRKeAGm8hhTw __fPV7q8kEdqRKeAGm8hhTw __fZGwq8kEdqRKeAGm8hhTw __e8a0q8kEdqRKeAGm8hhTw __fZGua8kEdqRKeAGm8hhTw __fGL_a8kEdqRKeAGm8hhTw __fPV6a8kEdqRKeAGm8hhTw __fGLz68kEdqRKeAGm8hhTw __fPVvK8kEdqRKeAGm8hhTw __fPV3K8kEdqRKeAGm8hhTw __eyp7K8kEdqRKeAGm8hhTw __e8bAq8kEdqRKeAGm8hhTw __fZGtK8kEdqRKeAGm8hhTw __fGL7q8kEdqRKeAGm8hhTw __fPV8a8kEdqRKeAGm8hhTw __e8a_K8kEdqRKeAGm8hhTw __fPVyK8kEdqRKeAGm8hhTw __fPVza8kEdqRKeAGm8hhTw __eyqCq8kEdqRKeAGm8hhTw __fPV468kEdqRKeAGm8hhTw __e8az68kEdqRKeAGm8hhTw __fGL9a8kEdqRKeAGm8hhTw __fPV0q8kEdqRKeAGm8hhTw __e8awK8kEdqRKeAGm8hhTw __eyqBK8kEdqRKeAGm8hhTw __fPV9q8kEdqRKeAGm8hhTw __fZGt68kEdqRKeAGm8hhTw __e8bM68kEdqRKeAGm8hhTw __eyp068kEdqRKeAGm8hhTw __eyqJa8kEdqRKeAGm8hhTw __e8bd68kEdqRKeAGm8hhTw __e8bQq8kEdqRKeAGm8hhTw __e8bIa8kEdqRKeAGm8hhTw __fPV168kEdqRKeAGm8hhTw __e8a2K8kEdqRKeAGm8hhTw __fPV368kEdqRKeAGm8hhTw __fGLw68kEdqRKeAGm8hhTw __fZGy68kEdqRKeAGm8hhTw __fPVuq8kEdqRKeAGm8hhTw __e8bSa8kEdqRKeAGm8hhTw __fZGya8kEdqRKeAGm8hhTw __fPV268kEdqRKeAGm8hhTw __e8aya8kEdqRKeAGm8hhTw __fGL-K8kEdqRKeAGm8hhTw __fPVz68kEdqRKeAGm8hhTw __eyp168kEdqRKeAGm8hhTw __eyqSq8kEdqRKeAGm8hhTw __e8bWK8kEdqRKeAGm8hhTw __e8bHa8kEdqRKeAGm8hhTw __e8a568kEdqRKeAGm8hhTw __e8bZK8kEdqRKeAGm8hhTw __eyp6a8kEdqRKeAGm8hhTw __fPVw68kEdqRKeAGm8hhTw __fGMAq8kEdqRKeAGm8hhTw __fPV6K8kEdqRKeAGm8hhTw __fPV-q8kEdqRKeAGm8hhTw __e8bc68kEdqRKeAGm8hhTw __eyp5q8kEdqRKeAGm8hhTw __e8a8K8kEdqRKeAGm8hhTw __e8bGa8kEdqRKeAGm8hhTw __fGL268kEdqRKeAGm8hhTw __eyqO68kEdqRKeAGm8hhTw __eyqN68kEdqRKeAGm8hhTw __fPVv68kEdqRKeAGm8hhTw __e8bgK8kEdqRKeAGm8hhTw __fPV968kEdqRKeAGm8hhTw __fGL9K8kEdqRKeAGm8hhTw __e8a268kEdqRKeAGm8hhTw __fZG0K8kEdqRKeAGm8hhTw __e8bba8kEdqRKeAGm8hhTw __e8bXq8kEdqRKeAGm8hhTw __fPV868kEdqRKeAGm8hhTw __e8bT68kEdqRKeAGm8hhTw __eyp_q8kEdqRKeAGm8hhTw __fPVta8kEdqRKeAGm8hhTw __fZGxq8kEdqRKeAGm8hhTw __fPVt68kEdqRKeAGm8hhTw __e8bOa8kEdqRKeAGm8hhTw __e8bCK8kEdqRKeAGm8hhTw __fPV7K8kEdqRKeAGm8hhTw __fGL368kEdqRKeAGm8hhTw __fZGwK8kEdqRKeAGm8hhTw __fZGvK8kEdqRKeAGm8hhTw __eyqEK8kEdqRKeAGm8hhTw __eyqH68kEdqRKeAGm8hhTw __fPVsq8kEdqRKeAGm8hhTw __fGL6K8kEdqRKeAGm8hhTw __fGL_68kEdqRKeAGm8hhTw __fPVyq8kEdqRKeAGm8hhTw __fPV5a8kEdqRKeAGm8hhTw __fZGva8kEdqRKeAGm8hhTw __fPV_K8kEdqRKeAGm8hhTw __fZGsK8kEdqRKeAGm8hhTw __eyp3a8kEdqRKeAGm8hhTw __fPVsK8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yaa8kEdqRKeAGm8hhTw" source="UML::Activities::IntermediateActivities" references="__eDDDa8kEdqRKeAGm8hhTw __eDDHq8kEdqRKeAGm8hhTw __eDDJK8kEdqRKeAGm8hhTw __eDDOa8kEdqRKeAGm8hhTw __eDDWK8kEdqRKeAGm8hhTw __dAhja8kEdqRKeAGm8hhTw __eDDAa8kEdqRKeAGm8hhTw __caEQ68kEdqRKeAGm8hhTw __caENK8kEdqRKeAGm8hhTw __dAhdq8kEdqRKeAGm8hhTw __eDDXq8kEdqRKeAGm8hhTw __eDDX68kEdqRKeAGm8hhTw __dJrVq8kEdqRKeAGm8hhTw __d55O68kEdqRKeAGm8hhTw __eDDUa8kEdqRKeAGm8hhTw __eDDLa8kEdqRKeAGm8hhTw __caEaa8kEdqRKeAGm8hhTw __caEaK8kEdqRKeAGm8hhTw __eMz4q8kEdqRKeAGm8hhTw __caEPa8kEdqRKeAGm8hhTw __eDDVa8kEdqRKeAGm8hhTw __eDDEa8kEdqRKeAGm8hhTw __eDC_a8kEdqRKeAGm8hhTw __caEOq8kEdqRKeAGm8hhTw __eDC468kEdqRKeAGm8hhTw __caEYK8kEdqRKeAGm8hhTw __d55Mq8kEdqRKeAGm8hhTw __eDDXa8kEdqRKeAGm8hhTw __dJrFa8kEdqRKeAGm8hhTw __caEKK8kEdqRKeAGm8hhTw __eDDS68kEdqRKeAGm8hhTw __eDDFa8kEdqRKeAGm8hhTw __eDDPa8kEdqRKeAGm8hhTw __dJrCa8kEdqRKeAGm8hhTw __eDDRK8kEdqRKeAGm8hhTw __eDDB68kEdqRKeAGm8hhTw __eDDU68kEdqRKeAGm8hhTw __eDC-a8kEdqRKeAGm8hhTw __eDDV68kEdqRKeAGm8hhTw __eDC9q8kEdqRKeAGm8hhTw __eDC4K8kEdqRKeAGm8hhTw __eMz4K8kEdqRKeAGm8hhTw __caEV68kEdqRKeAGm8hhTw __eDDW68kEdqRKeAGm8hhTw __eDC868kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yaq8kEdqRKeAGm8hhTw" source="UML::UseCases" references="__dwH_68kEdqRKeAGm8hhTw __dmXZa8kEdqRKeAGm8hhTw __dwH968kEdqRKeAGm8hhTw __dwH-q8kEdqRKeAGm8hhTw __dmXHK8kEdqRKeAGm8hhTw __dmXQa8kEdqRKeAGm8hhTw __dmXNa8kEdqRKeAGm8hhTw __dmXDq8kEdqRKeAGm8hhTw __dmXO68kEdqRKeAGm8hhTw __dwIAa8kEdqRKeAGm8hhTw __dmXGK8kEdqRKeAGm8hhTw __dwIBK8kEdqRKeAGm8hhTw __dwIBa8kEdqRKeAGm8hhTw __dwIDa8kEdqRKeAGm8hhTw __dwICK8kEdqRKeAGm8hhTw __dwH_a8kEdqRKeAGm8hhTw __dmXS68kEdqRKeAGm8hhTw __dmXBK8kEdqRKeAGm8hhTw _6UV2QGwJEdq7X4sGURiZYA __dmW_a8kEdqRKeAGm8hhTw __dmXCK8kEdqRKeAGm8hhTw __dmXaa8kEdqRKeAGm8hhTw __dmXFK8kEdqRKeAGm8hhTw __dmW9K8kEdqRKeAGm8hhTw __dmXR68kEdqRKeAGm8hhTw __dmXJq8kEdqRKeAGm8hhTw __dmXX68kEdqRKeAGm8hhTw __dwH9a8kEdqRKeAGm8hhTw __dwH8K8kEdqRKeAGm8hhTw __dmXIq8kEdqRKeAGm8hhTw __dwH8q8kEdqRKeAGm8hhTw __dwICq8kEdqRKeAGm8hhTw __dmXWK8kEdqRKeAGm8hhTw __dmXUq8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1ya68kEdqRKeAGm8hhTw" source="UML::Activities::CompleteActivities" references="__iOYca8kEdqRKeAGm8hhTw _TUPtYGveEdq4DLWZOhbdEA __iOYY68kEdqRKeAGm8hhTw __iXikq8kEdqRKeAGm8hhTw __iOYkq8kEdqRKeAGm8hhTw __iOYgq8kEdqRKeAGm8hhTw __iXihq8kEdqRKeAGm8hhTw __ihTQ68kEdqRKeAGm8hhTw __cQ6la8kEdqRKeAGm8hhTw __iOYWa8kEdqRKeAGm8hhTw __ihTMK8kEdqRKeAGm8hhTw __ihTOq8kEdqRKeAGm8hhTw __dAhdq8kEdqRKeAGm8hhTw __iOYeq8kEdqRKeAGm8hhTw __iOYXa8kEdqRKeAGm8hhTw __ihTSa8kEdqRKeAGm8hhTw __ihTNa8kEdqRKeAGm8hhTw __iXiMK8kEdqRKeAGm8hhTw __ihTM68kEdqRKeAGm8hhTw __ihTTq8kEdqRKeAGm8hhTw __iXiaq8kEdqRKeAGm8hhTw __caEaK8kEdqRKeAGm8hhTw __iXieK8kEdqRKeAGm8hhTw __caEPa8kEdqRKeAGm8hhTw _rHT3YKOsEdqi_5gqUMOQtA __iXiV68kEdqRKeAGm8hhTw __iXiY68kEdqRKeAGm8hhTw __iXijK8kEdqRKeAGm8hhTw __iEnqK8kEdqRKeAGm8hhTw __iXiQa8kEdqRKeAGm8hhTw __caEOq8kEdqRKeAGm8hhTw __caEYK8kEdqRKeAGm8hhTw __ihTUK8kEdqRKeAGm8hhTw __dAhaa8kEdqRKeAGm8hhTw __iOYdK8kEdqRKeAGm8hhTw __ihTOa8kEdqRKeAGm8hhTw __iXiM68kEdqRKeAGm8hhTw __iEnn68kEdqRKeAGm8hhTw __caEKK8kEdqRKeAGm8hhTw __iXiia8kEdqRKeAGm8hhTw __ihTQa8kEdqRKeAGm8hhTw __iXika8kEdqRKeAGm8hhTw __iXikK8kEdqRKeAGm8hhTw __iXifq8kEdqRKeAGm8hhTw __ihTPq8kEdqRKeAGm8hhTw __iXih68kEdqRKeAGm8hhTw __iXic68kEdqRKeAGm8hhTw __iOYbq8kEdqRKeAGm8hhTw __iOYmK8kEdqRKeAGm8hhTw __cHJ4q8kEdqRKeAGm8hhTw __iEnoq8kEdqRKeAGm8hhTw __eDDRK8kEdqRKeAGm8hhTw __ihTS68kEdqRKeAGm8hhTw __iXija8kEdqRKeAGm8hhTw __iXiNq8kEdqRKeAGm8hhTw __iXiXK8kEdqRKeAGm8hhTw __ihTRq8kEdqRKeAGm8hhTw __ihTN68kEdqRKeAGm8hhTw __iOYT68kEdqRKeAGm8hhTw __iOYjq8kEdqRKeAGm8hhTw __iXiR68kEdqRKeAGm8hhTw __iXihK8kEdqRKeAGm8hhTw __ihTRK8kEdqRKeAGm8hhTw __iXiTa8kEdqRKeAGm8hhTw __iXiU68kEdqRKeAGm8hhTw __iOYfq8kEdqRKeAGm8hhTw __ihTNq8kEdqRKeAGm8hhTw __caEV68kEdqRKeAGm8hhTw __iXiPK8kEdqRKeAGm8hhTw __dAhna8kEdqRKeAGm8hhTw _KyaPMGveEdq4DLWZOhbdEA __ihTMq8kEdqRKeAGm8hhTw __iOYUq8kEdqRKeAGm8hhTw __iOYVa8kEdqRKeAGm8hhTw __ihTPa8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1ybK8kEdqRKeAGm8hhTw" source="UML::Activities::CompleteStructuredActivities" references="__irENK8kEdqRKeAGm8hhTw __ihTf68kEdqRKeAGm8hhTw __irEOK8kEdqRKeAGm8hhTw __dAhja8kEdqRKeAGm8hhTw __dAhdq8kEdqRKeAGm8hhTw __irENa8kEdqRKeAGm8hhTw __dJrVq8kEdqRKeAGm8hhTw __ihTVK8kEdqRKeAGm8hhTw __irEMK8kEdqRKeAGm8hhTw __ihTnq8kEdqRKeAGm8hhTw __ihTYq8kEdqRKeAGm8hhTw __caEOq8kEdqRKeAGm8hhTw __ihTca8kEdqRKeAGm8hhTw __irEPK8kEdqRKeAGm8hhTw __irEPq8kEdqRKeAGm8hhTw __ihTm68kEdqRKeAGm8hhTw __ihToK8kEdqRKeAGm8hhTw __dJrFa8kEdqRKeAGm8hhTw __irEMa8kEdqRKeAGm8hhTw __ihTd68kEdqRKeAGm8hhTw __ihTX68kEdqRKeAGm8hhTw __caEna8kEdqRKeAGm8hhTw __ihTj68kEdqRKeAGm8hhTw __caEhq8kEdqRKeAGm8hhTw __ihTma8kEdqRKeAGm8hhTw __caErK8kEdqRKeAGm8hhTw __ihTe68kEdqRKeAGm8hhTw __caEwq8kEdqRKeAGm8hhTw __irEQa8kEdqRKeAGm8hhTw __ihTiK8kEdqRKeAGm8hhTw __irEOa8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yba8kEdqRKeAGm8hhTw" source="UML::Activities::BasicActivities" references="__dJrVa8kEdqRKeAGm8hhTw __dJrYK8kEdqRKeAGm8hhTw __dAhja8kEdqRKeAGm8hhTw __dAhdq8kEdqRKeAGm8hhTw __dJrPa8kEdqRKeAGm8hhTw __dJrVq8kEdqRKeAGm8hhTw __dJrW68kEdqRKeAGm8hhTw __dAhk68kEdqRKeAGm8hhTw __caEOq8kEdqRKeAGm8hhTw __dAhaa8kEdqRKeAGm8hhTw __dJrAK8kEdqRKeAGm8hhTw __dJrTK8kEdqRKeAGm8hhTw __dAhc68kEdqRKeAGm8hhTw __dJrFa8kEdqRKeAGm8hhTw __caEKK8kEdqRKeAGm8hhTw __dJrV68kEdqRKeAGm8hhTw __dAhl68kEdqRKeAGm8hhTw __dAhia8kEdqRKeAGm8hhTw __dJrWa8kEdqRKeAGm8hhTw __dJrNa8kEdqRKeAGm8hhTw __cHJ4q8kEdqRKeAGm8hhTw __dAhf68kEdqRKeAGm8hhTw __dJrLa8kEdqRKeAGm8hhTw __dJrCa8kEdqRKeAGm8hhTw __dJrXq8kEdqRKeAGm8hhTw __dJrSa8kEdqRKeAGm8hhTw __dJrWK8kEdqRKeAGm8hhTw __dAhha8kEdqRKeAGm8hhTw __dJrOa8kEdqRKeAGm8hhTw __dJrG68kEdqRKeAGm8hhTw __dJrVK8kEdqRKeAGm8hhTw __dJrUq8kEdqRKeAGm8hhTw __caEV68kEdqRKeAGm8hhTw __dAhna8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1ybq8kEdqRKeAGm8hhTw" source="UML::CompositeStructures::Ports" references="__eM0Mq8kEdqRKeAGm8hhTw __eM0Ja8kEdqRKeAGm8hhTw __eMz868kEdqRKeAGm8hhTw _aOgw0GveEdq4DLWZOhbdEA __eM0K68kEdqRKeAGm8hhTw __eM0Iq8kEdqRKeAGm8hhTw __eM0Lq8kEdqRKeAGm8hhTw __eM0M68kEdqRKeAGm8hhTw __eM0H68kEdqRKeAGm8hhTw __eM0Ca8kEdqRKeAGm8hhTw __eM0L68kEdqRKeAGm8hhTw __eM0G68kEdqRKeAGm8hhTw __eM0DK8kEdqRKeAGm8hhTw __eM0Jq8kEdqRKeAGm8hhTw __eM0Ka8kEdqRKeAGm8hhTw _ZAuvEGveEdq4DLWZOhbdEA __eMz9q8kEdqRKeAGm8hhTw __eMz_68kEdqRKeAGm8hhTw __eMz-a8kEdqRKeAGm8hhTw __eM0A68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1yb68kEdqRKeAGm8hhTw" source="UML::Activities::ExtraStructuredActivities" references="__irEj68kEdqRKeAGm8hhTw __irEl68kEdqRKeAGm8hhTw __irESq8kEdqRKeAGm8hhTw __irEQ68kEdqRKeAGm8hhTw __irEX68kEdqRKeAGm8hhTw __irEkq8kEdqRKeAGm8hhTw __irEhq8kEdqRKeAGm8hhTw __irEk68kEdqRKeAGm8hhTw __cj1Pq8kEdqRKeAGm8hhTw __irEVK8kEdqRKeAGm8hhTw __irEkK8kEdqRKeAGm8hhTw __irEeq8kEdqRKeAGm8hhTw __irElK8kEdqRKeAGm8hhTw __irEW68kEdqRKeAGm8hhTw __irERq8kEdqRKeAGm8hhTw __irETq8kEdqRKeAGm8hhTw __irEgq8kEdqRKeAGm8hhTw __irEdK8kEdqRKeAGm8hhTw __irEjq8kEdqRKeAGm8hhTw __irEfq8kEdqRKeAGm8hhTw __irEZa8kEdqRKeAGm8hhTw __irEV68kEdqRKeAGm8hhTw __irEla8kEdqRKeAGm8hhTw __irElq8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1ycK8kEdqRKeAGm8hhTw" source="UML::CompositeStructures::StructuredClasses" references="_00owUGvdEdq4DLWZOhbdEA"/>

+    <eAnnotations xmi:id="__t1yca8kEdqRKeAGm8hhTw" source="InfrastructureLibrary::Profiles" references="_00owUGvdEdq4DLWZOhbdEA __hLP168kEdqRKeAGm8hhTw __hVAjq8kEdqRKeAGm8hhTw __hexZa8kEdqRKeAGm8hhTw _2QuT0GvdEdq4DLWZOhbdEA __hVA1K8kEdqRKeAGm8hhTw __hVAfa8kEdqRKeAGm8hhTw _-cvRAGvzEdq7X4sGURiZYA __hVAq68kEdqRKeAGm8hhTw __hVAt68kEdqRKeAGm8hhTw __hVA5q8kEdqRKeAGm8hhTw __hVAiK8kEdqRKeAGm8hhTw __hVAsK8kEdqRKeAGm8hhTw __hVA0a8kEdqRKeAGm8hhTw __hLPxa8kEdqRKeAGm8hhTw __hVAgq8kEdqRKeAGm8hhTw __hLP5K8kEdqRKeAGm8hhTw __hVAva8kEdqRKeAGm8hhTw __hVAba8kEdqRKeAGm8hhTw _kl90MGvbEdq4DLWZOhbdEA __hVA3q8kEdqRKeAGm8hhTw _A7vDAGv0Edq7X4sGURiZYA __hLP0a8kEdqRKeAGm8hhTw __hVAw68kEdqRKeAGm8hhTw __hexaq8kEdqRKeAGm8hhTw __pew8GvzEdq7X4sGURiZYA __hexYK8kEdqRKeAGm8hhTw __hVAk68kEdqRKeAGm8hhTw __hVA5K8kEdqRKeAGm8hhTw __hVAyq8kEdqRKeAGm8hhTw __hVAYa8kEdqRKeAGm8hhTw _uY5yQGv5Edq7X4sGURiZYA __hVAmq8kEdqRKeAGm8hhTw __hVAcK8kEdqRKeAGm8hhTw __hVAaa8kEdqRKeAGm8hhTw __hVAp68kEdqRKeAGm8hhTw __hVA2a8kEdqRKeAGm8hhTw __hVA368kEdqRKeAGm8hhTw _skHGwGvsEdqG6fBIPwe-mw __hexa68kEdqRKeAGm8hhTw __hLP3a8kEdqRKeAGm8hhTw _nDq0wJPzEdqpjIDDFZ2Hgw __hVA4a8kEdqRKeAGm8hhTw __hVA268kEdqRKeAGm8hhTw __hexYq8kEdqRKeAGm8hhTw _csVgUGvtEdqG6fBIPwe-mw __hVA1q8kEdqRKeAGm8hhTw __hexZ68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t1ycq8kEdqRKeAGm8hhTw" source="UML::Actions::StructuredActions" references="__hex268kEdqRKeAGm8hhTw __hn7UK8kEdqRKeAGm8hhTw __hexxa8kEdqRKeAGm8hhTw __hexp68kEdqRKeAGm8hhTw __hexjK8kEdqRKeAGm8hhTw __hexra8kEdqRKeAGm8hhTw __hexc68kEdqRKeAGm8hhTw __hex7K8kEdqRKeAGm8hhTw __hexnq8kEdqRKeAGm8hhTw __hex5a8kEdqRKeAGm8hhTw __hextq8kEdqRKeAGm8hhTw __hex6q8kEdqRKeAGm8hhTw __hexfa8kEdqRKeAGm8hhTw __hexea8kEdqRKeAGm8hhTw __hex2K8kEdqRKeAGm8hhTw __hexvK8kEdqRKeAGm8hhTw __hn7Va8kEdqRKeAGm8hhTw __hex4K8kEdqRKeAGm8hhTw __hexm68kEdqRKeAGm8hhTw __hn7V68kEdqRKeAGm8hhTw __hex568kEdqRKeAGm8hhTw __hex3a8kEdqRKeAGm8hhTw __hex0a8kEdqRKeAGm8hhTw __hexpK8kEdqRKeAGm8hhTw __hex168kEdqRKeAGm8hhTw __hn7Uq8kEdqRKeAGm8hhTw __hex4q8kEdqRKeAGm8hhTw __hexla8kEdqRKeAGm8hhTw __hexv68kEdqRKeAGm8hhTw __hexs68kEdqRKeAGm8hhTw __hexhq8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t_jYK8kEdqRKeAGm8hhTw" source="UML::Activities::FundamentalActivities" references="__caET68kEdqRKeAGm8hhTw __cQ6la8kEdqRKeAGm8hhTw __caEQ68kEdqRKeAGm8hhTw __caENK8kEdqRKeAGm8hhTw __caEaa8kEdqRKeAGm8hhTw __caEaK8kEdqRKeAGm8hhTw __caEPa8kEdqRKeAGm8hhTw __caEZq8kEdqRKeAGm8hhTw __caEOq8kEdqRKeAGm8hhTw __caEYK8kEdqRKeAGm8hhTw __caESa8kEdqRKeAGm8hhTw __caEKK8kEdqRKeAGm8hhTw __caELq8kEdqRKeAGm8hhTw __caEWq8kEdqRKeAGm8hhTw __caEV68kEdqRKeAGm8hhTw __caEa68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t_jYa8kEdqRKeAGm8hhTw" source="UML::Deployments::Artifacts" references="__eV-G68kEdqRKeAGm8hhTw __eV-Ma8kEdqRKeAGm8hhTw _-lGRgHLzEdqziYxiZo0YtA __eV-Bq8kEdqRKeAGm8hhTw __eV-AK8kEdqRKeAGm8hhTw __eV-Jq8kEdqRKeAGm8hhTw __eV-H68kEdqRKeAGm8hhTw __eV-La8kEdqRKeAGm8hhTw __eV-N68kEdqRKeAGm8hhTw __eV9-q8kEdqRKeAGm8hhTw __eV-NK8kEdqRKeAGm8hhTw __eV-JK8kEdqRKeAGm8hhTw __eV-J68kEdqRKeAGm8hhTw __eV-DK8kEdqRKeAGm8hhTw __eV-Eq8kEdqRKeAGm8hhTw __eV-Kq8kEdqRKeAGm8hhTw __eV-GK8kEdqRKeAGm8hhTw __eV-Ia8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t_jYq8kEdqRKeAGm8hhTw" source="UML::Interactions::Fragments" references="__efvV68kEdqRKeAGm8hhTw __epgPa8kEdqRKeAGm8hhTw __epf568kEdqRKeAGm8hhTw __epgGK8kEdqRKeAGm8hhTw __epgJ68kEdqRKeAGm8hhTw __epf268kEdqRKeAGm8hhTw __epgLK8kEdqRKeAGm8hhTw __epgKa8kEdqRKeAGm8hhTw __efu9a8kEdqRKeAGm8hhTw __dTcIK8kEdqRKeAGm8hhTw __epgF68kEdqRKeAGm8hhTw __epgO68kEdqRKeAGm8hhTw __efvNq8kEdqRKeAGm8hhTw __eypwK8kEdqRKeAGm8hhTw __epgOK8kEdqRKeAGm8hhTw __epgGa8kEdqRKeAGm8hhTw __epgHq8kEdqRKeAGm8hhTw __efvDq8kEdqRKeAGm8hhTw __epf_a8kEdqRKeAGm8hhTw __efvMK8kEdqRKeAGm8hhTw __epf6q8kEdqRKeAGm8hhTw __epf0K8kEdqRKeAGm8hhTw __efvIK8kEdqRKeAGm8hhTw __efvS68kEdqRKeAGm8hhTw __epgG68kEdqRKeAGm8hhTw __epf168kEdqRKeAGm8hhTw __epgNq8kEdqRKeAGm8hhTw __epf-a8kEdqRKeAGm8hhTw __efvFK8kEdqRKeAGm8hhTw __dTcAK8kEdqRKeAGm8hhTw __epgM68kEdqRKeAGm8hhTw __efvKq8kEdqRKeAGm8hhTw __epgOa8kEdqRKeAGm8hhTw __efvUa8kEdqRKeAGm8hhTw __epgI68kEdqRKeAGm8hhTw __epf8K8kEdqRKeAGm8hhTw __epgQK8kEdqRKeAGm8hhTw __eypwa8kEdqRKeAGm8hhTw __efvb68kEdqRKeAGm8hhTw __efvcq8kEdqRKeAGm8hhTw __epgMa8kEdqRKeAGm8hhTw __epgJK8kEdqRKeAGm8hhTw __epgPK8kEdqRKeAGm8hhTw __efveK8kEdqRKeAGm8hhTw __dJrY68kEdqRKeAGm8hhTw __efvBK8kEdqRKeAGm8hhTw __epgLq8kEdqRKeAGm8hhTw __efvCK8kEdqRKeAGm8hhTw __epgIK8kEdqRKeAGm8hhTw __efvYK8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t_jY68kEdqRKeAGm8hhTw" source="UML::Classes::Dependencies" references="_rEDGkGwKEdq7X4sGURiZYA __ctmRK8kEdqRKeAGm8hhTw __ctmJK8kEdqRKeAGm8hhTw __ctmSa8kEdqRKeAGm8hhTw __ctmJ68kEdqRKeAGm8hhTw __ctmIK8kEdqRKeAGm8hhTw __cj1jq8kEdqRKeAGm8hhTw _ZiwkoGwLEdq7X4sGURiZYA __ctmUa8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw __Zkyxq8kEdqRKeAGm8hhTw __ctmLq8kEdqRKeAGm8hhTw __ctmNa8kEdqRKeAGm8hhTw __ctmV68kEdqRKeAGm8hhTw _6UV2QGwJEdq7X4sGURiZYA __ctmO68kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __ctmU68kEdqRKeAGm8hhTw __ctmTq8kEdqRKeAGm8hhTw __ctmRq8kEdqRKeAGm8hhTw _jKxnwGwLEdq7X4sGURiZYA __cj1f68kEdqRKeAGm8hhTw __cj1ha8kEdqRKeAGm8hhTw __cj1gq8kEdqRKeAGm8hhTw __ctmKq8kEdqRKeAGm8hhTw _csVgUGvtEdqG6fBIPwe-mw __ctmS68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t_jZK8kEdqRKeAGm8hhTw" source="UML::Classes::Interfaces" references="__c2wNK8kEdqRKeAGm8hhTw __c2wPK8kEdqRKeAGm8hhTw _8Ugn8GvtEdqG6fBIPwe-mw __c2wQq8kEdqRKeAGm8hhTw __ctmaq8kEdqRKeAGm8hhTw __c2wJK8kEdqRKeAGm8hhTw _M4X2IGveEdq4DLWZOhbdEA __c2wOa8kEdqRKeAGm8hhTw __ctmZK8kEdqRKeAGm8hhTw _iY7sMGvsEdqG6fBIPwe-mw __c2wHa8kEdqRKeAGm8hhTw __c2wEa8kEdqRKeAGm8hhTw __ctmXq8kEdqRKeAGm8hhTw __c2wKq8kEdqRKeAGm8hhTw __c2wLa8kEdqRKeAGm8hhTw __c2wFa8kEdqRKeAGm8hhTw __ctmcK8kEdqRKeAGm8hhTw __c2wNq8kEdqRKeAGm8hhTw __c2wP68kEdqRKeAGm8hhTw _l2mXcHLzEdqziYxiZo0YtA __c2wRK8kEdqRKeAGm8hhTw __c2wMK8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t_jZa8kEdqRKeAGm8hhTw" source="UML::Deployments::Nodes" references="__eV-Oq8kEdqRKeAGm8hhTw __eV-VK8kEdqRKeAGm8hhTw __efu5q8kEdqRKeAGm8hhTw _-lGRgHLzEdqziYxiZo0YtA __eV-Qa8kEdqRKeAGm8hhTw __efu6K8kEdqRKeAGm8hhTw __eV-ca8kEdqRKeAGm8hhTw __efu668kEdqRKeAGm8hhTw __eV-V68kEdqRKeAGm8hhTw __efu8K8kEdqRKeAGm8hhTw __efu8a8kEdqRKeAGm8hhTw __eV-aa8kEdqRKeAGm8hhTw __eV-Tq8kEdqRKeAGm8hhTw __efu8q8kEdqRKeAGm8hhTw _Jp_1oGveEdq4DLWZOhbdEA __efu0K8kEdqRKeAGm8hhTw __a62b68kEdqRKeAGm8hhTw __eV-Xa8kEdqRKeAGm8hhTw __eV-R68kEdqRKeAGm8hhTw __eV-Pa8kEdqRKeAGm8hhTw __eV-Wq8kEdqRKeAGm8hhTw __eV-Y68kEdqRKeAGm8hhTw __efu7q8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t_jZq8kEdqRKeAGm8hhTw" source="UML::Deployments::ComponentDeployments" references="__eV-Oq8kEdqRKeAGm8hhTw __i0OKa8kEdqRKeAGm8hhTw __irEpa8kEdqRKeAGm8hhTw __i0ONa8kEdqRKeAGm8hhTw __i0OL68kEdqRKeAGm8hhTw __i0OO68kEdqRKeAGm8hhTw __i0OIK8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__t_jZ68kEdqRKeAGm8hhTw" source="UML::AuxiliaryConstructs::Profiles" references="_2QuT0GvdEdq4DLWZOhbdEA __hVAq68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__uJUYK8kEdqRKeAGm8hhTw" source="UML::Components::PackagingComponents" references="__irEn68kEdqRKeAGm8hhTw _DAbfwa69EdqjppZik4kD8A __irEma8kEdqRKeAGm8hhTw __irEoa8kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__uJUYa8kEdqRKeAGm8hhTw" source="UML::StateMachines::ProtocolStateMachines" references="__i0Or68kEdqRKeAGm8hhTw __i0OaK8kEdqRKeAGm8hhTw __i0Ora8kEdqRKeAGm8hhTw __i0OoK8kEdqRKeAGm8hhTw __i0Oma8kEdqRKeAGm8hhTw __i0OdK8kEdqRKeAGm8hhTw _8Ugn8GvtEdqG6fBIPwe-mw __gujr68kEdqRKeAGm8hhTw __i0Om68kEdqRKeAGm8hhTw __hCFnK8kEdqRKeAGm8hhTw __i0OYq8kEdqRKeAGm8hhTw __i0OVq8kEdqRKeAGm8hhTw __i0OpK8kEdqRKeAGm8hhTw __i0Okq8kEdqRKeAGm8hhTw __i0OPa8kEdqRKeAGm8hhTw __i0OQK8kEdqRKeAGm8hhTw __i0Oqa8kEdqRKeAGm8hhTw __i0Onq8kEdqRKeAGm8hhTw __i0Ohq8kEdqRKeAGm8hhTw __i0Opq8kEdqRKeAGm8hhTw __i0Obq8kEdqRKeAGm8hhTw __i0Oja8kEdqRKeAGm8hhTw _ZAuvEGveEdq4DLWZOhbdEA __i0ORq8kEdqRKeAGm8hhTw __i0Olq8kEdqRKeAGm8hhTw __i0Ola8kEdqRKeAGm8hhTw __i0OUq8kEdqRKeAGm8hhTw __i0Oqq8kEdqRKeAGm8hhTw __i0OS68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__uJUYq8kEdqRKeAGm8hhTw" source="UML::Classes::AssociationClasses" references="__i9_J68kEdqRKeAGm8hhTw __i9_IK8kEdqRKeAGm8hhTw __i9_L68kEdqRKeAGm8hhTw __i9_Na8kEdqRKeAGm8hhTw _Jp_1oGveEdq4DLWZOhbdEA __i9_O68kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__umAUK8kEdqRKeAGm8hhTw" source="UML::AuxiliaryConstructs::Models" references="_NVhqMGv0Edq7X4sGURiZYA __hn7368kEdqRKeAGm8hhTw"/>

+    <eAnnotations xmi:id="__uvKQK8kEdqRKeAGm8hhTw" source="InfrastructureLibrary::Core::PrimitiveTypes" references="_UdivYGvsEdqG6fBIPwe-mw _dRZxsGvsEdqG6fBIPwe-mw _aAyVgGvsEdqG6fBIPwe-mw _XqvEIGvsEdqG6fBIPwe-mw"/>

+    <eAnnotations xmi:id="__vL2MK8kEdqRKeAGm8hhTw" source="UML::CompositeStructures::StructuredActivities" references="__caEba8kEdqRKeAGm8hhTw"/>

   </eAnnotations>

   <packageImport xmi:id="__as3cGvaEdq4DLWZOhbdEA">

     <importedPackage xmi:type="uml:Model" href="Ecore.uml2#439EC3AE03B5"/>

@@ -59,17 +59,17 @@
   </packageImport>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_XqvEIGvsEdqG6fBIPwe-mw" name="Integer">

     <eAnnotations xmi:id="_KWFGYmzMEdq4d7jt9iWoqg" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_7p7SAa8ZEdq_3JIOnBmAhg" instanceClassName="int"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_0UbqIa8kEdq9B5_HWrPktA" instanceClassName="int"/>

     </eAnnotations>

-    <ownedComment xmi:id="_35AIoK8aEdqf6aL57Hh6KQ" annotatedElement="_XqvEIGvsEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__Zujkq8kEdqRKeAGm8hhTw" annotatedElement="_XqvEIGvsEdqG6fBIPwe-mw">

       <body>An instance of Integer is an element in the (infinite) set of integers (...-2, -1, 0, 1, 2...). It is used for integer attributes and integer expressions in the metamodel.</body>

     </ownedComment>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_UdivYGvsEdqG6fBIPwe-mw" name="Boolean">

     <eAnnotations xmi:id="_KWFGYGzMEdq4d7jt9iWoqg" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_7p7SAK8ZEdq_3JIOnBmAhg" instanceClassName="boolean"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_0UbqIK8kEdq9B5_HWrPktA" instanceClassName="boolean"/>

     </eAnnotations>

-    <ownedComment xmi:id="_35AIoa8aEdqf6aL57Hh6KQ" annotatedElement="_UdivYGvsEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__Zujk68kEdqRKeAGm8hhTw" annotatedElement="_UdivYGvsEdqG6fBIPwe-mw">

       <body>Boolean is an instance of PrimitiveType. In the metamodel, Boolean defines an enumeration that denotes a logical condition. Its enumeration literals are:

 

   - true: The Boolean condition is satisfied.

@@ -83,374 +83,374 @@
   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_aAyVgGvsEdqG6fBIPwe-mw" name="String">

     <eAnnotations xmi:id="_KWO3YGzMEdq4d7jt9iWoqg" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_7p7SAq8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.String"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_0UbqIq8kEdq9B5_HWrPktA" instanceClassName="java.lang.String"/>

     </eAnnotations>

-    <ownedComment xmi:id="_35AIoq8aEdqf6aL57Hh6KQ" annotatedElement="_aAyVgGvsEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__ZujlK8kEdqRKeAGm8hhTw" annotatedElement="_aAyVgGvsEdqG6fBIPwe-mw">

       <body>An instance of String defines a piece of text. The semantics of the string itself depends on its purpose, it can be a comment, computational language expression, OCL expression, etc. It is used for String attributes and String expressions in the metamodel.</body>

     </ownedComment>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_dRZxsGvsEdqG6fBIPwe-mw" name="UnlimitedNatural">

     <eAnnotations xmi:id="_KWO3YmzMEdq4d7jt9iWoqg" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_7p7SA68ZEdq_3JIOnBmAhg" instanceClassName="int"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_0UbqI68kEdq9B5_HWrPktA" instanceClassName="int"/>

     </eAnnotations>

-    <ownedComment xmi:id="_35AIo68aEdqf6aL57Hh6KQ" annotatedElement="_dRZxsGvsEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__Zujla8kEdqRKeAGm8hhTw" annotatedElement="_dRZxsGvsEdqG6fBIPwe-mw">

       <body>An instance of UnlimitedNatural is an element in the (infinite) set of naturals (0, 1, 2...). The value of infinity is shown using an asterisk ('*').</body>

     </ownedComment>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_34jczK8aEdqf6aL57Hh6KQ" name="Comment">

-    <ownedComment xmi:id="_34jcza8aEdqf6aL57Hh6KQ" annotatedElement="_34jczK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__ZR3ta8kEdqRKeAGm8hhTw" name="Comment">

+    <ownedComment xmi:id="__ZR3tq8kEdqRKeAGm8hhTw" annotatedElement="__ZR3ta8kEdqRKeAGm8hhTw">

       <body>A comment is a textual annotation that can be attached to a set of elements.</body>

     </ownedComment>

-    <ownedComment xmi:id="_35J5oq8aEdqf6aL57Hh6KQ" annotatedElement="_34jczK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__Zujo68kEdqRKeAGm8hhTw" annotatedElement="__ZR3ta8kEdqRKeAGm8hhTw">

       <body>A comment gives the ability to attach various remarks to elements. A comment carries no semantic force, but may contain information that is useful to a modeler. A comment can be owned by any element.</body>

     </ownedComment>

-    <generalization xmi:id="_34jczq8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_34jcz68aEdqf6aL57Hh6KQ" name="body" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_34jc0K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_34jc0a8aEdqf6aL57Hh6KQ" isUnsettable="true" xmlFeatureKind="Element"/>

+    <generalization xmi:id="__ZR3t68kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__ZR3uK8kEdqRKeAGm8hhTw" name="body" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__ZR3ua8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__ZR3uq8kEdqRKeAGm8hhTw" isUnsettable="true" xmlFeatureKind="Element"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34jc0q8aEdqf6aL57Hh6KQ" annotatedElement="_34jcz68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZR3u68kEdqRKeAGm8hhTw" annotatedElement="__ZR3uK8kEdqRKeAGm8hhTw">

         <body>Specifies a string that is the comment.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35J5o68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5pK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ZujpK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Zujpa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34jc1a8aEdqf6aL57Hh6KQ" name="annotatedElement" type="_kl90MGvbEdq4DLWZOhbdEA" association="_342Xyq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34jc1q8aEdqf6aL57Hh6KQ" annotatedElement="_34jc1a8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ZR3vq8kEdqRKeAGm8hhTw" name="annotatedElement" type="_kl90MGvbEdq4DLWZOhbdEA" association="__Zkyra8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZR3v68kEdqRKeAGm8hhTw" annotatedElement="__ZR3vq8kEdqRKeAGm8hhTw">

         <body>References the Element(s) being commented.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35J5pa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5pq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Zujpq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Zujp68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_JBgfoKPAEdqi_5gqUMOQtA" name="DirectedRelationship" isAbstract="true">

-    <ownedComment xmi:id="_33EPP68aEdqf6aL57Hh6KQ" annotatedElement="_JBgfoKPAEdqi_5gqUMOQtA">

+    <ownedComment xmi:id="__X8bL68kEdqRKeAGm8hhTw" annotatedElement="_JBgfoKPAEdqi_5gqUMOQtA">

       <body>A directed relationship references one or more source elements and one or more target elements. DirectedRelationship is an abstract metaclass.</body>

     </ownedComment>

-    <generalization xmi:id="_33N_8K8aEdqf6aL57Hh6KQ" general="_DH62EKPAEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_33N_8a8aEdqf6aL57Hh6KQ" name="source" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33g7A68aEdqf6aL57Hh6KQ" association="_342Xzq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33N_8q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33N_868aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__X8bMK8kEdqRKeAGm8hhTw" general="_DH62EKPAEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__YFk0K8kEdqRKeAGm8hhTw" name="source" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YYf468kEdqRKeAGm8hhTw" association="__Zkysa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YFk0a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YFk0q8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33N_9K8aEdqf6aL57Hh6KQ" annotatedElement="_33N_8a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YFk068kEdqRKeAGm8hhTw" annotatedElement="__YFk0K8kEdqRKeAGm8hhTw">

         <body>Specifies the sources of the DirectedRelationship.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35J5p68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5qK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ZujqK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Zujqa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33N_968aEdqf6aL57Hh6KQ" name="target" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33g7A68aEdqf6aL57Hh6KQ" association="_342X0a8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33N_-K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33N_-a8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YFk1q8kEdqRKeAGm8hhTw" name="target" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YYf468kEdqRKeAGm8hhTw" association="__ZkytK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YFk168kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YFk2K8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33N_-q8aEdqf6aL57Hh6KQ" annotatedElement="_33N_968aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YFk2a8kEdqRKeAGm8hhTw" annotatedElement="__YFk1q8kEdqRKeAGm8hhTw">

         <body>Specifies the targets of the DirectedRelationship.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35J5qa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5qq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Zujqq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Zujq68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_35TDt68aEdqf6aL57Hh6KQ" name="LiteralSpecification" isAbstract="true">

-    <ownedComment xmi:id="_35TDuK8aEdqf6aL57Hh6KQ" annotatedElement="_35TDt68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__aBenK8kEdqRKeAGm8hhTw" name="LiteralSpecification" isAbstract="true">

+    <ownedComment xmi:id="__aBena8kEdqRKeAGm8hhTw" annotatedElement="__aBenK8kEdqRKeAGm8hhTw">

       <body>A literal specification is an abstract specialization of ValueSpecification that identifies a literal constant being modeled.</body>

     </ownedComment>

-    <generalization xmi:id="_35TDua8aEdqf6aL57Hh6KQ" general="_33qE0K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__aBenq8kEdqRKeAGm8hhTw" general="__YYf9a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_Dy77oGveEdq4DLWZOhbdEA" name="LiteralInteger">

-    <ownedComment xmi:id="_35TDuq8aEdqf6aL57Hh6KQ" annotatedElement="_Dy77oGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__aBen68kEdqRKeAGm8hhTw" annotatedElement="_Dy77oGveEdq4DLWZOhbdEA">

       <body>A literal integer contains an Integer-valued attribute.</body>

     </ownedComment>

-    <generalization xmi:id="_35TDu68aEdqf6aL57Hh6KQ" general="_35TDt68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_35TDvK8aEdqf6aL57Hh6KQ" name="value" type="_XqvEIGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_35TDva8aEdqf6aL57Hh6KQ" annotatedElement="_35TDvK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__aBeoK8kEdqRKeAGm8hhTw" general="__aBenK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__aBeoa8kEdqRKeAGm8hhTw" name="value" type="_XqvEIGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__aBeoq8kEdqRKeAGm8hhTw" annotatedElement="__aBeoa8kEdqRKeAGm8hhTw">

         <body>The specified Integer value.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_35TDvq8aEdqf6aL57Hh6KQ" type="_XqvEIGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="__aBeo68kEdqRKeAGm8hhTw" type="_XqvEIGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_e2SLUGWKEdq-f4093SZhVA" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_hAkRkGWKEdq-f4093SZhVA" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35TDv68aEdqf6aL57Hh6KQ" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE1K8aEdqf6aL57Hh6KQ" bodyCondition="_35TDwa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35TDwK8aEdqf6aL57Hh6KQ" annotatedElement="_35TDv68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBepK8kEdqRKeAGm8hhTw" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf-a8kEdqRKeAGm8hhTw" bodyCondition="__aBepq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBepa8kEdqRKeAGm8hhTw" annotatedElement="__aBepK8kEdqRKeAGm8hhTw">

         <body>The query isComputable() is redefined to be true.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35TDwa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TDv68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDwq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBepq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBepK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBep68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35TDw68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBeqK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35TDxK8aEdqf6aL57Hh6KQ" name="integerValue" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE2a8aEdqf6aL57Hh6KQ" bodyCondition="_35TDxq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35TDxa8aEdqf6aL57Hh6KQ" annotatedElement="_35TDxK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBeqa8kEdqRKeAGm8hhTw" name="integerValue" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf_q8kEdqRKeAGm8hhTw" bodyCondition="__aBeq68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBeqq8kEdqRKeAGm8hhTw" annotatedElement="__aBeqa8kEdqRKeAGm8hhTw">

         <body>The query integerValue() gives the value.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35TDxq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TDxK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDx68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBeq68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBeqa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBerK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = value</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35TDyK8aEdqf6aL57Hh6KQ" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBera8kEdqRKeAGm8hhTw" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_35TDya8aEdqf6aL57Hh6KQ" name="LiteralString">

-    <ownedComment xmi:id="_35TDyq8aEdqf6aL57Hh6KQ" annotatedElement="_35TDya8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__aBerq8kEdqRKeAGm8hhTw" name="LiteralString">

+    <ownedComment xmi:id="__aBer68kEdqRKeAGm8hhTw" annotatedElement="__aBerq8kEdqRKeAGm8hhTw">

       <body>A literal string contains a String-valued attribute.</body>

     </ownedComment>

-    <generalization xmi:id="_35TDy68aEdqf6aL57Hh6KQ" general="_35TDt68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_35TDzK8aEdqf6aL57Hh6KQ" name="value" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_35TDza8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_35TDzq8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <generalization xmi:id="__aBesK8kEdqRKeAGm8hhTw" general="__aBenK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__aBesa8kEdqRKeAGm8hhTw" name="value" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__aBesq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__aBes68kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_35TDz68aEdqf6aL57Hh6KQ" annotatedElement="_35TDzK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aBetK8kEdqRKeAGm8hhTw" annotatedElement="__aBesa8kEdqRKeAGm8hhTw">

         <body>The specified String value.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35TD0K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35TD0a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aBeta8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aBetq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_35TD0q8aEdqf6aL57Hh6KQ" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE1K8aEdqf6aL57Hh6KQ" bodyCondition="_35TD1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35TD068aEdqf6aL57Hh6KQ" annotatedElement="_35TD0q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBet68kEdqRKeAGm8hhTw" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf-a8kEdqRKeAGm8hhTw" bodyCondition="__aBeua8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBeuK8kEdqRKeAGm8hhTw" annotatedElement="__aBet68kEdqRKeAGm8hhTw">

         <body>The query isComputable() is redefined to be true.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35TD1K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TD0q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TD1a8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBeua8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBet68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBeuq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35TD1q8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBeu68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35TD168aEdqf6aL57Hh6KQ" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE468aEdqf6aL57Hh6KQ" bodyCondition="_35TD2a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35TD2K8aEdqf6aL57Hh6KQ" annotatedElement="_35TD168aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBevK8kEdqRKeAGm8hhTw" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYgCK8kEdqRKeAGm8hhTw" bodyCondition="__aBevq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBeva8kEdqRKeAGm8hhTw" annotatedElement="__aBevK8kEdqRKeAGm8hhTw">

         <body>The query stringValue() gives the value.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35TD2a8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TD168aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TD2q8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBevq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBevK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBev68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = value</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35TD268aEdqf6aL57Hh6KQ" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBewK8kEdqRKeAGm8hhTw" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_FFMNsGveEdq4DLWZOhbdEA" name="LiteralBoolean">

-    <ownedComment xmi:id="_35TD3K8aEdqf6aL57Hh6KQ" annotatedElement="_FFMNsGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__aBewa8kEdqRKeAGm8hhTw" annotatedElement="_FFMNsGveEdq4DLWZOhbdEA">

       <body>A literal boolean contains a Boolean-valued attribute.</body>

     </ownedComment>

-    <generalization xmi:id="_35TD3a8aEdqf6aL57Hh6KQ" general="_35TDt68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_35TD3q8aEdqf6aL57Hh6KQ" name="value" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_35TD368aEdqf6aL57Hh6KQ" annotatedElement="_35TD3q8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__aBewq8kEdqRKeAGm8hhTw" general="__aBenK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__aBew68kEdqRKeAGm8hhTw" name="value" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__aBexK8kEdqRKeAGm8hhTw" annotatedElement="__aBew68kEdqRKeAGm8hhTw">

         <body>The specified Boolean value.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_35TD4K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__aBexa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_aXS3gGWKEdq-f4093SZhVA" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_cFthIGWKEdq-f4093SZhVA" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35TD4a8aEdqf6aL57Hh6KQ" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE1K8aEdqf6aL57Hh6KQ" bodyCondition="_35c0kK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35TD4q8aEdqf6aL57Hh6KQ" annotatedElement="_35TD4a8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBexq8kEdqRKeAGm8hhTw" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf-a8kEdqRKeAGm8hhTw" bodyCondition="__aBeyK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBex68kEdqRKeAGm8hhTw" annotatedElement="__aBexq8kEdqRKeAGm8hhTw">

         <body>The query isComputable() is redefined to be true.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35c0kK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TD4a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0ka8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBeyK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBexq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBeya8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35c0kq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBeyq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35c0k68aEdqf6aL57Hh6KQ" name="booleanValue" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE3q8aEdqf6aL57Hh6KQ" bodyCondition="_35c0la8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35c0lK8aEdqf6aL57Hh6KQ" annotatedElement="_35c0k68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBey68kEdqRKeAGm8hhTw" name="booleanValue" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYgA68kEdqRKeAGm8hhTw" bodyCondition="__aBeza8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBezK8kEdqRKeAGm8hhTw" annotatedElement="__aBey68kEdqRKeAGm8hhTw">

         <body>The query booleanValue() gives the value.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35c0la8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35c0k68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0lq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBeza8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBey68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBezq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = value</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35c0l68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBez68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_35c0mK8aEdqf6aL57Hh6KQ" name="LiteralNull">

-    <ownedComment xmi:id="_35c0ma8aEdqf6aL57Hh6KQ" annotatedElement="_35c0mK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__aBe0K8kEdqRKeAGm8hhTw" name="LiteralNull">

+    <ownedComment xmi:id="__aBe0a8kEdqRKeAGm8hhTw" annotatedElement="__aBe0K8kEdqRKeAGm8hhTw">

       <body>A literal null is used to represent null, i.e., the absence of a value.</body>

     </ownedComment>

-    <generalization xmi:id="_35c0mq8aEdqf6aL57Hh6KQ" general="_35TDt68aEdqf6aL57Hh6KQ"/>

-    <ownedOperation xmi:id="_35c0m68aEdqf6aL57Hh6KQ" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE1K8aEdqf6aL57Hh6KQ" bodyCondition="_35c0na8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35c0nK8aEdqf6aL57Hh6KQ" annotatedElement="_35c0m68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__aBe0q8kEdqRKeAGm8hhTw" general="__aBenK8kEdqRKeAGm8hhTw"/>

+    <ownedOperation xmi:id="__aBe068kEdqRKeAGm8hhTw" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf-a8kEdqRKeAGm8hhTw" bodyCondition="__aBe1a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBe1K8kEdqRKeAGm8hhTw" annotatedElement="__aBe068kEdqRKeAGm8hhTw">

         <body>The query isComputable() is redefined to be true.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35c0na8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35c0m68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0nq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBe1a8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBe068kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBe1q8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35c0n68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBe168kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35c0oK8aEdqf6aL57Hh6KQ" name="isNull" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE7a8aEdqf6aL57Hh6KQ" bodyCondition="_35c0oq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35c0oa8aEdqf6aL57Hh6KQ" annotatedElement="_35c0oK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBe2K8kEdqRKeAGm8hhTw" name="isNull" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYgEq8kEdqRKeAGm8hhTw" bodyCondition="__aBe2q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBe2a8kEdqRKeAGm8hhTw" annotatedElement="__aBe2K8kEdqRKeAGm8hhTw">

         <body>The query isNull() returns true.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35c0oq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35c0oK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0o68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBe2q8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBe2K8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBe268kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35c0pK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBe3K8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_33z2DK8aEdqf6aL57Hh6KQ" name="Constraint">

-    <ownedComment xmi:id="_33z2Da8aEdqf6aL57Hh6KQ" annotatedElement="_33z2DK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__YsB9a8kEdqRKeAGm8hhTw" name="Constraint">

+    <ownedComment xmi:id="__YsB9q8kEdqRKeAGm8hhTw" annotatedElement="__YsB9a8kEdqRKeAGm8hhTw">

       <body>Constraint contains a ValueSpecification that specifies additional semantics for one or more elements. Certain kinds of constraints (such as an association &quot;xor&quot; constraint) are predefined in UML, others may be user-defined. A user-defined Constraint is described using a specified language, whose syntax and interpretation is a tool responsibility. One predefined language for writing constraints is OCL. In some situations, a programming language such as Java may be appropriate for expressing a constraint. In other situations natural language may be used.

 

 Constraint is a condition (a Boolean expression) that restricts the extension of the associated element beyond what is imposed by the other language constructs applied to the element. Constraint contains an optional name, although they are commonly unnamed.</body>

     </ownedComment>

-    <ownedComment xmi:id="_35c0pa8aEdqf6aL57Hh6KQ" annotatedElement="_33z2DK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__aBe3a8kEdqRKeAGm8hhTw" annotatedElement="__YsB9a8kEdqRKeAGm8hhTw">

       <body>Constraint contains a ValueSpecification that specifies additional semantics for one or more elements. Certain kinds of constraints (such as an association &quot;xor&quot; constraint) are predefined in UML, others may be user-defined. A user-defined Constraint is described using a specified language, whose syntax and interpretation is a tool responsibility. One predefined language for writing constraints is OCL. In some situations, a programming language such as Java may be appropriate for expressing a constraint. In other situations natural language may be used.

 

 Constraint is a condition (a Boolean expression) that restricts the extension of the associated element beyond what is imposed by the other language constructs applied to that element. Constraint contains an optional name, although they are commonly unnamed.</body>

     </ownedComment>

-    <ownedRule xmi:id="_33z2Dq8aEdqf6aL57Hh6KQ" name="not_apply_to_self" constrainedElement="_33z2DK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33z2D68aEdqf6aL57Hh6KQ" annotatedElement="_33z2Dq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YsB968kEdqRKeAGm8hhTw" name="not_apply_to_self" constrainedElement="__YsB9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YsB-K8kEdqRKeAGm8hhTw" annotatedElement="__YsB968kEdqRKeAGm8hhTw">

         <body>A constraint cannot be applied to itself.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_33z2EK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__YsB-a8kEdqRKeAGm8hhTw" language="OCL">

         <body>not constrainedElement->includes(self)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33z2Ea8aEdqf6aL57Hh6KQ" name="value_specification_boolean" constrainedElement="_33z2DK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33z2Eq8aEdqf6aL57Hh6KQ" annotatedElement="_33z2Ea8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YsB-q8kEdqRKeAGm8hhTw" name="value_specification_boolean" constrainedElement="__YsB9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YsB-68kEdqRKeAGm8hhTw" annotatedElement="__YsB-q8kEdqRKeAGm8hhTw">

         <body>The value specification for a constraint must evaluate to a Boolean value.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_33z2E68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__YsB_K8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.specification().booleanValue().isOclKindOf(Boolean)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_35c0pq8aEdqf6aL57Hh6KQ" name="boolean_value" constrainedElement="_33z2DK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35c0p68aEdqf6aL57Hh6KQ" annotatedElement="_35c0pq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__aBe3q8kEdqRKeAGm8hhTw" name="boolean_value" constrainedElement="__YsB9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBe368kEdqRKeAGm8hhTw" annotatedElement="__aBe3q8kEdqRKeAGm8hhTw">

         <body>The value specification for a constraint must evaluate to a Boolean value.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0qK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBe4K8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_35c0qa8aEdqf6aL57Hh6KQ" name="no_side_effects" constrainedElement="_33z2DK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35c0qq8aEdqf6aL57Hh6KQ" annotatedElement="_35c0qa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__aBe4a8kEdqRKeAGm8hhTw" name="no_side_effects" constrainedElement="__YsB9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBe4q8kEdqRKeAGm8hhTw" annotatedElement="__aBe4a8kEdqRKeAGm8hhTw">

         <body>Evaluating the value specification for a constraint must not have side effects.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0q68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBe468kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_35c0rK8aEdqf6aL57Hh6KQ" name="not_applied_to_self" constrainedElement="_33z2DK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35c0ra8aEdqf6aL57Hh6KQ" annotatedElement="_35c0rK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__aBe5K8kEdqRKeAGm8hhTw" name="not_applied_to_self" constrainedElement="__YsB9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBe5a8kEdqRKeAGm8hhTw" annotatedElement="__aBe5K8kEdqRKeAGm8hhTw">

         <body>A constraint cannot be applied to itself.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0rq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBe5q8kEdqRKeAGm8hhTw" language="OCL">

         <body>not constrainedElement->includes(self)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_33z2FK8aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_33z2Fa8aEdqf6aL57Hh6KQ" name="constrainedElement" type="_kl90MGvbEdq4DLWZOhbdEA" isOrdered="true" association="_342X2q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33z2Fq8aEdqf6aL57Hh6KQ" annotatedElement="_33z2Fa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YsB_a8kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__YsB_q8kEdqRKeAGm8hhTw" name="constrainedElement" type="_kl90MGvbEdq4DLWZOhbdEA" isOrdered="true" association="__Zkyva8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YsB_68kEdqRKeAGm8hhTw" annotatedElement="__YsB_q8kEdqRKeAGm8hhTw">

         <body>The ordered set of Elements referenced by this Constraint.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35c0r68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35c0sK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aBe568kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aBe6K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33z2Ga8aEdqf6aL57Hh6KQ" name="specification" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_342X3K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33z2Gq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33z2G68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__YsCAq8kEdqRKeAGm8hhTw" name="specification" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__Zkyv68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YsCA68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YsCBK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33z2HK8aEdqf6aL57Hh6KQ" annotatedElement="_33z2Ga8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YsCBa8kEdqRKeAGm8hhTw" annotatedElement="__YsCAq8kEdqRKeAGm8hhTw">

         <body>A condition that must be true when evaluated in order for the constraint to be satisfied.

 

 </body>

       </ownedComment>

-      <ownedComment xmi:id="_35c0sa8aEdqf6aL57Hh6KQ" annotatedElement="_33z2Ga8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aBe6a8kEdqRKeAGm8hhTw" annotatedElement="__YsCAq8kEdqRKeAGm8hhTw">

         <body>A condition that must be true when evaluated in order for the constraint to be satisfied.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35c0sq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35c0s68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aBe6q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aBe668kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33z2H68aEdqf6aL57Hh6KQ" name="context" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_342YCa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33z2IK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33z2Ia8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__YsCCK8kEdqRKeAGm8hhTw" name="context" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__ZujkK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YsCCa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YsCCq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_35c0tK8aEdqf6aL57Hh6KQ" annotatedElement="_33z2H68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aBe7K8kEdqRKeAGm8hhTw" annotatedElement="__YsCCK8kEdqRKeAGm8hhTw">

         <body>Specifies the namespace that owns the NamedElement.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35c0ta8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35c0tq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aBe7a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aBe7q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_RPl78GwIEdq7X4sGURiZYA" name="ElementImport">

-    <ownedComment xmi:id="_34Qh3K8aEdqf6aL57Hh6KQ" annotatedElement="_RPl78GwIEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__Y-83K8kEdqRKeAGm8hhTw" annotatedElement="_RPl78GwIEdq7X4sGURiZYA">

       <body>An element import is defined as a directed relationship between an importing namespace and a packageable element. The name of the packageable element or its alias is to be added to the namespace of the importing namespace. It is also possible to control whether the imported element can be further imported.</body>

     </ownedComment>

-    <ownedRule xmi:id="_34Qh3a8aEdqf6aL57Hh6KQ" name="visibility_public_or_private" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_34Qh3q8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh3a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__Y-83a8kEdqRKeAGm8hhTw" name="visibility_public_or_private" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__Y-83q8kEdqRKeAGm8hhTw" annotatedElement="__Y-83a8kEdqRKeAGm8hhTw">

         <body>The visibility of an ElementImport is either public or private.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_34Qh368aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__Y-8368kEdqRKeAGm8hhTw" language="OCL">

         <body>self.visibility = #public or self.visibility = #private</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_35c0t68aEdqf6aL57Hh6KQ" name="visibility_or_private" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_35c0uK8aEdqf6aL57Hh6KQ" annotatedElement="_35c0t68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__aBe768kEdqRKeAGm8hhTw" name="visibility_or_private" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__aBe8K8kEdqRKeAGm8hhTw" annotatedElement="__aBe768kEdqRKeAGm8hhTw">

         <body>The visibility of an ElementImport is either public or private.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0ua8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBe8a8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.visibility = #public or self.visibility = #private</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_34Qh4K8aEdqf6aL57Hh6KQ" name="imported_element_is_public" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_34Qh4a8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh4K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__Y-84K8kEdqRKeAGm8hhTw" name="imported_element_is_public" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__Y-84a8kEdqRKeAGm8hhTw" annotatedElement="__Y-84K8kEdqRKeAGm8hhTw">

         <body>An importedElement has either public visibility or no visibility at all.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0uq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBe8q8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_34Qh468aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_34Qh5K8aEdqf6aL57Hh6KQ" name="visibility" type="_AyM_oGwMEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_34Qh5a8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh5K8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__Y-8468kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__Y-85K8kEdqRKeAGm8hhTw" name="visibility" type="_AyM_oGwMEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__Y-85a8kEdqRKeAGm8hhTw" annotatedElement="__Y-85K8kEdqRKeAGm8hhTw">

         <body>Specifies the visibility of the imported PackageableElement within the importing Package. The default visibility is the same as that of the imported element. If the imported element does not have a visibility, it is possible to add visibility to the element import.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_35c0u68aEdqf6aL57Hh6KQ" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_34jc7K8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__aBe868kEdqRKeAGm8hhTw" type="_AyM_oGwMEdq7X4sGURiZYA" instance="__ZR31a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34Qh568aEdqf6aL57Hh6KQ" name="alias" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_34Qh6K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_34Qh6a8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__Y-8568kEdqRKeAGm8hhTw" name="alias" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__Y-86K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__Y-86a8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34Qh6q8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh568aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y-86q8kEdqRKeAGm8hhTw" annotatedElement="__Y-8568kEdqRKeAGm8hhTw">

         <body>Specifies the name that should be added to the namespace of the importing Package in lieu of the name of the imported PackagableElement. The aliased name must not clash with any other member name in the importing Package. By default, no alias is used.</body>

       </ownedComment>

-      <ownedComment xmi:id="_35c0vK8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh568aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aBe9K8kEdqRKeAGm8hhTw" annotatedElement="__Y-8568kEdqRKeAGm8hhTw">

         <body>Specifies the name that should be added to the namespace of the importing Pack-age in lieu of the name of the imported PackagableElement. The aliased name must not clash with any other member name in the importing Package. By default, no alias is used.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35c0va8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35c0vq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPgK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aLPga8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34Qh7a8aEdqf6aL57Hh6KQ" name="importedElement" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_342Xra8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34Qh7q8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh7a8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__Y-87a8kEdqRKeAGm8hhTw" name="importedElement" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__ZkykK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y-87q8kEdqRKeAGm8hhTw" annotatedElement="__Y-87a8kEdqRKeAGm8hhTw">

         <body>Specifies the PackageableElement whose name is to be added to a Namespace.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35c0v68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35c0wK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPgq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aLPg68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34Qh8a8aEdqf6aL57Hh6KQ" name="importingNamespace" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ _33OACq8aEdqf6aL57Hh6KQ" association="_342XsK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34Qh8q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34Qh868aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__Y-88a8kEdqRKeAGm8hhTw" name="importingNamespace" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw" association="__Zkyk68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Y-88q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y-8868kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34Qh9K8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh8a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y-89K8kEdqRKeAGm8hhTw" annotatedElement="__Y-88a8kEdqRKeAGm8hhTw">

         <body>Specifies the Namespace that imports a PackageableElement from another Package.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35c0wa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35c0wq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPhK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aLPha8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_34Qh968aEdqf6aL57Hh6KQ" name="getName" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34Qh-a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34Qh-K8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh968aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__Y-8968kEdqRKeAGm8hhTw" name="getName" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__Y-8-a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y-8-K8kEdqRKeAGm8hhTw" annotatedElement="__Y-8968kEdqRKeAGm8hhTw">

         <body>The query getName() returns the name under which the imported PackageableElement will be known in the importing namespace.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34Qh-a8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34Qh968aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35c0w68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y-8-a8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y-8968kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPhq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if self.alias->notEmpty() then

   self.alias

 else

@@ -458,116 +458,116 @@
 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34Qh-68aEdqf6aL57Hh6KQ" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__Y-8-68kEdqRKeAGm8hhTw" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_Gjgl0GveEdq4DLWZOhbdEA" name="MultiplicityElement" isAbstract="true">

-    <ownedComment xmi:id="_33OAK68aEdqf6aL57Hh6KQ" annotatedElement="_Gjgl0GveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__YFlCq8kEdqRKeAGm8hhTw" annotatedElement="_Gjgl0GveEdq4DLWZOhbdEA">

       <body>A MultiplicityElement is an abstract metaclass which includes optional attributes for defining the bounds of a multiplicity. A MultiplicityElement also includes specifications of whether the values in an instantiation of this element must be unique or ordered.</body>

     </ownedComment>

-    <ownedRule xmi:id="_33OALK8aEdqf6aL57Hh6KQ" name="upper_gt_0" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33OALa8aEdqf6aL57Hh6KQ" annotatedElement="_33OALK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YFlC68kEdqRKeAGm8hhTw" name="upper_gt_0" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YFlDK8kEdqRKeAGm8hhTw" annotatedElement="__YFlC68kEdqRKeAGm8hhTw">

         <body>A multiplicity must define at least one valid cardinality that is greater than zero.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlkK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPh68kEdqRKeAGm8hhTw" language="OCL">

         <body>upperBound()->notEmpty() implies upperBound() > 0</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33OAMq8aEdqf6aL57Hh6KQ" name="lower_ge_0" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33OAM68aEdqf6aL57Hh6KQ" annotatedElement="_33OAMq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YFlEa8kEdqRKeAGm8hhTw" name="lower_ge_0" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YFlEq8kEdqRKeAGm8hhTw" annotatedElement="__YFlEa8kEdqRKeAGm8hhTw">

         <body>The lower bound must be a non-negative integer literal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlka8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPiK8kEdqRKeAGm8hhTw" language="OCL">

         <body>lowerBound()->notEmpty() implies lowerBound() >= 0</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33OAL68aEdqf6aL57Hh6KQ" name="upper_ge_lower" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33OAMK8aEdqf6aL57Hh6KQ" annotatedElement="_33OAL68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YFlDq8kEdqRKeAGm8hhTw" name="upper_ge_lower" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YFlD68kEdqRKeAGm8hhTw" annotatedElement="__YFlDq8kEdqRKeAGm8hhTw">

         <body>The upper bound must be greater than or equal to the lower bound.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlkq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPia8kEdqRKeAGm8hhTw" language="OCL">

         <body>(upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_35mlk68aEdqf6aL57Hh6KQ" name="value_specification_no_side_effects" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_35mllK8aEdqf6aL57Hh6KQ" annotatedElement="_35mlk68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__aLPiq8kEdqRKeAGm8hhTw" name="value_specification_no_side_effects" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__aLPi68kEdqRKeAGm8hhTw" annotatedElement="__aLPiq8kEdqRKeAGm8hhTw">

         <body>If a non-literal ValueSpecification is used for the lower or upper bound, then evaluating that specification must not have side effects.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlla8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPjK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_35mllq8aEdqf6aL57Hh6KQ" name="value_specification_constant" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_35mll68aEdqf6aL57Hh6KQ" annotatedElement="_35mllq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__aLPja8kEdqRKeAGm8hhTw" name="value_specification_constant" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__aLPjq8kEdqRKeAGm8hhTw" annotatedElement="__aLPja8kEdqRKeAGm8hhTw">

         <body>If a non-literal ValueSpecification is used for the lower or upper bound, then that specification must be a constant expression.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlmK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPj68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_33OANa8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_33OANq8aEdqf6aL57Hh6KQ" name="isOrdered" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_33OAN68aEdqf6aL57Hh6KQ" annotatedElement="_33OANq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YFlFK8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__YFlFa8kEdqRKeAGm8hhTw" name="isOrdered" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__YFlFq8kEdqRKeAGm8hhTw" annotatedElement="__YFlFa8kEdqRKeAGm8hhTw">

         <body>For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this element are sequentially ordered..</body>

       </ownedComment>

-      <ownedComment xmi:id="_35mlma8aEdqf6aL57Hh6KQ" annotatedElement="_33OANq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aLPkK8kEdqRKeAGm8hhTw" annotatedElement="__YFlFa8kEdqRKeAGm8hhTw">

         <body>For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this element are sequentially ordered.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_35mlmq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__aLPka8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33OAOa8aEdqf6aL57Hh6KQ" name="isUnique" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_33OAOq8aEdqf6aL57Hh6KQ" annotatedElement="_33OAOa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__YFlGK8kEdqRKeAGm8hhTw" name="isUnique" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__YFlGa8kEdqRKeAGm8hhTw" annotatedElement="__YFlGK8kEdqRKeAGm8hhTw">

         <body>For a multivalued multiplicity, this attributes specifies whether the values in an instantiation of this element are unique.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_35mlm68aEdqf6aL57Hh6KQ" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__aLPkq8kEdqRKeAGm8hhTw" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33OAQa8aEdqf6aL57Hh6KQ" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_35mlnK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_35mlna8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__YFlIK8kEdqRKeAGm8hhTw" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__aLPk68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__aLPlK8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33OAQq8aEdqf6aL57Hh6KQ" annotatedElement="_33OAQa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YFlIa8kEdqRKeAGm8hhTw" annotatedElement="__YFlIK8kEdqRKeAGm8hhTw">

         <body>Specifies the upper bound of the multiplicity interval.</body>

       </ownedComment>

-      <ownedComment xmi:id="_35mlnq8aEdqf6aL57Hh6KQ" annotatedElement="_33OAQa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aLPla8kEdqRKeAGm8hhTw" annotatedElement="__YFlIK8kEdqRKeAGm8hhTw">

         <body>Specifies the upper bound of the multiplicity interval, if it is expressed as an unlimited natural.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35mln68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35mloK8aEdqf6aL57Hh6KQ"/>

-      <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35mloa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPlq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aLPl68kEdqRKeAGm8hhTw"/>

+      <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPmK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33OAPK8aEdqf6aL57Hh6KQ" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_35mloq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_35mlo68aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__YFlG68kEdqRKeAGm8hhTw" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__aLPma8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__aLPmq8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33OAPa8aEdqf6aL57Hh6KQ" annotatedElement="_33OAPK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YFlHK8kEdqRKeAGm8hhTw" annotatedElement="__YFlG68kEdqRKeAGm8hhTw">

         <body>Specifies the lower bound of the multiplicity interval.</body>

       </ownedComment>

-      <ownedComment xmi:id="_35mlpK8aEdqf6aL57Hh6KQ" annotatedElement="_33OAPK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aLPm68kEdqRKeAGm8hhTw" annotatedElement="__YFlG68kEdqRKeAGm8hhTw">

         <body>Specifies the lower bound of the multiplicity interval, if it is expressed as an integer.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35mlpa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35mlpq8aEdqf6aL57Hh6KQ"/>

-      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_35mlp68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPnK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aLPna8kEdqRKeAGm8hhTw"/>

+      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="__aLPnq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_35mlqK8aEdqf6aL57Hh6KQ" name="upperValue" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37rpMK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_35mlqa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_35mlqq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__aLPn68kEdqRKeAGm8hhTw" name="upperValue" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__b9YP68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__aLPoK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__aLPoa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_35mlq68aEdqf6aL57Hh6KQ" annotatedElement="_35mlqK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aLPoq8kEdqRKeAGm8hhTw" annotatedElement="__aLPn68kEdqRKeAGm8hhTw">

         <body>The specification of the upper bound for this multiplicity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35mlrK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35mlra8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPo68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aLPpK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_35mlrq8aEdqf6aL57Hh6KQ" name="lowerValue" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37rpNa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_35mlr68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_35mlsK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__aLPpa8kEdqRKeAGm8hhTw" name="lowerValue" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__b9YRK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__aLPpq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__aLPp68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_35mlsa8aEdqf6aL57Hh6KQ" annotatedElement="_35mlrq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aLPqK8kEdqRKeAGm8hhTw" annotatedElement="__aLPpa8kEdqRKeAGm8hhTw">

         <body>The specification of the lower bound for this multiplicity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35mlsq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35mls68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPqa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aLPqq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_VclAUGJxEdqjztwYO37Abg" name="isSetLower" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_XvW7QGJxEdqjztwYO37Abg" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

@@ -589,363 +589,363 @@
     <ownedOperation xmi:id="_89myUK8XEdqjppZik4kD8A" name="setUnlimitedNaturalUpperValue">

       <ownedParameter xmi:id="_89myUa8XEdqjppZik4kD8A" name="value" type="_dRZxsGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35mltK8aEdqf6aL57Hh6KQ" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_35mluK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_35mlta8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_35mltq8aEdqf6aL57Hh6KQ" operationName="getLower"/>

+    <ownedOperation xmi:id="__aLPq68kEdqRKeAGm8hhTw" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__aLPr68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__aLPrK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__aLPra8kEdqRKeAGm8hhTw" operationName="getLower"/>

       </eAnnotations>

-      <ownedComment xmi:id="_35mlt68aEdqf6aL57Hh6KQ" annotatedElement="_35mltK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aLPrq8kEdqRKeAGm8hhTw" annotatedElement="__aLPq68kEdqRKeAGm8hhTw">

         <body>The derived lower attribute must equal the lowerBound.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35mluK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35mltK8aEdqf6aL57Hh6KQ _33OAPK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlua8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aLPr68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aLPq68kEdqRKeAGm8hhTw __YFlG68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPsK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = lowerBound()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35mluq8aEdqf6aL57Hh6KQ" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aLPsa8kEdqRKeAGm8hhTw" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35mlu68aEdqf6aL57Hh6KQ" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_35mlv68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_35mlvK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_35mlva8aEdqf6aL57Hh6KQ" operationName="getUpper"/>

+    <ownedOperation xmi:id="__aLPsq8kEdqRKeAGm8hhTw" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__aLPtq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__aLPs68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__aLPtK8kEdqRKeAGm8hhTw" operationName="getUpper"/>

       </eAnnotations>

-      <ownedComment xmi:id="_35mlvq8aEdqf6aL57Hh6KQ" annotatedElement="_35mlu68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aLPta8kEdqRKeAGm8hhTw" annotatedElement="__aLPsq8kEdqRKeAGm8hhTw">

         <body>The derived upper attribute must equal the upperBound.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35mlv68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35mlu68aEdqf6aL57Hh6KQ _33OAQa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlwK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aLPtq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aLPsq8kEdqRKeAGm8hhTw __YFlIK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPt68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = upperBound()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35mlwa8aEdqf6aL57Hh6KQ" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aLPuK8kEdqRKeAGm8hhTw" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33OARq8aEdqf6aL57Hh6KQ" name="isMultivalued" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_33OASK8aEdqf6aL57Hh6KQ" bodyCondition="_33OASq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33OAR68aEdqf6aL57Hh6KQ" annotatedElement="_33OARq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YFlJa8kEdqRKeAGm8hhTw" name="isMultivalued" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__YFlJ68kEdqRKeAGm8hhTw" bodyCondition="__YFlKa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YFlJq8kEdqRKeAGm8hhTw" annotatedElement="__YFlJa8kEdqRKeAGm8hhTw">

         <body>The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33OASK8aEdqf6aL57Hh6KQ" constrainedElement="_33OARq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlwq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YFlJ68kEdqRKeAGm8hhTw" constrainedElement="__YFlJa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPua8kEdqRKeAGm8hhTw" language="OCL">

           <body>upperBound()->notEmpty()</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_33OASq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33OARq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlw68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YFlKa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YFlJa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPuq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = upperBound() > 1</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33OATK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YFlK68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XJ6K8aEdqf6aL57Hh6KQ" name="includesCardinality" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_33XJ6q8aEdqf6aL57Hh6KQ" bodyCondition="_33XJ7K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33XJ6a8aEdqf6aL57Hh6KQ" annotatedElement="_33XJ6K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YFlNK8kEdqRKeAGm8hhTw" name="includesCardinality" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__YFlNq8kEdqRKeAGm8hhTw" bodyCondition="__YFlOK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YFlNa8kEdqRKeAGm8hhTw" annotatedElement="__YFlNK8kEdqRKeAGm8hhTw">

         <body>The query includesCardinality() checks whether the specified cardinality is valid for this multiplicity.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XJ6q8aEdqf6aL57Hh6KQ" constrainedElement="_33XJ6K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlxK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YFlNq8kEdqRKeAGm8hhTw" constrainedElement="__YFlNK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPu68kEdqRKeAGm8hhTw" language="OCL">

           <body>upperBound()->notEmpty() and lowerBound()->notEmpty()</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_33XJ7K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XJ6K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlxa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YFlOK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YFlNK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPvK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (lowerBound() &lt;= C) and (upperBound() >= C)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XJ7q8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33XJ768aEdqf6aL57Hh6KQ" name="C" type="_XqvEIGvsEdqG6fBIPwe-mw"/>

+      <returnResult xmi:id="__YFlOq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__YFlO68kEdqRKeAGm8hhTw" name="C" type="_XqvEIGvsEdqG6fBIPwe-mw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XJ4K8aEdqf6aL57Hh6KQ" name="includesMultiplicity" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_33XJ4q8aEdqf6aL57Hh6KQ" bodyCondition="_33XJ5K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33XJ4a8aEdqf6aL57Hh6KQ" annotatedElement="_33XJ4K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YFlLK8kEdqRKeAGm8hhTw" name="includesMultiplicity" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__YFlLq8kEdqRKeAGm8hhTw" bodyCondition="__YFlMK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YFlLa8kEdqRKeAGm8hhTw" annotatedElement="__YFlLK8kEdqRKeAGm8hhTw">

         <body>The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XJ4q8aEdqf6aL57Hh6KQ" constrainedElement="_33XJ4K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlxq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YFlLq8kEdqRKeAGm8hhTw" constrainedElement="__YFlLK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPva8kEdqRKeAGm8hhTw" language="OCL">

           <body>self.upperBound()->notEmpty() and self.lowerBound()->notEmpty()

 and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()

 </body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_33XJ5K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XJ4K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlx68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YFlMK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YFlLK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPvq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (self.lowerBound() &lt;= M.lowerBound()) and (self.upperBound() >= M.upperBound())</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XJ5q8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33XJ568aEdqf6aL57Hh6KQ" name="M" type="_Gjgl0GveEdq4DLWZOhbdEA"/>

+      <returnResult xmi:id="__YFlMq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__YFlM68kEdqRKeAGm8hhTw" name="M" type="_Gjgl0GveEdq4DLWZOhbdEA"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XJ8K8aEdqf6aL57Hh6KQ" name="lowerBound" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33XJ8q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33XJ8a8aEdqf6aL57Hh6KQ" annotatedElement="_33XJ8K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YPV0K8kEdqRKeAGm8hhTw" name="lowerBound" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YPV0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YPV0a8kEdqRKeAGm8hhTw" annotatedElement="__YPV0K8kEdqRKeAGm8hhTw">

         <body>The query lowerBound() returns the lower bound of the multiplicity as an integer.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XJ8q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XJ8K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlyK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YPV0q8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YPV0K8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPv68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if lowerValue->isEmpty() then 1 else lowerValue.integerValue() endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XJ9K8aEdqf6aL57Hh6KQ" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YPV1K8kEdqRKeAGm8hhTw" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XJ9a8aEdqf6aL57Hh6KQ" name="upperBound" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33XJ968aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33XJ9q8aEdqf6aL57Hh6KQ" annotatedElement="_33XJ9a8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YPV1a8kEdqRKeAGm8hhTw" name="upperBound" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YPV168kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YPV1q8kEdqRKeAGm8hhTw" annotatedElement="__YPV1a8kEdqRKeAGm8hhTw">

         <body>The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an unlimited natural.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XJ968aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XJ9a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35mlya8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YPV168kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YPV1a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aLPwK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if upperValue->isEmpty() then 1 else upperValue.unlimitedValue() endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XJ-a8aEdqf6aL57Hh6KQ" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YPV2a8kEdqRKeAGm8hhTw" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_33g7Dq8aEdqf6aL57Hh6KQ" name="TypedElement" isAbstract="true">

-    <ownedComment xmi:id="_33g7D68aEdqf6aL57Hh6KQ" annotatedElement="_33g7Dq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__YYf7q8kEdqRKeAGm8hhTw" name="TypedElement" isAbstract="true">

+    <ownedComment xmi:id="__YYf768kEdqRKeAGm8hhTw" annotatedElement="__YYf7q8kEdqRKeAGm8hhTw">

       <body>A typed element is an element that has a type that serves as a constraint on the range of values the element can represent. Typed element is an abstract metaclass.</body>

     </ownedComment>

-    <ownedComment xmi:id="_35mlyq8aEdqf6aL57Hh6KQ" annotatedElement="_33g7Dq8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__aLPwa8kEdqRKeAGm8hhTw" annotatedElement="__YYf7q8kEdqRKeAGm8hhTw">

       <body>A typed element is an element that has a type that serves as a constraint on the range of values the element can represent.

 

 Typed element is an abstract metaclass.

 

 </body>

     </ownedComment>

-    <generalization xmi:id="_33g7EK8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_33g7Ea8aEdqf6aL57Hh6KQ" name="type" type="_ynRtoGvtEdqG6fBIPwe-mw" association="_34jc9K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33g7Eq8aEdqf6aL57Hh6KQ" annotatedElement="_33g7Ea8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YYf8K8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__YYf8a8kEdqRKeAGm8hhTw" name="type" type="_ynRtoGvtEdqG6fBIPwe-mw" association="__ZR33a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYf8q8kEdqRKeAGm8hhTw" annotatedElement="__YYf8a8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding property from Basic to derive this information from the return result for this Operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_35mly68aEdqf6aL57Hh6KQ" annotatedElement="_33g7Ea8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aLPwq8kEdqRKeAGm8hhTw" annotatedElement="__YYf8a8kEdqRKeAGm8hhTw">

         <body>The type of the TypedElement.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35mlzK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35mlza8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aLPw68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aLPxK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_33OAIq8aEdqf6aL57Hh6KQ" name="Feature" isAbstract="true">

-    <ownedComment xmi:id="_33OAI68aEdqf6aL57Hh6KQ" annotatedElement="_33OAIq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__YFlAa8kEdqRKeAGm8hhTw" name="Feature" isAbstract="true">

+    <ownedComment xmi:id="__YFlAq8kEdqRKeAGm8hhTw" annotatedElement="__YFlAa8kEdqRKeAGm8hhTw">

       <body>A feature declares a behavioral or structural characteristic of instances of classifiers. Feature is an abstract metaclass.</body>

     </ownedComment>

-    <generalization xmi:id="_33OAJK8aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_36MbcK8aEdqf6aL57Hh6KQ" name="isStatic" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_36Mbca8aEdqf6aL57Hh6KQ" annotatedElement="_36MbcK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YFlA68kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__an7f68kEdqRKeAGm8hhTw" name="isStatic" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__an7gK8kEdqRKeAGm8hhTw" annotatedElement="__an7f68kEdqRKeAGm8hhTw">

         <body>Specifies whether this feature characterizes individual instances classified by the classifier (false) or the classifier itself (true).</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_36Mbcq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__an7ga8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33OAJa8aEdqf6aL57Hh6KQ" name="featuringClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_342X2K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33OAJq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33OAJ68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YFlBK8kEdqRKeAGm8hhTw" name="featuringClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__Zkyu68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YFlBa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YFlBq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33OAKK8aEdqf6aL57Hh6KQ" annotatedElement="_33OAJa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YFlB68kEdqRKeAGm8hhTw" annotatedElement="__YFlBK8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding association in Abstractions.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36Mbc68aEdqf6aL57Hh6KQ" annotatedElement="_33OAJa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__an7gq8kEdqRKeAGm8hhTw" annotatedElement="__YFlBK8kEdqRKeAGm8hhTw">

         <body>The Classifiers that have this Feature as a feature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36MbdK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36Mbda8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__an7g68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__an7hK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_33g64K8aEdqf6aL57Hh6KQ" name="RedefinableElement" isAbstract="true">

-    <ownedComment xmi:id="_33g64a8aEdqf6aL57Hh6KQ" annotatedElement="_33g64K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__YYfwK8kEdqRKeAGm8hhTw" name="RedefinableElement" isAbstract="true">

+    <ownedComment xmi:id="__YYfwa8kEdqRKeAGm8hhTw" annotatedElement="__YYfwK8kEdqRKeAGm8hhTw">

       <body>A redefinable element is an element that, when defined in the context of a classifier, can be redefined more specifically or differently in the context of another classifier that specializes (directly or indirectly) the context classifier. </body>

     </ownedComment>

-    <ownedComment xmi:id="_36Mbdq8aEdqf6aL57Hh6KQ" annotatedElement="_33g64K8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__an7ha8kEdqRKeAGm8hhTw" annotatedElement="__YYfwK8kEdqRKeAGm8hhTw">

       <body>A redefinable element is a named element that can be redefined in the context of a generalization. RedefinableElement is an abstract metaclass.</body>

     </ownedComment>

-    <ownedRule xmi:id="_33g64q8aEdqf6aL57Hh6KQ" name="redefinition_context_valid" constrainedElement="_33g64K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33g6468aEdqf6aL57Hh6KQ" annotatedElement="_33g64q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YYfwq8kEdqRKeAGm8hhTw" name="redefinition_context_valid" constrainedElement="__YYfwK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYfw68kEdqRKeAGm8hhTw" annotatedElement="__YYfwq8kEdqRKeAGm8hhTw">

         <body>At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36Mbd68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__an7hq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33g65a8aEdqf6aL57Hh6KQ" name="redefinition_consistent" constrainedElement="_33g64K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33g65q8aEdqf6aL57Hh6KQ" annotatedElement="_33g65a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YYfxa8kEdqRKeAGm8hhTw" name="redefinition_consistent" constrainedElement="__YYfwK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYfxq8kEdqRKeAGm8hhTw" annotatedElement="__YYfxa8kEdqRKeAGm8hhTw">

         <body>A redefining element must be consistent with each redefined element.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36MbeK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__an7h68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.redefinedElement->forAll(re | re.isConsistentWith(self))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_33g66K8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_36Mbea8aEdqf6aL57Hh6KQ" name="isLeaf" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_36Mbeq8aEdqf6aL57Hh6KQ" annotatedElement="_36Mbea8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YYfyK8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__an7iK8kEdqRKeAGm8hhTw" name="isLeaf" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__an7ia8kEdqRKeAGm8hhTw" annotatedElement="__an7iK8kEdqRKeAGm8hhTw">

         <body>Indicates whether it is possible to further specialize a RedefinableElement. If the value is true, then it is not possible to further specialize the RedefinableElement.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_36Mbe68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__an7iq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33g6768aEdqf6aL57Hh6KQ" name="redefinedElement" type="_33g64K8aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_342X1q8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33g68K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33g68a8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YYfz68kEdqRKeAGm8hhTw" name="redefinedElement" type="__YYfwK8kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__Zkyua8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YYf0K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YYf0a8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33g68q8aEdqf6aL57Hh6KQ" annotatedElement="_33g6768aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YYf0q8kEdqRKeAGm8hhTw" annotatedElement="__YYfz68kEdqRKeAGm8hhTw">

         <body>The redefinable element that is being redefined by this element.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36MbfK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36Mbfa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__axFYK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__axFYa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33g66a8aEdqf6aL57Hh6KQ" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_342X1K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33g66q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33g6668aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YYfya8kEdqRKeAGm8hhTw" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__Zkyt68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YYfyq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YYfy68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33g67K8aEdqf6aL57Hh6KQ" annotatedElement="_33g66a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YYfzK8kEdqRKeAGm8hhTw" annotatedElement="__YYfya8kEdqRKeAGm8hhTw">

         <body>References the contexts that this element may be redefined from.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36Mbfq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36Mbf68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__axFYq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__axFY68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_33g69a8aEdqf6aL57Hh6KQ" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_36MbgK8aEdqf6aL57Hh6KQ" bodyCondition="_33g6968aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33g69q8aEdqf6aL57Hh6KQ" annotatedElement="_33g69a8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YYf1a8kEdqRKeAGm8hhTw" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__axFZK8kEdqRKeAGm8hhTw" bodyCondition="__YYf168kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYf1q8kEdqRKeAGm8hhTw" annotatedElement="__YYf1a8kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent. By default, this is false; this operation must be overridden for subclasses of RedefinableElement to define the consistency conditions.</body>

       </ownedComment>

-      <ownedRule xmi:id="_36MbgK8aEdqf6aL57Hh6KQ" constrainedElement="_33g69a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36Mbga8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__axFZK8kEdqRKeAGm8hhTw" constrainedElement="__YYf1a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__axFZa8kEdqRKeAGm8hhTw" language="OCL">

           <body>redefinee.isRedefinitionContextValid(self)

 

 </body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_33g6968aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33g69a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36Mbgq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YYf168kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YYf1a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__axFZq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33g6-a8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33g6-q8aEdqf6aL57Hh6KQ" name="redefinee" type="_33g64K8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YYf2a8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__YYf2q8kEdqRKeAGm8hhTw" name="redefinee" type="__YYfwK8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33g6-68aEdqf6aL57Hh6KQ" name="isRedefinitionContextValid" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33g6_a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33g6_K8aEdqf6aL57Hh6KQ" annotatedElement="_33g6-68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YYf268kEdqRKeAGm8hhTw" name="isRedefinitionContextValid" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YYf3a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYf3K8kEdqRKeAGm8hhTw" annotatedElement="__YYf268kEdqRKeAGm8hhTw">

         <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33g6_a8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33g6-68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36Mbg68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YYf3a8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YYf268kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__axFZ68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = redefinitionContext->exists(c | c.allParents()->includes(redefined.redefinitionContext)))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33g6_68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33g7AK8aEdqf6aL57Hh6KQ" name="redefined" type="_33g64K8aEdqf6aL57Hh6KQ" effect="read"/>

+      <returnResult xmi:id="__YYf368kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__YYf4K8kEdqRKeAGm8hhTw" name="redefined" type="__YYfwK8kEdqRKeAGm8hhTw" effect="read"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_33g7Ca8aEdqf6aL57Hh6KQ" name="StructuralFeature" isAbstract="true">

-    <ownedComment xmi:id="_33g7Cq8aEdqf6aL57Hh6KQ" annotatedElement="_33g7Ca8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__YYf6a8kEdqRKeAGm8hhTw" name="StructuralFeature" isAbstract="true">

+    <ownedComment xmi:id="__YYf6q8kEdqRKeAGm8hhTw" annotatedElement="__YYf6a8kEdqRKeAGm8hhTw">

       <body>A structural feature is a typed feature of a classifier that specifies the structure of instances of the classifier. Structural feature is an abstract metaclass.</body>

     </ownedComment>

-    <ownedComment xmi:id="_36WMlq8aEdqf6aL57Hh6KQ" annotatedElement="_33g7Ca8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__a62a68kEdqRKeAGm8hhTw" annotatedElement="__YYf6a8kEdqRKeAGm8hhTw">

       <body>A structural feature is a typed feature of a classifier that specify the structure of instances of the classifier. Structural feature is an abstract metaclass.

 By specializing multiplicity element, it supports a multiplicity that specifies valid cardinalities for the collection of values associated with an instantiation of the structural feature.

 </body>

     </ownedComment>

-    <generalization xmi:id="_33g7C68aEdqf6aL57Hh6KQ" general="_33OAIq8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_33g7DK8aEdqf6aL57Hh6KQ" general="_33g7Dq8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_33g7Da8aEdqf6aL57Hh6KQ" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_36WMl68aEdqf6aL57Hh6KQ" name="isReadOnly" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_36WMmK8aEdqf6aL57Hh6KQ" annotatedElement="_36WMl68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YYf668kEdqRKeAGm8hhTw" general="__YFlAa8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__YYf7K8kEdqRKeAGm8hhTw" general="__YYf7q8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__YYf7a8kEdqRKeAGm8hhTw" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__a62bK8kEdqRKeAGm8hhTw" name="isReadOnly" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__a62ba8kEdqRKeAGm8hhTw" annotatedElement="__a62bK8kEdqRKeAGm8hhTw">

         <body>States whether the feature's value may be modified by a client.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_36WMma8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__a62bq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_36WMs68aEdqf6aL57Hh6KQ" name="Slot">

-    <ownedComment xmi:id="_36WMtK8aEdqf6aL57Hh6KQ" annotatedElement="_36WMs68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__a62iK8kEdqRKeAGm8hhTw" name="Slot">

+    <ownedComment xmi:id="__a62ia8kEdqRKeAGm8hhTw" annotatedElement="__a62iK8kEdqRKeAGm8hhTw">

       <body>A slot is owned by an instance specification. It specifies the value or values for its defining feature, which must be a structural feature of a classifier of the instance specification owning the slot.</body>

     </ownedComment>

-    <generalization xmi:id="_36WMta8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_36WMtq8aEdqf6aL57Hh6KQ" name="owningInstance" type="_36WMmq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_37ifSq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_36WMt68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36WMuK8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__a62iq8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__a62i68kEdqRKeAGm8hhTw" name="owningInstance" type="__a62b68kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__bqdgK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__a62jK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__a62ja8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36WMua8aEdqf6aL57Hh6KQ" annotatedElement="_36WMtq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__a62jq8kEdqRKeAGm8hhTw" annotatedElement="__a62i68kEdqRKeAGm8hhTw">

         <body>The instance specification that owns this slot.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMuq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMu68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62j68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62kK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36fWYK8aEdqf6aL57Hh6KQ" name="definingFeature" type="_33g7Ca8aEdqf6aL57Hh6KQ" association="_37ifTK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_36fWYa8aEdqf6aL57Hh6KQ" annotatedElement="_36fWYK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__a62ka8kEdqRKeAGm8hhTw" name="definingFeature" type="__YYf6a8kEdqRKeAGm8hhTw" association="__b0OQK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__a62kq8kEdqRKeAGm8hhTw" annotatedElement="__a62ka8kEdqRKeAGm8hhTw">

         <body>The structural feature that specifies the values that may be held by the slot.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36fWYq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36fWY68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62k68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62lK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36fWZK8aEdqf6aL57Hh6KQ" name="value" type="_33qE0K8aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37rpPK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_36fWZa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36fWZq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__a62la8kEdqRKeAGm8hhTw" name="value" type="__YYf9a8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__b9YS68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__a62lq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__a62l68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36fWZ68aEdqf6aL57Hh6KQ" annotatedElement="_36fWZK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__a62mK8kEdqRKeAGm8hhTw" annotatedElement="__a62la8kEdqRKeAGm8hhTw">

         <body>The value or values corresponding to the defining feature for the owning instance specification.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36fWaK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36fWaa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62ma8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62mq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_SnNPIGwIEdq7X4sGURiZYA" name="PackageImport">

-    <ownedComment xmi:id="_34aS5q8aEdqf6aL57Hh6KQ" annotatedElement="_SnNPIGwIEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__ZIt4q8kEdqRKeAGm8hhTw" annotatedElement="_SnNPIGwIEdq7X4sGURiZYA">

       <body>A package import is defined as a directed relationship that identifies a package whose members are to be imported by a namespace.</body>

     </ownedComment>

-    <ownedRule xmi:id="_34aS568aEdqf6aL57Hh6KQ" name="public_or_private" constrainedElement="_SnNPIGwIEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_34aS6K8aEdqf6aL57Hh6KQ" annotatedElement="_34aS568aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ZIt468kEdqRKeAGm8hhTw" name="public_or_private" constrainedElement="_SnNPIGwIEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__ZIt5K8kEdqRKeAGm8hhTw" annotatedElement="__ZIt468kEdqRKeAGm8hhTw">

         <body>The visibility of a PackageImport is either public or private.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHYK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEna68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.visibility = #public or self.visibility = #private</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_34aS6q8aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_34aS668aEdqf6aL57Hh6KQ" name="visibility" type="_AyM_oGwMEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_34aS7K8aEdqf6aL57Hh6KQ" annotatedElement="_34aS668aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__ZIt5q8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__ZIt568kEdqRKeAGm8hhTw" name="visibility" type="_AyM_oGwMEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__ZIt6K8kEdqRKeAGm8hhTw" annotatedElement="__ZIt568kEdqRKeAGm8hhTw">

         <body>Specifies the visibility of the imported PackageableElements within the importing Namespace, i.e., whether imported elements will in turn be visible to other packages that use that importingPackage as an importedPackage. If the PackageImport is public, the imported elements will be visible outside the package, while if it is private they will not.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_36pHYa8aEdqf6aL57Hh6KQ" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_34jc7K8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__bEnbK8kEdqRKeAGm8hhTw" type="_AyM_oGwMEdq7X4sGURiZYA" instance="__ZR31a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34aS8q8aEdqf6aL57Hh6KQ" name="importingNamespace" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ _33OACq8aEdqf6aL57Hh6KQ" association="_342Xs68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34aS868aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34aS9K8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__ZIt7q8kEdqRKeAGm8hhTw" name="importingNamespace" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw" association="__Zkylq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__ZIt768kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZIt8K8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aS9a8aEdqf6aL57Hh6KQ" annotatedElement="_34aS8q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIt8a8kEdqRKeAGm8hhTw" annotatedElement="__ZIt7q8kEdqRKeAGm8hhTw">

         <body>Specifies the Namespace that imports the members from a Package.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36pHYq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36pHY68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnba8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEnbq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34aS7q8aEdqf6aL57Hh6KQ" name="importedPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_342Xqq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34aS768aEdqf6aL57Hh6KQ" annotatedElement="_34aS7q8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ZIt6q8kEdqRKeAGm8hhTw" name="importedPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__Zbot68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZIt668kEdqRKeAGm8hhTw" annotatedElement="__ZIt6q8kEdqRKeAGm8hhTw">

         <body>Specifies the Package whose members are imported into a Namespace.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36pHZK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36pHZa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnb68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEncK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="__1ap4HLzEdqziYxiZo0YtA" name="DataType">

-    <ownedComment xmi:id="_33z14q8aEdqf6aL57Hh6KQ" annotatedElement="__1ap4HLzEdqziYxiZo0YtA">

+    <ownedComment xmi:id="__YsBy68kEdqRKeAGm8hhTw" annotatedElement="__1ap4HLzEdqziYxiZo0YtA">

       <body>A data type is a type whose instances are identified only by their value. A DataType may contain attributes to support the modeling of structured data types.

 

 

 

 A typical use of data types would be to represent programming language primitive types or CORBA basic types. For example, integer and string types are often treated as data types.</body>

     </ownedComment>

-    <ownedComment xmi:id="_37FzYK8aEdqf6aL57Hh6KQ" annotatedElement="__1ap4HLzEdqziYxiZo0YtA">

+    <ownedComment xmi:id="__bXic68kEdqRKeAGm8hhTw" annotatedElement="__1ap4HLzEdqziYxiZo0YtA">

       <body>A data type is a type whose instances are identified only by their value. A DataType may contain attributes to support the modeling of structured data types.

 

 A typical use of data types would be to represent programming language primitive types or CORBA basic types. For example, integer and string types are often treated as data types.

 

 </body>

     </ownedComment>

-    <generalization xmi:id="_33z1468aEdqf6aL57Hh6KQ" general="_6UV2QGwJEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_33z15K8aEdqf6aL57Hh6KQ" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_326d8K8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_34tNxa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33z15a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33z15q8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__YsBzK8kEdqRKeAGm8hhTw" general="_6UV2QGwJEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__YsBza8kEdqRKeAGm8hhTw" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__Xyp6K8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__ZbooK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YsBzq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YsBz68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33z1568aEdqf6aL57Hh6KQ" annotatedElement="_33z15K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YsB0K8kEdqRKeAGm8hhTw" annotatedElement="__YsBza8kEdqRKeAGm8hhTw">

         <body>The Attributes owned by the DataType.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37FzYa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37FzYq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXidK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXida8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33z16q8aEdqf6aL57Hh6KQ" name="ownedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_326d9q8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_34tNyK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33z1668aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33z17K8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__YsB068kEdqRKeAGm8hhTw" name="ownedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__Xyp7q8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__Zboo68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YsB1K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YsB1a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33z17a8aEdqf6aL57Hh6KQ" annotatedElement="_33z16q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YsB1q8kEdqRKeAGm8hhTw" annotatedElement="__YsB068kEdqRKeAGm8hhTw">

         <body>The Operations owned by the DataType.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37FzY68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37FzZK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXidq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXid68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_FDM9YHL0EdqziYxiZo0YtA" name="createOwnedOperation" type="_M4X2IGveEdq4DLWZOhbdEA">

       <returnResult xmi:id="_FDM9YXL0EdqziYxiZo0YtA" type="_M4X2IGveEdq4DLWZOhbdEA" direction="return"/>

@@ -979,210 +979,210 @@
       <ownedParameter xmi:id="_WJZCRHL0EdqziYxiZo0YtA" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" effect="read"/>

       <ownedParameter xmi:id="_WJZCRXL0EdqziYxiZo0YtA" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33z18K8aEdqf6aL57Hh6KQ" name="inherit" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33EPL68aEdqf6aL57Hh6KQ" bodyCondition="_33z18q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33z18a8aEdqf6aL57Hh6KQ" annotatedElement="_33z18K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YsB2a8kEdqRKeAGm8hhTw" name="inherit" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__X8bH68kEdqRKeAGm8hhTw" bodyCondition="__YsB268kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YsB2q8kEdqRKeAGm8hhTw" annotatedElement="__YsB2a8kEdqRKeAGm8hhTw">

         <body>The inherit operation is overridden to exclude redefined properties.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33z18q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33z18K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_33z1868aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YsB268kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YsB2a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__YsB3K8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33z19K8aEdqf6aL57Hh6KQ" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_33z19a8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_33z19q8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YsB3a8kEdqRKeAGm8hhTw" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__YsB3q8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__YsB368kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_33z1968aEdqf6aL57Hh6KQ" name="inhs" type="_csVgUGvtEdqG6fBIPwe-mw">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_33z1-K8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_33z1-a8aEdqf6aL57Hh6KQ"/>

+      <ownedParameter xmi:id="__YsB4K8kEdqRKeAGm8hhTw" name="inhs" type="_csVgUGvtEdqG6fBIPwe-mw">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__YsB4a8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__YsB4q8kEdqRKeAGm8hhTw"/>

       </ownedParameter>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_I6N3UGwGEdq7X4sGURiZYA" name="Enumeration">

-    <ownedComment xmi:id="_33z1-q8aEdqf6aL57Hh6KQ" annotatedElement="_I6N3UGwGEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__YsB468kEdqRKeAGm8hhTw" annotatedElement="_I6N3UGwGEdq7X4sGURiZYA">

       <body>Enumeration is a kind of data type, whose instances may be any of a number of predefined enumeration literals.

 

 It is possible to extend the set of applicable enumeration literals in other packages or profiles.

 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_37FzZa8aEdqf6aL57Hh6KQ" annotatedElement="_I6N3UGwGEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__bXieK8kEdqRKeAGm8hhTw" annotatedElement="_I6N3UGwGEdq7X4sGURiZYA">

       <body>Enumeration is a kind of data type, whose instances may be any of a number of user-defined enumeration literals.

 

 It is possible to extend the set of applicable enumeration literals in other packages or profiles.

 

 </body>

     </ownedComment>

-    <generalization xmi:id="_33z1-68aEdqf6aL57Hh6KQ" general="__1ap4HLzEdqziYxiZo0YtA"/>

-    <ownedAttribute xmi:id="_33z1_K8aEdqf6aL57Hh6KQ" name="ownedLiteral" type="_OQcbgGwOEdq7X4sGURiZYA" isOrdered="true" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_34tNw68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33z1_a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33z1_q8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__YsB5K8kEdqRKeAGm8hhTw" general="__1ap4HLzEdqziYxiZo0YtA"/>

+    <ownedAttribute xmi:id="__YsB5a8kEdqRKeAGm8hhTw" name="ownedLiteral" type="_OQcbgGwOEdq7X4sGURiZYA" isOrdered="true" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__ZR3_a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YsB5q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YsB568kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33z1_68aEdqf6aL57Hh6KQ" annotatedElement="_33z1_K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YsB6K8kEdqRKeAGm8hhTw" annotatedElement="__YsB5a8kEdqRKeAGm8hhTw">

         <body>The ordered collection of literals for the enumeration.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37FzZq8aEdqf6aL57Hh6KQ" annotatedElement="_33z1_K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiea8kEdqRKeAGm8hhTw" annotatedElement="__YsB5a8kEdqRKeAGm8hhTw">

         <body>The ordered set of literals for this Enumeration.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37FzZ68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37FzaK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXieq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXie68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_OQcbgGwOEdq7X4sGURiZYA" name="EnumerationLiteral">

-    <ownedComment xmi:id="_33z2Aq8aEdqf6aL57Hh6KQ" annotatedElement="_OQcbgGwOEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__YsB668kEdqRKeAGm8hhTw" annotatedElement="_OQcbgGwOEdq7X4sGURiZYA">

       <body>An enumeration literal is a value of an enumeration.</body>

     </ownedComment>

-    <ownedComment xmi:id="_37Fzaa8aEdqf6aL57Hh6KQ" annotatedElement="_OQcbgGwOEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__bXifK8kEdqRKeAGm8hhTw" annotatedElement="_OQcbgGwOEdq7X4sGURiZYA">

       <body>An enumeration literal is a user-defined data value for an enumeration.</body>

     </ownedComment>

-    <generalization xmi:id="_37Fzaq8aEdqf6aL57Hh6KQ" general="_36WMmq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_33z2BK8aEdqf6aL57Hh6KQ" name="enumeration" type="_I6N3UGwGEdq7X4sGURiZYA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_34tNw68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33z2Ba8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33z2Bq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__bXifa8kEdqRKeAGm8hhTw" general="__a62b68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__YsB7a8kEdqRKeAGm8hhTw" name="enumeration" type="_I6N3UGwGEdq7X4sGURiZYA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__ZR3_a8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YsB7q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YsB768kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33z2B68aEdqf6aL57Hh6KQ" annotatedElement="_33z2BK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YsB8K8kEdqRKeAGm8hhTw" annotatedElement="__YsB7a8kEdqRKeAGm8hhTw">

         <body>The enumeration that this literal belongs to.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37Fza68aEdqf6aL57Hh6KQ" annotatedElement="_33z2BK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXifq8kEdqRKeAGm8hhTw" annotatedElement="__YsB7a8kEdqRKeAGm8hhTw">

         <body>The Enumeration that this EnumerationLiteral is a member of.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37FzbK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37Fzba8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXif68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXigK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_V6vuYGwGEdq7X4sGURiZYA" name="PrimitiveType">

-    <ownedComment xmi:id="_33z2Cq8aEdqf6aL57Hh6KQ" annotatedElement="_V6vuYGwGEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__YsB868kEdqRKeAGm8hhTw" annotatedElement="_V6vuYGwGEdq7X4sGURiZYA">

       <body>A primitive type defines a predefined data type, without any relevant substructure (i.e. it has no parts in the context of the UML). A primitive datatype may have an algebra and operations defined out of UML, for example, mathematically.</body>

     </ownedComment>

-    <generalization xmi:id="_33z2C68aEdqf6aL57Hh6KQ" general="__1ap4HLzEdqziYxiZo0YtA"/>

+    <generalization xmi:id="__YsB9K8kEdqRKeAGm8hhTw" general="__1ap4HLzEdqziYxiZo0YtA"/>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_AwvxoGwNEdq7X4sGURiZYA" name="Association">

-    <ownedComment xmi:id="_33qE8q8aEdqf6aL57Hh6KQ" annotatedElement="_AwvxoGwNEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__YYgF68kEdqRKeAGm8hhTw" annotatedElement="_AwvxoGwNEdq7X4sGURiZYA">

       <body>An association specifies a semantic relationship that can occur between typed instances. It has at least two ends represented by properties, each of which is connected to the type of the end. More than one end of an association may have the same type.

 

 

 

 An end property of an association that is owned by an end class or that is a navigable owned end of the association indicates that the association is navigable from the opposite ends, otherwise the association is not navigable from the opposite ends.</body>

     </ownedComment>

-    <ownedRule xmi:id="_37Fzbq8aEdqf6aL57Hh6KQ" name="specialized_end_number" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_37Fzb68aEdqf6aL57Hh6KQ" annotatedElement="_37Fzbq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__bXiga8kEdqRKeAGm8hhTw" name="specialized_end_number" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__bXigq8kEdqRKeAGm8hhTw" annotatedElement="__bXiga8kEdqRKeAGm8hhTw">

         <body>An association specializing another association has the same number of ends as the other association.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzcK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXig68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.parents()->forAll(p | p.memberEnd.size() = self.memberEnd.size())</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37Fzca8aEdqf6aL57Hh6KQ" name="specialized_end_types" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_37Fzcq8aEdqf6aL57Hh6KQ" annotatedElement="_37Fzca8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__bXihK8kEdqRKeAGm8hhTw" name="specialized_end_types" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__bXiha8kEdqRKeAGm8hhTw" annotatedElement="__bXihK8kEdqRKeAGm8hhTw">

         <body>When an association specializes another association, every end of the specific association corresponds to an end of the general association, and the specific end reaches the same type or a subtype of the more general end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37Fzc68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXihq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37FzdK8aEdqf6aL57Hh6KQ" name="binary_associations" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_37Fzda8aEdqf6aL57Hh6KQ" annotatedElement="_37FzdK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__bhTUK8kEdqRKeAGm8hhTw" name="binary_associations" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__bhTUa8kEdqRKeAGm8hhTw" annotatedElement="__bhTUK8kEdqRKeAGm8hhTw">

         <body>Only binary associations can be aggregations.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37Fzdq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTUq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.memberEnd->exists(aggregation &lt;> Aggregation::none) implies self.memberEnd->size() = 2</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33qE868aEdqf6aL57Hh6KQ" name="association_ends" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_33qE9K8aEdqf6aL57Hh6KQ" annotatedElement="_33qE868aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YiQwK8kEdqRKeAGm8hhTw" name="association_ends" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__YiQwa8kEdqRKeAGm8hhTw" annotatedElement="__YiQwK8kEdqRKeAGm8hhTw">

         <body>Association ends of associations with more than two ends must be owned by the association.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37Fzd68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTU68kEdqRKeAGm8hhTw" language="OCL">

         <body>if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_33qE968aEdqf6aL57Hh6KQ" general="_DH62EKPAEdqi_5gqUMOQtA"/>

-    <generalization xmi:id="_33qE9q8aEdqf6aL57Hh6KQ" general="_6UV2QGwJEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_33qE-K8aEdqf6aL57Hh6KQ" name="isDerived" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_33qE-a8aEdqf6aL57Hh6KQ" annotatedElement="_33qE-K8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YiQxK8kEdqRKeAGm8hhTw" general="_DH62EKPAEdqi_5gqUMOQtA"/>

+    <generalization xmi:id="__YiQw68kEdqRKeAGm8hhTw" general="_6UV2QGwJEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__YiQxa8kEdqRKeAGm8hhTw" name="isDerived" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__YiQxq8kEdqRKeAGm8hhTw" annotatedElement="__YiQxa8kEdqRKeAGm8hhTw">

         <body>Specifies whether the association is derived from other model elements such as other associations or constraints.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_37FzeK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__bhTVK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qE-68aEdqf6aL57Hh6KQ" name="ownedEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_33qFB68aEdqf6aL57Hh6KQ _326d9q8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_34jc_a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33qE_K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33qE_a8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__YiQyK8kEdqRKeAGm8hhTw" name="ownedEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__YiQ1K8kEdqRKeAGm8hhTw __Xyp7q8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__ZR35q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YiQya8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YiQyq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qE_q8aEdqf6aL57Hh6KQ" annotatedElement="_33qE-68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiQy68kEdqRKeAGm8hhTw" annotatedElement="__YiQyK8kEdqRKeAGm8hhTw">

         <body>The ends that are owned by the association itself. This is an ordered association.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37Fzea8aEdqf6aL57Hh6KQ" annotatedElement="_33qE-68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bhTVa8kEdqRKeAGm8hhTw" annotatedElement="__YiQyK8kEdqRKeAGm8hhTw">

         <body>The ends that are owned by the association itself.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37Fzeq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37Fze68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTVq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTV68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFAa8aEdqf6aL57Hh6KQ" name="endType" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" isReadOnly="true" isDerived="true" subsettedProperty="_33g7A68aEdqf6aL57Hh6KQ" association="_34tNwK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33qFAq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33qFA68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YiQzq8kEdqRKeAGm8hhTw" name="endType" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" isReadOnly="true" isDerived="true" subsettedProperty="__YYf468kEdqRKeAGm8hhTw" association="__ZR3-q8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YiQz68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YiQ0K8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFBK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFAa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiQ0a8kEdqRKeAGm8hhTw" annotatedElement="__YiQzq8kEdqRKeAGm8hhTw">

         <body>References the classifiers that are used as types of the ends of the association.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37FzfK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37Fzfa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTWK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTWa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFB68aEdqf6aL57Hh6KQ" name="memberEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_33XKF68aEdqf6aL57Hh6KQ" association="_342Xva8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFCK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFB68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__YiQ1K8kEdqRKeAGm8hhTw" name="memberEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__YPV968kEdqRKeAGm8hhTw" association="__ZkyoK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiQ1a8kEdqRKeAGm8hhTw" annotatedElement="__YiQ1K8kEdqRKeAGm8hhTw">

         <body>Each end represents participation of instances of the classifier connected to the end in links of the association. This is an ordered association.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37Fzfq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFB68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bhTWq8kEdqRKeAGm8hhTw" annotatedElement="__YiQ1K8kEdqRKeAGm8hhTw">

         <body>Each end represents participation of instances of the classifier connected to the end in links of the association.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37Fzf68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37FzgK8aEdqf6aL57Hh6KQ" value="2"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTW68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTXK8kEdqRKeAGm8hhTw" value="2"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFC68aEdqf6aL57Hh6KQ" name="navigableOwnedEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_33qE-68aEdqf6aL57Hh6KQ" association="_342X7a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFDK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFC68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__YiQ2K8kEdqRKeAGm8hhTw" name="navigableOwnedEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="__YiQyK8kEdqRKeAGm8hhTw" association="__Zky0K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiQ2a8kEdqRKeAGm8hhTw" annotatedElement="__YiQ2K8kEdqRKeAGm8hhTw">

         <body>The navigable ends that are owned by the association itself.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37Fzga8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37Fzgq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTXa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTXq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_WSPusK69EdqjppZik4kD8A" name="isBinary" type="_UdivYGvsEdqG6fBIPwe-mw">

       <returnResult xmi:id="_YmN8cK69EdqjppZik4kD8A" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_37Fzg68aEdqf6aL57Hh6KQ" name="endType" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" isQuery="true" bodyCondition="_37Fzh68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_37FzhK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_37Fzha8aEdqf6aL57Hh6KQ" operationName="getEndTypes"/>

+    <ownedOperation xmi:id="__bhTX68kEdqRKeAGm8hhTw" name="endType" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" isQuery="true" bodyCondition="__bhTY68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__bhTYK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__bhTYa8kEdqRKeAGm8hhTw" operationName="getEndTypes"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37Fzhq8aEdqf6aL57Hh6KQ" annotatedElement="_37Fzg68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bhTYq8kEdqRKeAGm8hhTw" annotatedElement="__bhTX68kEdqRKeAGm8hhTw">

         <body>endType is derived from the types of the member ends.</body>

       </ownedComment>

-      <ownedRule xmi:id="_37Fzh68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_37Fzg68aEdqf6aL57Hh6KQ _33qFAa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FziK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__bhTY68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__bhTX68kEdqRKeAGm8hhTw __YiQzq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTZK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.memberEnd->collect(e | e.type)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_37Fzia8aEdqf6aL57Hh6KQ" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37Fziq8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37Fzi68aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__bhTZa8kEdqRKeAGm8hhTw" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTZq8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTZ68kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_DH62EKPAEdqi_5gqUMOQtA" name="Relationship" isAbstract="true">

-    <ownedComment xmi:id="_33g7Aa8aEdqf6aL57Hh6KQ" annotatedElement="_DH62EKPAEdqi_5gqUMOQtA">

+    <ownedComment xmi:id="__YYf4a8kEdqRKeAGm8hhTw" annotatedElement="_DH62EKPAEdqi_5gqUMOQtA">

       <body>A relationship references one or more related elements. Relationship is an abstract metaclass.</body>

     </ownedComment>

-    <generalization xmi:id="_33g7Aq8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_33g7A68aEdqf6aL57Hh6KQ" name="relatedElement" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_342XzK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33g7BK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33g7Ba8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__YYf4q8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__YYf468kEdqRKeAGm8hhTw" name="relatedElement" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__Zkyr68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YYf5K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YYf5a8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33g7Bq8aEdqf6aL57Hh6KQ" annotatedElement="_33g7A68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YYf5q8kEdqRKeAGm8hhTw" annotatedElement="__YYf468kEdqRKeAGm8hhTw">

         <body>Specifies the elements related by the Relationship.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37O9Xq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37O9X68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdQa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bqdQq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_34aS-K8aEdqf6aL57Hh6KQ" name="PackageMerge">

-    <ownedComment xmi:id="_34aS-a8aEdqf6aL57Hh6KQ" annotatedElement="_34aS-K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__ZIt9K8kEdqRKeAGm8hhTw" name="PackageMerge">

+    <ownedComment xmi:id="__ZIt9a8kEdqRKeAGm8hhTw" annotatedElement="__ZIt9K8kEdqRKeAGm8hhTw">

       <body>A package merge is a directed relationship between two packages, that indicates that the contents of the two packages are to be combined. It is very similar to Generalization in the sense that the source element conceptually adds the characteristics of the target element to its own characteristics resulting in an element that combines the characteristics of both.

 

 

@@ -1193,7 +1193,7 @@
 

 Conceptually, a package merge can be viewed as an operation that takes the contents of two packages and produces a new package that combines the contents of the packages involved in the merge. In terms of model semantics, there is no difference between a model with explicit package merges, and a model in which all the merges have been performed.</body>

     </ownedComment>

-    <ownedComment xmi:id="_37YuQK8aEdqf6aL57Hh6KQ" annotatedElement="_34aS-K8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__bqdQ68kEdqRKeAGm8hhTw" annotatedElement="__ZIt9K8kEdqRKeAGm8hhTw">

       <body>A package merge is a directed relationship between two packages, that indicates that the contents of the two packages are to be combined. It is very similar to Generalization in the sense that the source element conceptually adds the characteristics of the target element to its own characteristics resulting in an element that combines the characteristics of both. This mechanism should be used when elements defined in different packages have the same name and are intended to represent the same concept. Most often it is used to provide different definitions of a given concept for different purposes, starting from a common base definition. A given base concept is extended in increments, with each increment defined in a separate merged package. By selecting which increments to merge, it is possible to obtain a custom definition of a concept for a specific end. Package merge is particularly useful in meta-modeling and is extensively used in the definition of the UML metamodel.

 

 

@@ -1202,36 +1202,36 @@
 

 </body>

     </ownedComment>

-    <generalization xmi:id="_34aS-q8aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_34aS-68aEdqf6aL57Hh6KQ" name="receivingPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ _33OACq8aEdqf6aL57Hh6KQ" association="_342Xw68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34aS_K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34aS_a8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__ZIt9q8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__ZIt968kEdqRKeAGm8hhTw" name="receivingPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw" association="__Zkypq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__ZIt-K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZIt-a8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aS_q8aEdqf6aL57Hh6KQ" annotatedElement="_34aS-68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIt-q8kEdqRKeAGm8hhTw" annotatedElement="__ZIt968kEdqRKeAGm8hhTw">

         <body>References the Package that is being extended with the contents of the merged package of the PackageMerge.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37YuQa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37YuQq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdRK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bqdRa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34aTAa8aEdqf6aL57Hh6KQ" name="mergedPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_342Xxq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34aTAq8aEdqf6aL57Hh6KQ" annotatedElement="_34aTAa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ZIt_a8kEdqRKeAGm8hhTw" name="mergedPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__Zkyqa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZIt_q8kEdqRKeAGm8hhTw" annotatedElement="__ZIt_a8kEdqRKeAGm8hhTw">

         <body>References the Package that is to be merged with the receiving package of the PackageMerge.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37YuQ68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37YuRK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdRq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bqdR68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_PyCx8GveEdq4DLWZOhbdEA" name="InstanceValue">

-    <ownedComment xmi:id="_37YuRa8aEdqf6aL57Hh6KQ" annotatedElement="_PyCx8GveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__bqdSK8kEdqRKeAGm8hhTw" annotatedElement="_PyCx8GveEdq4DLWZOhbdEA">

       <body>An instance value specifies the value modeled by an instance specification.</body>

     </ownedComment>

-    <generalization xmi:id="_37YuRq8aEdqf6aL57Hh6KQ" general="_33qE0K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37YuR68aEdqf6aL57Hh6KQ" name="instance" type="_36WMmq8aEdqf6aL57Hh6KQ" association="_37rpOq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37YuSK8aEdqf6aL57Hh6KQ" annotatedElement="_37YuR68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__bqdSa8kEdqRKeAGm8hhTw" general="__YYf9a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__bqdSq8kEdqRKeAGm8hhTw" name="instance" type="__a62b68kEdqRKeAGm8hhTw" association="__b9YSa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__bqdS68kEdqRKeAGm8hhTw" annotatedElement="__bqdSq8kEdqRKeAGm8hhTw">

         <body>The instance that is the specified value.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37YuSa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37YuSq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdTK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bqdTa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_QUJ-oWWKEdq-f4093SZhVA" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <eAnnotations xmi:id="_SQIjIGWKEdq-f4093SZhVA" source="keywords"/>

@@ -1239,59 +1239,59 @@
     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_Q-yR4GveEdq4DLWZOhbdEA" name="LiteralUnlimitedNatural">

-    <ownedComment xmi:id="_37YuS68aEdqf6aL57Hh6KQ" annotatedElement="_Q-yR4GveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__bqdTq8kEdqRKeAGm8hhTw" annotatedElement="_Q-yR4GveEdq4DLWZOhbdEA">

       <body>A literal unlimited natural contains a UnlimitedNatural-valued attribute.</body>

     </ownedComment>

-    <generalization xmi:id="_37YuTK8aEdqf6aL57Hh6KQ" general="_35TDt68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37YuTa8aEdqf6aL57Hh6KQ" name="value" type="_dRZxsGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_37YuTq8aEdqf6aL57Hh6KQ" annotatedElement="_37YuTa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__bqdT68kEdqRKeAGm8hhTw" general="__aBenK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__bqdUK8kEdqRKeAGm8hhTw" name="value" type="_dRZxsGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__bqdUa8kEdqRKeAGm8hhTw" annotatedElement="__bqdUK8kEdqRKeAGm8hhTw">

         <body>The specified UnlimitedNatural value.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37YuT68aEdqf6aL57Hh6KQ" type="_dRZxsGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdUq8kEdqRKeAGm8hhTw" type="_dRZxsGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_lSARkGWKEdq-f4093SZhVA" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_nyfRUGWKEdq-f4093SZhVA" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_37YuUK8aEdqf6aL57Hh6KQ" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE1K8aEdqf6aL57Hh6KQ" bodyCondition="_37YuUq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37YuUa8aEdqf6aL57Hh6KQ" annotatedElement="_37YuUK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__bqdU68kEdqRKeAGm8hhTw" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf-a8kEdqRKeAGm8hhTw" bodyCondition="__bqdVa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__bqdVK8kEdqRKeAGm8hhTw" annotatedElement="__bqdU68kEdqRKeAGm8hhTw">

         <body>The query isComputable() is redefined to be true.</body>

       </ownedComment>

-      <ownedRule xmi:id="_37YuUq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_37YuUK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37YuU68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__bqdVa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__bqdU68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bqdVq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_37YuVK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__bqdV68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_37YuVa8aEdqf6aL57Hh6KQ" name="unlimitedValue" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE6K8aEdqf6aL57Hh6KQ" bodyCondition="_37YuV68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37YuVq8aEdqf6aL57Hh6KQ" annotatedElement="_37YuVa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__bqdWK8kEdqRKeAGm8hhTw" name="unlimitedValue" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYgDa8kEdqRKeAGm8hhTw" bodyCondition="__bqdWq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__bqdWa8kEdqRKeAGm8hhTw" annotatedElement="__bqdWK8kEdqRKeAGm8hhTw">

         <body>The query unlimitedValue() gives the value.</body>

       </ownedComment>

-      <ownedRule xmi:id="_37YuV68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_37YuVa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37YuWK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__bqdWq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__bqdWK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bqdW68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = value</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_37YuWa8aEdqf6aL57Hh6KQ" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__bqdXK8kEdqRKeAGm8hhTw" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_ynRtoGvtEdqG6fBIPwe-mw" name="Type" isAbstract="true">

-    <ownedComment xmi:id="_34aTBa8aEdqf6aL57Hh6KQ" annotatedElement="_ynRtoGvtEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__ZIuAa8kEdqRKeAGm8hhTw" annotatedElement="_ynRtoGvtEdqG6fBIPwe-mw">

       <body>A type serves as a constraint on the range of values represented by a typed element. Type is an abstract metaclass.</body>

     </ownedComment>

-    <generalization xmi:id="_34aTB68aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_34aTCK8aEdqf6aL57Hh6KQ" name="package" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_342Xu68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34aTCa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34aTCq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__ZIuA68kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__ZIuBK8kEdqRKeAGm8hhTw" name="package" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__Zkynq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__ZIuBa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZIuBq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aTC68aEdqf6aL57Hh6KQ" annotatedElement="_34aTCK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIuB68kEdqRKeAGm8hhTw" annotatedElement="__ZIuBK8kEdqRKeAGm8hhTw">

         <body>References the owning package of a package.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37YuWq8aEdqf6aL57Hh6KQ" annotatedElement="_34aTCK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bqdXa8kEdqRKeAGm8hhTw" annotatedElement="__ZIuBK8kEdqRKeAGm8hhTw">

         <body>Specifies the owning package of this classifier, if any.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37YuW68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37YuXK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdXq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bqdX68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_RNEaIGwNEdq7X4sGURiZYA" name="createAssociation" type="_AwvxoGwNEdq7X4sGURiZYA">

       <returnResult xmi:id="_URUOQGwNEdq7X4sGURiZYA" type="_AwvxoGwNEdq7X4sGURiZYA" direction="return"/>

@@ -1313,50 +1313,50 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7CRvMKPAEdqi_5gqUMOQtA"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_34aTDq8aEdqf6aL57Hh6KQ" name="conformsTo" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34aTEK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34aTD68aEdqf6aL57Hh6KQ" annotatedElement="_34aTDq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__ZIuCq8kEdqRKeAGm8hhTw" name="conformsTo" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__ZIuDK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZIuC68kEdqRKeAGm8hhTw" annotatedElement="__ZIuCq8kEdqRKeAGm8hhTw">

         <body>The query conformsTo() gives true for a type that conforms to another. By default, two types do not conform to each other. This query is intended to be redefined for specific conformance situations.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34aTEK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34aTDq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37YuXa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZIuDK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZIuCq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bqdYK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34aTEq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_34aTE68aEdqf6aL57Hh6KQ" name="other" type="_ynRtoGvtEdqG6fBIPwe-mw"/>

+      <returnResult xmi:id="__ZIuDq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__ZIuD68kEdqRKeAGm8hhTw" name="other" type="_ynRtoGvtEdqG6fBIPwe-mw"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_34jcw68aEdqf6aL57Hh6KQ" name="Expression">

-    <ownedComment xmi:id="_34jcxK8aEdqf6aL57Hh6KQ" annotatedElement="_34jcw68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__ZR3rK8kEdqRKeAGm8hhTw" name="Expression">

+    <ownedComment xmi:id="__ZR3ra8kEdqRKeAGm8hhTw" annotatedElement="__ZR3rK8kEdqRKeAGm8hhTw">

       <body>An expression is a structured tree of symbols that denotes a (possibly empty) set of values when evaluated in a context.</body>

     </ownedComment>

-    <ownedComment xmi:id="_37YuXq8aEdqf6aL57Hh6KQ" annotatedElement="_34jcw68aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__bqdYa8kEdqRKeAGm8hhTw" annotatedElement="__ZR3rK8kEdqRKeAGm8hhTw">

       <body>An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications.</body>

     </ownedComment>

-    <generalization xmi:id="_34jcxa8aEdqf6aL57Hh6KQ" general="_33qE0K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37YuX68aEdqf6aL57Hh6KQ" name="symbol" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_37YuYK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_37YuYa8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <generalization xmi:id="__ZR3rq8kEdqRKeAGm8hhTw" general="__YYf9a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__bqdYq8kEdqRKeAGm8hhTw" name="symbol" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__bqdY68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__bqdZK8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37YuYq8aEdqf6aL57Hh6KQ" annotatedElement="_37YuX68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bqdZa8kEdqRKeAGm8hhTw" annotatedElement="__bqdYq8kEdqRKeAGm8hhTw">

         <body>The symbol associated with the node in the expression tree.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37YuY68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37YuZK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdZq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bqdZ68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34jcxq8aEdqf6aL57Hh6KQ" name="operand" type="_33qE0K8aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_342X6K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_34jcx68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34jcyK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ZR3r68kEdqRKeAGm8hhTw" name="operand" type="__YYf9a8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__Zkyy68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ZR3sK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZR3sa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34jcya8aEdqf6aL57Hh6KQ" annotatedElement="_34jcxq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZR3sq8kEdqRKeAGm8hhTw" annotatedElement="__ZR3r68kEdqRKeAGm8hhTw">

         <body>Specifies a sequence of operands.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37YuZa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37YuZq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdaK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bqdaa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Enumeration" xmi:id="_B3q9cGwNEdq7X4sGURiZYA" name="AggregationKind">

-    <ownedComment xmi:id="_37YuZ68aEdqf6aL57Hh6KQ" annotatedElement="_B3q9cGwNEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__bqdaq8kEdqRKeAGm8hhTw" annotatedElement="_B3q9cGwNEdq7X4sGURiZYA">

       <body>AggregationKind is an enumeration of the following literal values:

 • none Indicates that the property has no aggregation.

 • shared Indicates that the property has a shared aggregation.

@@ -1364,24 +1364,24 @@
 responsibility for the existence and storage of the composed objects (parts).

 </body>

     </ownedComment>

-    <ownedLiteral xmi:id="_37YuaK8aEdqf6aL57Hh6KQ" name="none">

-      <ownedComment xmi:id="_37Yuaa8aEdqf6aL57Hh6KQ" annotatedElement="_37YuaK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__bqda68kEdqRKeAGm8hhTw" name="none">

+      <ownedComment xmi:id="__bqdbK8kEdqRKeAGm8hhTw" annotatedElement="__bqda68kEdqRKeAGm8hhTw">

         <body>Indicates that the property has no aggregation.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_37Yuaq8aEdqf6aL57Hh6KQ" name="shared">

-      <ownedComment xmi:id="_37Yua68aEdqf6aL57Hh6KQ" annotatedElement="_37Yuaq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__bqdba8kEdqRKeAGm8hhTw" name="shared">

+      <ownedComment xmi:id="__bqdbq8kEdqRKeAGm8hhTw" annotatedElement="__bqdba8kEdqRKeAGm8hhTw">

         <body>Indicates that the property has a shared aggregation.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_37YubK8aEdqf6aL57Hh6KQ" name="composite">

-      <ownedComment xmi:id="_37Yuba8aEdqf6aL57Hh6KQ" annotatedElement="_37YubK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__bqdb68kEdqRKeAGm8hhTw" name="composite">

+      <ownedComment xmi:id="__bqdcK8kEdqRKeAGm8hhTw" annotatedElement="__bqdb68kEdqRKeAGm8hhTw">

         <body>Indicates that the property is aggregated compositely, i.e., the composite object has responsibility for the existence and storage of the composed objects (parts).</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_34jc2a8aEdqf6aL57Hh6KQ" name="ParameterDirectionKind">

-    <ownedComment xmi:id="_34jc2q8aEdqf6aL57Hh6KQ" annotatedElement="_34jc2a8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__ZR3wq8kEdqRKeAGm8hhTw" name="ParameterDirectionKind">

+    <ownedComment xmi:id="__ZR3w68kEdqRKeAGm8hhTw" annotatedElement="__ZR3wq8kEdqRKeAGm8hhTw">

       <body>ParameterDirectionKind is an enumeration of the following literal values:

 

   - in Indicates that parameter values are passed into the behavioral element by the caller.

@@ -1394,7 +1394,7 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_37Yubq8aEdqf6aL57Hh6KQ" annotatedElement="_34jc2a8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__bqdca8kEdqRKeAGm8hhTw" annotatedElement="__ZR3wq8kEdqRKeAGm8hhTw">

       <body>ParameterDirectionKind is an enumeration of the following literal values:

 • in Indicates that parameter values are passed into the behavioral element by the caller.

 • inout Indicates that parameter values are passed into a behavioral element by the caller and then back out to the caller from the behavioral element.

@@ -1402,29 +1402,29 @@
 • return Indicates that parameter values are passed as return values from a behavioral element back to the caller.

 </body>

     </ownedComment>

-    <ownedLiteral xmi:id="_34jc268aEdqf6aL57Hh6KQ" name="in">

-      <ownedComment xmi:id="_34jc3K8aEdqf6aL57Hh6KQ" annotatedElement="_34jc268aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ZR3xK8kEdqRKeAGm8hhTw" name="in">

+      <ownedComment xmi:id="__ZR3xa8kEdqRKeAGm8hhTw" annotatedElement="__ZR3xK8kEdqRKeAGm8hhTw">

         <body>Indicates that parameter values are passed into the behavioral element by the caller.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_34jc3a8aEdqf6aL57Hh6KQ" name="inout">

-      <ownedComment xmi:id="_34jc3q8aEdqf6aL57Hh6KQ" annotatedElement="_34jc3a8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ZR3xq8kEdqRKeAGm8hhTw" name="inout">

+      <ownedComment xmi:id="__ZR3x68kEdqRKeAGm8hhTw" annotatedElement="__ZR3xq8kEdqRKeAGm8hhTw">

         <body>Indicates that parameter values are passed into a behavioral element by the caller and then back out to the caller from the behavioral element.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_34jc368aEdqf6aL57Hh6KQ" name="out">

-      <ownedComment xmi:id="_34jc4K8aEdqf6aL57Hh6KQ" annotatedElement="_34jc368aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ZR3yK8kEdqRKeAGm8hhTw" name="out">

+      <ownedComment xmi:id="__ZR3ya8kEdqRKeAGm8hhTw" annotatedElement="__ZR3yK8kEdqRKeAGm8hhTw">

         <body>Indicates that parameter values are passed from a behavioral element out to the caller.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_34jc4a8aEdqf6aL57Hh6KQ" name="return">

-      <ownedComment xmi:id="_34jc4q8aEdqf6aL57Hh6KQ" annotatedElement="_34jc4a8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ZR3yq8kEdqRKeAGm8hhTw" name="return">

+      <ownedComment xmi:id="__ZR3y68kEdqRKeAGm8hhTw" annotatedElement="__ZR3yq8kEdqRKeAGm8hhTw">

         <body>Indicates that parameter values are passed as return values from a behavioral element back to the caller.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

   <ownedMember xmi:type="uml:Enumeration" xmi:id="_AyM_oGwMEdq7X4sGURiZYA" name="VisibilityKind">

-    <ownedComment xmi:id="_34jc468aEdqf6aL57Hh6KQ" annotatedElement="_AyM_oGwMEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__ZR3zK8kEdqRKeAGm8hhTw" annotatedElement="_AyM_oGwMEdq7X4sGURiZYA">

       <body>VisibilityKind is an enumeration of the following literal values:

 

   - public

@@ -1435,415 +1435,415 @@
 

   - package</body>

     </ownedComment>

-    <ownedOperation xmi:id="_34jc5K8aEdqf6aL57Hh6KQ" name="bestVisibility" isQuery="true" precondition="_37YucK8aEdqf6aL57Hh6KQ" bodyCondition="_34jc5q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34jc5a8aEdqf6aL57Hh6KQ" annotatedElement="_34jc5K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__ZR3za8kEdqRKeAGm8hhTw" name="bestVisibility" isQuery="true" precondition="__bqdc68kEdqRKeAGm8hhTw" bodyCondition="__ZR3z68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZR3zq8kEdqRKeAGm8hhTw" annotatedElement="__ZR3za8kEdqRKeAGm8hhTw">

         <body>The query bestVisibility() examines a set of VisibilityKinds, and returns public as the preferred visibility.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37Yub68aEdqf6aL57Hh6KQ" annotatedElement="_34jc5K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bqdcq8kEdqRKeAGm8hhTw" annotatedElement="__ZR3za8kEdqRKeAGm8hhTw">

         <body>The query bestVisibility() examines a set of VisibilityKinds that includes only public and private, and returns public as the preferred visibility.</body>

       </ownedComment>

-      <ownedRule xmi:id="_37YucK8aEdqf6aL57Hh6KQ" constrainedElement="_34jc5K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37Yuca8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__bqdc68kEdqRKeAGm8hhTw" constrainedElement="__ZR3za8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bqddK8kEdqRKeAGm8hhTw" language="OCL">

           <body>pre: not vis->includes(#protected) and not vis->includes(#package)</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_34jc5q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34jc5K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37Yucq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZR3z68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZR3za8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bqdda8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if vis->includes(#public) then #public else #private endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34jc6K8aEdqf6aL57Hh6KQ" direction="return">

+      <returnResult xmi:id="__ZR30a8kEdqRKeAGm8hhTw" direction="return">

         <type xmi:type="uml:Enumeration" href="Infrastructure.uml2#_3ADC7B74022D3CAD9E0F01D0"/>

       </returnResult>

       <type xmi:type="uml:Enumeration" href="Infrastructure.uml2#_3ADC7B74022D3CAD9E0F01D0"/>

-      <ownedParameter xmi:id="_34jc6a8aEdqf6aL57Hh6KQ" name="vis" type="_AyM_oGwMEdq7X4sGURiZYA">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_34jc6q8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_34jc668aEdqf6aL57Hh6KQ"/>

+      <ownedParameter xmi:id="__ZR30q8kEdqRKeAGm8hhTw" name="vis" type="_AyM_oGwMEdq7X4sGURiZYA">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ZR3068kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ZR31K8kEdqRKeAGm8hhTw"/>

       </ownedParameter>

     </ownedOperation>

-    <ownedLiteral xmi:id="_34jc7K8aEdqf6aL57Hh6KQ" name="public">

-      <ownedComment xmi:id="_34jc7a8aEdqf6aL57Hh6KQ" annotatedElement="_34jc7K8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ZR31a8kEdqRKeAGm8hhTw" name="public">

+      <ownedComment xmi:id="__ZR31q8kEdqRKeAGm8hhTw" annotatedElement="__ZR31a8kEdqRKeAGm8hhTw">

         <body>A public element is visible to all elements that can access the contents of the namespace that owns it.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_34jc7q8aEdqf6aL57Hh6KQ" name="private">

-      <ownedComment xmi:id="_34jc768aEdqf6aL57Hh6KQ" annotatedElement="_34jc7q8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ZR3168kEdqRKeAGm8hhTw" name="private">

+      <ownedComment xmi:id="__ZR32K8kEdqRKeAGm8hhTw" annotatedElement="__ZR3168kEdqRKeAGm8hhTw">

         <body>A private element is only visible inside the namespace that owns it.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_34jc8K8aEdqf6aL57Hh6KQ" name="protected">

-      <ownedComment xmi:id="_34jc8a8aEdqf6aL57Hh6KQ" annotatedElement="_34jc8K8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ZR32a8kEdqRKeAGm8hhTw" name="protected">

+      <ownedComment xmi:id="__ZR32q8kEdqRKeAGm8hhTw" annotatedElement="__ZR32a8kEdqRKeAGm8hhTw">

         <body>A protected element is visible to elements that have a generalization relationship to the namespace that owns it.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_34jc8q8aEdqf6aL57Hh6KQ" name="package">

-      <ownedComment xmi:id="_34jc868aEdqf6aL57Hh6KQ" annotatedElement="_34jc8q8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ZR3268kEdqRKeAGm8hhTw" name="package">

+      <ownedComment xmi:id="__ZR33K8kEdqRKeAGm8hhTw" annotatedElement="__ZR3268kEdqRKeAGm8hhTw">

         <body>A package element is owned by a namespace that is not a package, and is visible to elements that are in the same package as its owning namespace. Only named elements that are not owned by packages can be marked as having package visibility.  Any element marked as having package visibility is visible to all elements within the nearest enclosing package (given that other owning elements have proper visibility).  Outside the nearest enclosing package, an element marked as having package visibility is not visible.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xya8aEdqf6aL57Hh6KQ" name="A_ownedElement_owner" memberEnd="_33OACq8aEdqf6aL57Hh6KQ _33OABK8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xzq8aEdqf6aL57Hh6KQ" name="A_source_directedRelationship" memberEnd="_33N_8a8aEdqf6aL57Hh6KQ _342X0K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xz68aEdqf6aL57Hh6KQ" general="_342XzK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342X0K8aEdqf6aL57Hh6KQ" type="_JBgfoKPAEdqi_5gqUMOQtA" redefinedProperty="_342Xza8aEdqf6aL57Hh6KQ" association="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZkyrK8kEdqRKeAGm8hhTw" name="A_ownedElement_owner" memberEnd="__YFk468kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkysa8kEdqRKeAGm8hhTw" name="A_source_directedRelationship" memberEnd="__Zkys68kEdqRKeAGm8hhTw __YFk0K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkysq8kEdqRKeAGm8hhTw" general="__Zkyr68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zkys68kEdqRKeAGm8hhTw" type="_JBgfoKPAEdqi_5gqUMOQtA" redefinedProperty="__ZkysK8kEdqRKeAGm8hhTw" association="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X0a8aEdqf6aL57Hh6KQ" name="A_target_directedRelationship" memberEnd="_342X068aEdqf6aL57Hh6KQ _33N_968aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X0q8aEdqf6aL57Hh6KQ" general="_342XzK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342X068aEdqf6aL57Hh6KQ" type="_JBgfoKPAEdqi_5gqUMOQtA" redefinedProperty="_342Xza8aEdqf6aL57Hh6KQ" association="_342X0a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZkytK8kEdqRKeAGm8hhTw" name="A_target_directedRelationship" memberEnd="__YFk1q8kEdqRKeAGm8hhTw __Zkytq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkyta8kEdqRKeAGm8hhTw" general="__Zkyr68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zkytq8kEdqRKeAGm8hhTw" type="_JBgfoKPAEdqi_5gqUMOQtA" redefinedProperty="__ZkysK8kEdqRKeAGm8hhTw" association="__ZkytK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X2q8aEdqf6aL57Hh6KQ" name="A_constrainedElement_constraint" memberEnd="_342X268aEdqf6aL57Hh6KQ _33z2Fa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342X268aEdqf6aL57Hh6KQ" type="_33z2DK8aEdqf6aL57Hh6KQ" association="_342X2q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyva8kEdqRKeAGm8hhTw" name="A_constrainedElement_constraint" memberEnd="__YsB_q8kEdqRKeAGm8hhTw __Zkyvq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__Zkyvq8kEdqRKeAGm8hhTw" type="__YsB9a8kEdqRKeAGm8hhTw" association="__Zkyva8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34jc9K8aEdqf6aL57Hh6KQ" name="A_type_typedElement" memberEnd="_34jc9a8aEdqf6aL57Hh6KQ _33g7Ea8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_34jc9a8aEdqf6aL57Hh6KQ" type="_33g7Dq8aEdqf6aL57Hh6KQ" association="_34jc9K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR33a8kEdqRKeAGm8hhTw" name="A_type_typedElement" memberEnd="__YYf8a8kEdqRKeAGm8hhTw __ZR33q8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ZR33q8kEdqRKeAGm8hhTw" type="__YYf7q8kEdqRKeAGm8hhTw" association="__ZR33a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifQK8aEdqf6aL57Hh6KQ" name="A_generalization_specific" memberEnd="_36WMeK8aEdqf6aL57Hh6KQ _35vvha8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37ifQa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_37ifQq8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__bqddq8kEdqRKeAGm8hhTw" name="A_generalization_specific" memberEnd="__aVAia8kEdqRKeAGm8hhTw __axFcK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__bqdd68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__bqdeK8kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifQ68aEdqf6aL57Hh6KQ" name="A_general_generalization" memberEnd="_36WMfq8aEdqf6aL57Hh6KQ _37ifRa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37ifRK8aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37ifRa8aEdqf6aL57Hh6KQ" type="_C7AF4GwREdq14q0ETb1t3g" redefinedProperty="_342X068aEdqf6aL57Hh6KQ" association="_37ifQ68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__bqdea8kEdqRKeAGm8hhTw" name="A_general_generalization" memberEnd="__axFdq8kEdqRKeAGm8hhTw __bqde68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__bqdeq8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__bqde68kEdqRKeAGm8hhTw" type="_C7AF4GwREdq14q0ETb1t3g" redefinedProperty="__Zkytq8kEdqRKeAGm8hhTw" association="__bqdea8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X2K8aEdqf6aL57Hh6KQ" name="A_feature_featuringClassifier" memberEnd="_326d9q8aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X2a8aEdqf6aL57Hh6KQ" general="_342X5q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyu68kEdqRKeAGm8hhTw" name="A_feature_featuringClassifier" memberEnd="__YFlBK8kEdqRKeAGm8hhTw __Xyp7q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZkyvK8kEdqRKeAGm8hhTw" general="__Zkyya8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342XoK8aEdqf6aL57Hh6KQ" name="A_ownedParameter_ownerFormalParam" memberEnd="_342Xoq8aEdqf6aL57Hh6KQ _34Qhy68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xoa8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342Xoq8aEdqf6aL57Hh6KQ" name="ownerFormalParam" type="_rHT3YKOsEdqi_5gqUMOQtA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_342XoK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37ifRq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37ifR68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zbora8kEdqRKeAGm8hhTw" name="A_ownedParameter_ownerFormalParam" memberEnd="__Zbor68kEdqRKeAGm8hhTw __Y-8y68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zborq8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zbor68kEdqRKeAGm8hhTw" name="ownerFormalParam" type="_rHT3YKOsEdqi_5gqUMOQtA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__Zbora8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bqdfK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bqdfa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifSK8aEdqf6aL57Hh6KQ" name="A_classifier_instanceSpecification" memberEnd="_37ifSa8aEdqf6aL57Hh6KQ _36WMo68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_37ifSa8aEdqf6aL57Hh6KQ" type="_36WMmq8aEdqf6aL57Hh6KQ" association="_37ifSK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__bqdfq8kEdqRKeAGm8hhTw" name="A_classifier_instanceSpecification" memberEnd="__a62eK8kEdqRKeAGm8hhTw __bqdf68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__bqdf68kEdqRKeAGm8hhTw" type="__a62b68kEdqRKeAGm8hhTw" association="__bqdfq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifSq8aEdqf6aL57Hh6KQ" name="A_slot_owningInstance" memberEnd="_36WMp68aEdqf6aL57Hh6KQ _36WMtq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37ifS68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__bqdgK8kEdqRKeAGm8hhTw" name="A_slot_owningInstance" memberEnd="__a62fK8kEdqRKeAGm8hhTw __a62i68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__bqdga8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifTK8aEdqf6aL57Hh6KQ" name="A_definingFeature_slot" memberEnd="_36fWYK8aEdqf6aL57Hh6KQ _37ifTa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_37ifTa8aEdqf6aL57Hh6KQ" type="_36WMs68aEdqf6aL57Hh6KQ" association="_37ifTK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b0OQK8kEdqRKeAGm8hhTw" name="A_definingFeature_slot" memberEnd="__a62ka8kEdqRKeAGm8hhTw __b0OQa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__b0OQa8kEdqRKeAGm8hhTw" type="__a62iK8kEdqRKeAGm8hhTw" association="__b0OQK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xyq8aEdqf6aL57Hh6KQ" name="A_annotatedElement_comment" memberEnd="_34jc1a8aEdqf6aL57Hh6KQ _342Xy68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342Xy68aEdqf6aL57Hh6KQ" type="_34jczK8aEdqf6aL57Hh6KQ" association="_342Xyq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyra8kEdqRKeAGm8hhTw" name="A_annotatedElement_comment" memberEnd="__Zkyrq8kEdqRKeAGm8hhTw __ZR3vq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__Zkyrq8kEdqRKeAGm8hhTw" type="__ZR3ta8kEdqRKeAGm8hhTw" association="__Zkyra8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X8q8aEdqf6aL57Hh6KQ" name="A_ownedComment_owningElement" memberEnd="_342X9K8aEdqf6aL57Hh6KQ _33OAEK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X868aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342X9K8aEdqf6aL57Hh6KQ" name="owningElement" type="_kl90MGvbEdq4DLWZOhbdEA" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_342X8q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37ifTq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37ifT68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zky1a8kEdqRKeAGm8hhTw" name="A_ownedComment_owningElement" memberEnd="__Zky168kEdqRKeAGm8hhTw __YFk768kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zky1q8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zky168kEdqRKeAGm8hhTw" name="owningElement" type="_kl90MGvbEdq4DLWZOhbdEA" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__Zky1a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b0OQq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b0OQ68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xra8aEdqf6aL57Hh6KQ" name="A_importedElement_elementImport" memberEnd="_342Xr68aEdqf6aL57Hh6KQ _34Qh7a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xrq8aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342Xr68aEdqf6aL57Hh6KQ" type="_RPl78GwIEdq7X4sGURiZYA" redefinedProperty="_342X068aEdqf6aL57Hh6KQ" association="_342Xra8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZkykK8kEdqRKeAGm8hhTw" name="A_importedElement_elementImport" memberEnd="__Zkykq8kEdqRKeAGm8hhTw __Y-87a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkyka8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zkykq8kEdqRKeAGm8hhTw" type="_RPl78GwIEdq7X4sGURiZYA" redefinedProperty="__Zkytq8kEdqRKeAGm8hhTw" association="__ZkykK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X968aEdqf6aL57Hh6KQ" name="A_inheritedMember_classifier" memberEnd="_326eAK8aEdqf6aL57Hh6KQ _342X-a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X-K8aEdqf6aL57Hh6KQ" general="_342X5q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342X-a8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_342X568aEdqf6aL57Hh6KQ" association="_342X968aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zky2q8kEdqRKeAGm8hhTw" name="A_inheritedMember_classifier" memberEnd="__Zky3K8kEdqRKeAGm8hhTw __Xyp-K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zky268kEdqRKeAGm8hhTw" general="__Zkyya8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zky3K8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="__Zkyyq8kEdqRKeAGm8hhTw" association="__Zky2q8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifUK8aEdqf6aL57Hh6KQ" name="A_nestedClassifier_class" memberEnd="_36pHaK8aEdqf6aL57Hh6KQ _37ifU68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37ifUa8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_37ifUq8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37ifU68aEdqf6aL57Hh6KQ" name="class" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ _33g66a8aEdqf6aL57Hh6KQ" association="_37ifUK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_37ifVK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_37ifVa8aEdqf6aL57Hh6KQ" referenceName="class_"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b0ORK8kEdqRKeAGm8hhTw" name="A_nestedClassifier_class" memberEnd="__b0OR68kEdqRKeAGm8hhTw __bEnc68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__b0ORa8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__b0ORq8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__b0OR68kEdqRKeAGm8hhTw" name="class" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw __YYfya8kEdqRKeAGm8hhTw" association="__b0ORK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__b0OSK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__b0OSa8kEdqRKeAGm8hhTw" referenceName="class_"/>

       </eAnnotations>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37ifVq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37ifV68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b0OSq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b0OS68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34jc9q8aEdqf6aL57Hh6KQ" name="A_ownedAttribute_class" memberEnd="_33qFV68aEdqf6aL57Hh6KQ _33qFFK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34jc-K8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4OnMQK8aEdqf6aL57Hh6KQ" general="_38uyZa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR3368kEdqRKeAGm8hhTw" name="A_ownedAttribute_class" memberEnd="__YiRJK8kEdqRKeAGm8hhTw __YiQ4a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZR34a8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__tZtgK8kEdqRKeAGm8hhTw" general="__c2wna8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34jc-a8aEdqf6aL57Hh6KQ" name="A_ownedOperation_class" memberEnd="_339m8q8aEdqf6aL57Hh6KQ _33qFGq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34jc-q8aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34jc-68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34jc_K8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR34q8kEdqRKeAGm8hhTw" name="A_ownedOperation_class" memberEnd="__YiQ568kEdqRKeAGm8hhTw __Y1LyK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZR3468kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__ZR35K8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__ZR35a8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X-q8aEdqf6aL57Hh6KQ" name="A_precondition_preContext" memberEnd="_342X_K8aEdqf6aL57Hh6KQ _339nEq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X-68aEdqf6aL57Hh6KQ" general="_342YCa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342X_K8aEdqf6aL57Hh6KQ" name="preContext" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_33z2H68aEdqf6aL57Hh6KQ" association="_342X-q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37ifWq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37ifW68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zky3a8kEdqRKeAGm8hhTw" name="A_precondition_preContext" memberEnd="__Y1L6K8kEdqRKeAGm8hhTw __Zky368kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zky3q8kEdqRKeAGm8hhTw" general="__ZujkK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zky368kEdqRKeAGm8hhTw" name="preContext" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="__YsCCK8kEdqRKeAGm8hhTw" association="__Zky3a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b0OTq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b0OT68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X_68aEdqf6aL57Hh6KQ" name="A_postcondition_postContext" memberEnd="_342YAa8aEdqf6aL57Hh6KQ _339nF68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342YAK8aEdqf6aL57Hh6KQ" general="_342YCa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342YAa8aEdqf6aL57Hh6KQ" name="postContext" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_33z2H68aEdqf6aL57Hh6KQ" association="_342X_68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37ifXK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37ifXa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zky4q8kEdqRKeAGm8hhTw" name="A_postcondition_postContext" memberEnd="__Zky5K8kEdqRKeAGm8hhTw __Y1L7a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zky468kEdqRKeAGm8hhTw" general="__ZujkK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zky5K8kEdqRKeAGm8hhTw" name="postContext" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="__YsCCK8kEdqRKeAGm8hhTw" association="__Zky4q8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b0OUK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b0OUa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNz68aEdqf6aL57Hh6KQ" name="A_redefinedOperation_operation" memberEnd="_34tN0a8aEdqf6aL57Hh6KQ _339nAq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tN0K8aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_34tN0a8aEdqf6aL57Hh6KQ" type="_M4X2IGveEdq4DLWZOhbdEA" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_34tNz68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zboqq8kEdqRKeAGm8hhTw" name="A_redefinedOperation_operation" memberEnd="__Y1L2K8kEdqRKeAGm8hhTw __ZborK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zboq68kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ZborK8kEdqRKeAGm8hhTw" type="_M4X2IGveEdq4DLWZOhbdEA" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__Zboqq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNtq8aEdqf6aL57Hh6KQ" name="A_redefinedProperty_property" memberEnd="_33qFY68aEdqf6aL57Hh6KQ _34tNuK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tNt68aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_34tNuK8aEdqf6aL57Hh6KQ" type="_Jp_1oGveEdq4DLWZOhbdEA" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_34tNtq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR38K8kEdqRKeAGm8hhTw" name="A_redefinedProperty_property" memberEnd="__YiRMK8kEdqRKeAGm8hhTw __ZR38q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZR38a8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ZR38q8kEdqRKeAGm8hhTw" type="_Jp_1oGveEdq4DLWZOhbdEA" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__ZR38K8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34jc_a8aEdqf6aL57Hh6KQ" name="A_ownedEnd_owningAssociation" memberEnd="_33qFXa8aEdqf6aL57Hh6KQ _33qE-68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34jc_q8aEdqf6aL57Hh6KQ" general="_342Xva8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34jc_68aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34jdAK8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR35q8kEdqRKeAGm8hhTw" name="A_ownedEnd_owningAssociation" memberEnd="__YiRKq8kEdqRKeAGm8hhTw __YiQyK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZR3568kEdqRKeAGm8hhTw" general="__ZkyoK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__ZR36K8kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__ZR36a8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNxa8aEdqf6aL57Hh6KQ" name="A_ownedAttribute_datatype" memberEnd="_33z15K8aEdqf6aL57Hh6KQ _33qFca8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tNxq8aEdqf6aL57Hh6KQ" general="_34tNsK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34tNx68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZbooK8kEdqRKeAGm8hhTw" name="A_ownedAttribute_datatype" memberEnd="__YiRPq8kEdqRKeAGm8hhTw __YsBza8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zbooa8kEdqRKeAGm8hhTw" general="__ZR36q8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__Zbooq8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNyK8aEdqf6aL57Hh6KQ" name="A_ownedOperation_datatype" memberEnd="_339m-K8aEdqf6aL57Hh6KQ _33z16q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tNya8aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34tNyq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34tNy68aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zboo68kEdqRKeAGm8hhTw" name="A_ownedOperation_datatype" memberEnd="__YsB068kEdqRKeAGm8hhTw __Y1Lzq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZbopK8kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__Zbopa8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__Zbopq8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNw68aEdqf6aL57Hh6KQ" name="A_ownedLiteral_enumeration" memberEnd="_33z1_K8aEdqf6aL57Hh6KQ _33z2BK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tNxK8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR3_a8kEdqRKeAGm8hhTw" name="A_ownedLiteral_enumeration" memberEnd="__YsB7a8kEdqRKeAGm8hhTw __YsB5a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZR3_q8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342XsK8aEdqf6aL57Hh6KQ" name="A_elementImport_importingNamespace" memberEnd="_34Qh8a8aEdqf6aL57Hh6KQ _33XKBa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xsa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_342Xsq8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyk68kEdqRKeAGm8hhTw" name="A_elementImport_importingNamespace" memberEnd="__YPV5a8kEdqRKeAGm8hhTw __Y-88a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZkylK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__Zkyla8kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xs68aEdqf6aL57Hh6KQ" name="A_packageImport_importingNamespace" memberEnd="_34aS8q8aEdqf6aL57Hh6KQ _33XKC68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342XtK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_342Xta8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkylq8kEdqRKeAGm8hhTw" name="A_packageImport_importingNamespace" memberEnd="__ZIt7q8kEdqRKeAGm8hhTw __YPV668kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkyl68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__ZkymK8kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xqq8aEdqf6aL57Hh6KQ" name="A_importedPackage_packageImport" memberEnd="_342XrK8aEdqf6aL57Hh6KQ _34aS7q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xq68aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342XrK8aEdqf6aL57Hh6KQ" type="_SnNPIGwIEdq7X4sGURiZYA" redefinedProperty="_342X068aEdqf6aL57Hh6KQ" association="_342Xqq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zbot68kEdqRKeAGm8hhTw" name="A_importedPackage_packageImport" memberEnd="__Zboua8kEdqRKeAGm8hhTw __ZIt6q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZbouK8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zboua8kEdqRKeAGm8hhTw" type="_SnNPIGwIEdq7X4sGURiZYA" redefinedProperty="__Zkytq8kEdqRKeAGm8hhTw" association="__Zbot68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifXq8aEdqf6aL57Hh6KQ" name="A_redefinedClassifier_classifier" memberEnd="_355ggK8aEdqf6aL57Hh6KQ _37ifYK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37ifX68aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37ifYK8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_37ifXq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b9YMK8kEdqRKeAGm8hhTw" name="A_redefinedClassifier_classifier" memberEnd="__aVAlq8kEdqRKeAGm8hhTw __b9YMq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__b9YMa8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__b9YMq8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__b9YMK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X3K8aEdqf6aL57Hh6KQ" name="A_specification_owningConstraint" memberEnd="_342X3q8aEdqf6aL57Hh6KQ _33z2Ga8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X3a8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342X3q8aEdqf6aL57Hh6KQ" name="owningConstraint" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_342X3K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37ifYa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37ifYq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyv68kEdqRKeAGm8hhTw" name="A_specification_owningConstraint" memberEnd="__Zkywa8kEdqRKeAGm8hhTw __YsCAq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZkywK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zkywa8kEdqRKeAGm8hhTw" name="owningConstraint" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__Zkyv68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YM68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YNK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifY68aEdqf6aL57Hh6KQ" name="A_defaultValue_owningParameter" memberEnd="_37ifZa8aEdqf6aL57Hh6KQ _36WMja8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37ifZK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37ifZa8aEdqf6aL57Hh6KQ" name="owningParameter" type="_KyaPMGveEdq4DLWZOhbdEA" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_37ifY68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37ifZq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37ifZ68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b9YNa8kEdqRKeAGm8hhTw" name="A_defaultValue_owningParameter" memberEnd="__a62Yq8kEdqRKeAGm8hhTw __b9YN68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__b9YNq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__b9YN68kEdqRKeAGm8hhTw" name="owningParameter" type="_KyaPMGveEdq4DLWZOhbdEA" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__b9YNa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YOK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YOa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37ifaK8aEdqf6aL57Hh6KQ" name="A_defaultValue_owningProperty" memberEnd="_37ifaq8aEdqf6aL57Hh6KQ _36y4ea8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37ifaa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37ifaq8aEdqf6aL57Hh6KQ" name="owningProperty" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_37ifaK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37ifa68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37ifbK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b9YOq8kEdqRKeAGm8hhTw" name="A_defaultValue_owningProperty" memberEnd="__b9YPK8kEdqRKeAGm8hhTw __bNxZ68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__b9YO68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__b9YPK8kEdqRKeAGm8hhTw" name="owningProperty" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__b9YOq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YPa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YPq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342YCa8aEdqf6aL57Hh6KQ" name="A_ownedRule_context" memberEnd="_33z2H68aEdqf6aL57Hh6KQ _33XKHa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342YCq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZujkK8kEdqRKeAGm8hhTw" name="A_ownedRule_context" memberEnd="__YsCCK8kEdqRKeAGm8hhTw __YPV_a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zujka8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X5q8aEdqf6aL57Hh6KQ" name="A_member_namespace" memberEnd="_342X568aEdqf6aL57Hh6KQ _33XKF68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342X568aEdqf6aL57Hh6KQ" type="_ZiwkoGwLEdq7X4sGURiZYA" association="_342X5q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyya8kEdqRKeAGm8hhTw" name="A_member_namespace" memberEnd="__Zkyyq8kEdqRKeAGm8hhTw __YPV968kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__Zkyyq8kEdqRKeAGm8hhTw" type="_ZiwkoGwLEdq7X4sGURiZYA" association="__Zkyya8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342XzK8aEdqf6aL57Hh6KQ" name="A_relatedElement_relationship" memberEnd="_33g7A68aEdqf6aL57Hh6KQ _342Xza8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342Xza8aEdqf6aL57Hh6KQ" type="_DH62EKPAEdqi_5gqUMOQtA" association="_342XzK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyr68kEdqRKeAGm8hhTw" name="A_relatedElement_relationship" memberEnd="__ZkysK8kEdqRKeAGm8hhTw __YYf468kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ZkysK8kEdqRKeAGm8hhTw" type="_DH62EKPAEdqi_5gqUMOQtA" association="__Zkyr68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNwK8aEdqf6aL57Hh6KQ" name="A_endType_association" memberEnd="_33qFAa8aEdqf6aL57Hh6KQ _34tNwq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tNwa8aEdqf6aL57Hh6KQ" general="_342XzK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_34tNwq8aEdqf6aL57Hh6KQ" type="_AwvxoGwNEdq7X4sGURiZYA" redefinedProperty="_342Xza8aEdqf6aL57Hh6KQ" association="_34tNwK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR3-q8kEdqRKeAGm8hhTw" name="A_endType_association" memberEnd="__YiQzq8kEdqRKeAGm8hhTw __ZR3_K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZR3-68kEdqRKeAGm8hhTw" general="__Zkyr68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ZR3_K8kEdqRKeAGm8hhTw" type="_AwvxoGwNEdq7X4sGURiZYA" redefinedProperty="__ZkysK8kEdqRKeAGm8hhTw" association="__ZR3-q8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37rpMK8aEdqf6aL57Hh6KQ" name="A_upperValue_owningUpper" memberEnd="_37rpMq8aEdqf6aL57Hh6KQ _35mlqK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37rpMa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37rpMq8aEdqf6aL57Hh6KQ" name="owningUpper" type="_Gjgl0GveEdq4DLWZOhbdEA" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_37rpMK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37rpM68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37rpNK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b9YP68kEdqRKeAGm8hhTw" name="A_upperValue_owningUpper" memberEnd="__b9YQa8kEdqRKeAGm8hhTw __aLPn68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__b9YQK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__b9YQa8kEdqRKeAGm8hhTw" name="owningUpper" type="_Gjgl0GveEdq4DLWZOhbdEA" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__b9YP68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YQq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YQ68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37rpNa8aEdqf6aL57Hh6KQ" name="A_lowerValue_owningLower" memberEnd="_35mlrq8aEdqf6aL57Hh6KQ _37rpN68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37rpNq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37rpN68aEdqf6aL57Hh6KQ" name="owningLower" type="_Gjgl0GveEdq4DLWZOhbdEA" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_37rpNa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37rpOK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37rpOa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b9YRK8kEdqRKeAGm8hhTw" name="A_lowerValue_owningLower" memberEnd="__aLPpa8kEdqRKeAGm8hhTw __b9YRq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__b9YRa8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__b9YRq8kEdqRKeAGm8hhTw" name="owningLower" type="_Gjgl0GveEdq4DLWZOhbdEA" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__b9YRK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YR68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YSK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xw68aEdqf6aL57Hh6KQ" name="A_receivingPackage_packageMerge" memberEnd="_34aSzK8aEdqf6aL57Hh6KQ _34aS-68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xxa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_342XxK8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkypq8kEdqRKeAGm8hhTw" name="A_receivingPackage_packageMerge" memberEnd="__ZItyK8kEdqRKeAGm8hhTw __ZIt968kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZkyqK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__Zkyp68kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xxq8aEdqf6aL57Hh6KQ" name="A_mergedPackage_packageMerge" memberEnd="_34aTAa8aEdqf6aL57Hh6KQ _342XyK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xx68aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342XyK8aEdqf6aL57Hh6KQ" type="_34aS-K8aEdqf6aL57Hh6KQ" redefinedProperty="_342X068aEdqf6aL57Hh6KQ" association="_342Xxq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyqa8kEdqRKeAGm8hhTw" name="A_mergedPackage_packageMerge" memberEnd="__Zkyq68kEdqRKeAGm8hhTw __ZIt_a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkyqq8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zkyq68kEdqRKeAGm8hhTw" type="__ZIt9K8kEdqRKeAGm8hhTw" redefinedProperty="__Zkytq8kEdqRKeAGm8hhTw" association="__Zkyqa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37rpOq8aEdqf6aL57Hh6KQ" name="A_instance_instanceValue" memberEnd="_37YuR68aEdqf6aL57Hh6KQ _37rpO68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_37rpO68aEdqf6aL57Hh6KQ" type="_PyCx8GveEdq4DLWZOhbdEA" association="_37rpOq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b9YSa8kEdqRKeAGm8hhTw" name="A_instance_instanceValue" memberEnd="__bqdSq8kEdqRKeAGm8hhTw __b9YSq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__b9YSq8kEdqRKeAGm8hhTw" type="_PyCx8GveEdq4DLWZOhbdEA" association="__b9YSa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37rpPK8aEdqf6aL57Hh6KQ" name="A_value_owningSlot" memberEnd="_36fWZK8aEdqf6aL57Hh6KQ _37rpPq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37rpPa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37rpPq8aEdqf6aL57Hh6KQ" name="owningSlot" type="_36WMs68aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_37rpPK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37rpP68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37rpQK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b9YS68kEdqRKeAGm8hhTw" name="A_value_owningSlot" memberEnd="__a62la8kEdqRKeAGm8hhTw __b9YTa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__b9YTK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__b9YTa8kEdqRKeAGm8hhTw" name="owningSlot" type="__a62iK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__b9YS68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YTq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YT68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37rpQa8aEdqf6aL57Hh6KQ" name="A_specification_owningInstanceSpec" memberEnd="_36WMra8aEdqf6aL57Hh6KQ _37rpQ68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37rpQq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37rpQ68aEdqf6aL57Hh6KQ" name="owningInstanceSpec" type="_36WMmq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_37rpQa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37rpRK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37rpRa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__b9YUK8kEdqRKeAGm8hhTw" name="A_specification_owningInstanceSpec" memberEnd="__a62gq8kEdqRKeAGm8hhTw __b9YUq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__b9YUa8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__b9YUq8kEdqRKeAGm8hhTw" name="owningInstanceSpec" type="__a62b68kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__b9YUK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YU68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YVK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xtq8aEdqf6aL57Hh6KQ" name="A_packagedElement_owningPackage" memberEnd="_34QiAq8aEdqf6aL57Hh6KQ _342XuK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xt68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342XuK8aEdqf6aL57Hh6KQ" name="owningPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_342Xtq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37rpRq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37rpR68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyma8kEdqRKeAGm8hhTw" name="A_packagedElement_owningPackage" memberEnd="__Zkym68kEdqRKeAGm8hhTw __ZItsK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkymq8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zkym68kEdqRKeAGm8hhTw" name="owningPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__Zkyma8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YVa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YVq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xp68aEdqf6aL57Hh6KQ" name="A_importedMember_namespace" memberEnd="_33XJ_68aEdqf6aL57Hh6KQ _342Xqa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342XqK8aEdqf6aL57Hh6KQ" general="_342X5q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342Xqa8aEdqf6aL57Hh6KQ" type="_ZiwkoGwLEdq7X4sGURiZYA" redefinedProperty="_342X568aEdqf6aL57Hh6KQ" association="_342Xp68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZbotK8kEdqRKeAGm8hhTw" name="A_importedMember_namespace" memberEnd="__Zbotq8kEdqRKeAGm8hhTw __YPV368kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zbota8kEdqRKeAGm8hhTw" general="__Zkyya8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zbotq8kEdqRKeAGm8hhTw" type="_ZiwkoGwLEdq7X4sGURiZYA" redefinedProperty="__Zkyyq8kEdqRKeAGm8hhTw" association="__ZbotK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNu68aEdqf6aL57Hh6KQ" name="A_opposite_property" memberEnd="_34tNvK8aEdqf6aL57Hh6KQ _33qFa68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_34tNvK8aEdqf6aL57Hh6KQ" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_34tNu68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR39a8kEdqRKeAGm8hhTw" name="A_opposite_property" memberEnd="__YiROK8kEdqRKeAGm8hhTw __ZR39q8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ZR39q8kEdqRKeAGm8hhTw" type="_Jp_1oGveEdq4DLWZOhbdEA" association="__ZR39a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNua8aEdqf6aL57Hh6KQ" name="A_subsettedProperty_property" memberEnd="_33qFZ68aEdqf6aL57Hh6KQ _34tNuq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_34tNuq8aEdqf6aL57Hh6KQ" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_34tNua8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR3868kEdqRKeAGm8hhTw" name="A_subsettedProperty_property" memberEnd="__ZR39K8kEdqRKeAGm8hhTw __YiRNK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ZR39K8kEdqRKeAGm8hhTw" type="_Jp_1oGveEdq4DLWZOhbdEA" association="__ZR3868kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xva8aEdqf6aL57Hh6KQ" name="A_memberEnd_association" memberEnd="_33qFB68aEdqf6aL57Hh6KQ _33qFd68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342Xvq8aEdqf6aL57Hh6KQ" general="_342X5q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZkyoK8kEdqRKeAGm8hhTw" name="A_memberEnd_association" memberEnd="__YiRRK8kEdqRKeAGm8hhTw __YiQ1K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkyoa8kEdqRKeAGm8hhTw" general="__Zkyya8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xu68aEdqf6aL57Hh6KQ" name="A_ownedType_package" memberEnd="_34aTCK8aEdqf6aL57Hh6KQ _34QiCK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342XvK8aEdqf6aL57Hh6KQ" general="_342Xtq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkynq8kEdqRKeAGm8hhTw" name="A_ownedType_package" memberEnd="__ZIuBK8kEdqRKeAGm8hhTw __ZIttq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkyn68kEdqRKeAGm8hhTw" general="__Zkyma8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xv68aEdqf6aL57Hh6KQ" name="A_nestedPackage_nestingPackage" memberEnd="_34aSwK8aEdqf6aL57Hh6KQ _34aSxq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342XwK8aEdqf6aL57Hh6KQ" general="_342Xtq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyoq8kEdqRKeAGm8hhTw" name="A_nestedPackage_nestingPackage" memberEnd="__ZItwq8kEdqRKeAGm8hhTw __ZItvK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkyo68kEdqRKeAGm8hhTw" general="__Zkyma8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X1q8aEdqf6aL57Hh6KQ" name="A_redefinedElement_redefinableElement" memberEnd="_33g6768aEdqf6aL57Hh6KQ _342X168aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342X168aEdqf6aL57Hh6KQ" type="_33g64K8aEdqf6aL57Hh6KQ" association="_342X1q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37rpSK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37rpSa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyua8kEdqRKeAGm8hhTw" name="A_redefinedElement_redefinableElement" memberEnd="__YYfz68kEdqRKeAGm8hhTw __Zkyuq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__Zkyuq8kEdqRKeAGm8hhTw" type="__YYfwK8kEdqRKeAGm8hhTw" association="__Zkyua8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YV68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YWK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X1K8aEdqf6aL57Hh6KQ" name="A_redefinitionContext_redefinableElement" memberEnd="_342X1a8aEdqf6aL57Hh6KQ _33g66a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342X1a8aEdqf6aL57Hh6KQ" type="_33g64K8aEdqf6aL57Hh6KQ" association="_342X1K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyt68kEdqRKeAGm8hhTw" name="A_redefinitionContext_redefinableElement" memberEnd="__ZkyuK8kEdqRKeAGm8hhTw __YYfya8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ZkyuK8kEdqRKeAGm8hhTw" type="__YYfwK8kEdqRKeAGm8hhTw" association="__Zkyt68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X4a8aEdqf6aL57Hh6KQ" name="A_general_classifier" memberEnd="_342X4q8aEdqf6aL57Hh6KQ _326d_K8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342X4q8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" association="_342X4a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZkyxK8kEdqRKeAGm8hhTw" name="A_general_classifier" memberEnd="__Xyp9K8kEdqRKeAGm8hhTw __Zkyxa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__Zkyxa8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" association="__ZkyxK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNva8aEdqf6aL57Hh6KQ" name="A_superClass_class" memberEnd="_34tNv68aEdqf6aL57Hh6KQ _33qFIK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tNvq8aEdqf6aL57Hh6KQ" general="_342X4a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_34tNv68aEdqf6aL57Hh6KQ" type="_00owUGvdEdq4DLWZOhbdEA" redefinedProperty="_342X4q8aEdqf6aL57Hh6KQ" association="_34tNva8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR3968kEdqRKeAGm8hhTw" name="A_superClass_class" memberEnd="__YiQ7a8kEdqRKeAGm8hhTw __ZR3-a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZR3-K8kEdqRKeAGm8hhTw" general="__ZkyxK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ZR3-a8kEdqRKeAGm8hhTw" type="_00owUGvdEdq4DLWZOhbdEA" redefinedProperty="__Zkyxa8kEdqRKeAGm8hhTw" association="__ZR3968kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342YBK8aEdqf6aL57Hh6KQ" name="A_bodyCondition_bodyContext" memberEnd="_342YBq8aEdqf6aL57Hh6KQ _339nHK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342YBa8aEdqf6aL57Hh6KQ" general="_342YCa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342YBq8aEdqf6aL57Hh6KQ" name="bodyContext" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_33z2H68aEdqf6aL57Hh6KQ" association="_342YBK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37rpSq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37rpS68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zky568kEdqRKeAGm8hhTw" name="A_bodyCondition_bodyContext" memberEnd="__Y1L8q8kEdqRKeAGm8hhTw __Zky6a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zky6K8kEdqRKeAGm8hhTw" general="__ZujkK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zky6a8kEdqRKeAGm8hhTw" name="bodyContext" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="__YsCCK8kEdqRKeAGm8hhTw" association="__Zky568kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YWa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YWq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xwa8aEdqf6aL57Hh6KQ" name="A_type_operation" memberEnd="_342Xwq8aEdqf6aL57Hh6KQ _339nBq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342Xwq8aEdqf6aL57Hh6KQ" type="_M4X2IGveEdq4DLWZOhbdEA" association="_342Xwa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZkypK8kEdqRKeAGm8hhTw" name="A_type_operation" memberEnd="__Zkypa8kEdqRKeAGm8hhTw __Y1L3K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__Zkypa8kEdqRKeAGm8hhTw" type="_M4X2IGveEdq4DLWZOhbdEA" association="__ZkypK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X8K8aEdqf6aL57Hh6KQ" name="A_ownedParameter_operation" memberEnd="_34Qhwq8aEdqf6aL57Hh6KQ _339nDK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X8a8aEdqf6aL57Hh6KQ" general="_342XoK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zky068kEdqRKeAGm8hhTw" name="A_ownedParameter_operation" memberEnd="__Y-8wq8kEdqRKeAGm8hhTw __Y1L4q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zky1K8kEdqRKeAGm8hhTw" general="__Zbora8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X6K8aEdqf6aL57Hh6KQ" name="A_operand_expression" memberEnd="_34jcxq8aEdqf6aL57Hh6KQ _342X6q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X6a8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342X6q8aEdqf6aL57Hh6KQ" name="expression" type="_34jcw68aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_342X6K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37rpTK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37rpTa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyy68kEdqRKeAGm8hhTw" name="A_operand_expression" memberEnd="__ZR3r68kEdqRKeAGm8hhTw __Zkyza8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZkyzK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zkyza8kEdqRKeAGm8hhTw" name="expression" type="__ZR3rK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__Zkyy68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__b9YW68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__b9YXK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNzK8aEdqf6aL57Hh6KQ" name="A_raisedException_operation" memberEnd="_34tNzq8aEdqf6aL57Hh6KQ _339m_q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tNza8aEdqf6aL57Hh6KQ" general="_342Xpa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_34tNzq8aEdqf6aL57Hh6KQ" type="_M4X2IGveEdq4DLWZOhbdEA" redefinedProperty="_342Xpq8aEdqf6aL57Hh6KQ" association="_34tNzK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zbop68kEdqRKeAGm8hhTw" name="A_raisedException_operation" memberEnd="__Y1L1K8kEdqRKeAGm8hhTw __Zboqa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZboqK8kEdqRKeAGm8hhTw" general="__Zbosq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zboqa8kEdqRKeAGm8hhTw" type="_M4X2IGveEdq4DLWZOhbdEA" redefinedProperty="__Zbos68kEdqRKeAGm8hhTw" association="__Zbop68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X7a8aEdqf6aL57Hh6KQ" name="A_navigableOwnedEnd_association" memberEnd="_342X768aEdqf6aL57Hh6KQ _33qFC68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X7q8aEdqf6aL57Hh6KQ" general="_34jc_a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_342X768aEdqf6aL57Hh6KQ" type="_AwvxoGwNEdq7X4sGURiZYA" redefinedProperty="_342X568aEdqf6aL57Hh6KQ" association="_342X7a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zky0K8kEdqRKeAGm8hhTw" name="A_navigableOwnedEnd_association" memberEnd="__YiQ2K8kEdqRKeAGm8hhTw __Zky0q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zky0a8kEdqRKeAGm8hhTw" general="__ZR35q8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__Zky0q8kEdqRKeAGm8hhTw" type="_AwvxoGwNEdq7X4sGURiZYA" redefinedProperty="__Zkyyq8kEdqRKeAGm8hhTw" association="__Zky0K8kEdqRKeAGm8hhTw"/>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_ChRfcGveEdq4DLWZOhbdEA" name="OpaqueExpression">

-    <ownedComment xmi:id="_33z2JK8aEdqf6aL57Hh6KQ" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__YsCDa8kEdqRKeAGm8hhTw" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">

       <body>An opaque expression contains language-specific text strings used to describe a value or values, and an optional specification of the languages.</body>

     </ownedComment>

-    <ownedComment xmi:id="_35TDlK8aEdqf6aL57Hh6KQ" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__Z4Uo68kEdqRKeAGm8hhTw" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">

       <body>An expression contains language-specific text strings used to describe a value or values, and an optional specification of the languages.

 

 One predefined language for specifying expressions is OCL. Natural language or programming languages may also be used.

 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_371aYK8aEdqf6aL57Hh6KQ" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__cHJbq8kEdqRKeAGm8hhTw" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">

       <body>Provides a mechanism for precisely defining the behavior of an opaque expression. An opaque expression is defined by a behavior restricted to return one result.</body>

     </ownedComment>

-    <ownedRule xmi:id="_33z2Ja8aEdqf6aL57Hh6KQ" name="language_body_size" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33z2Jq8aEdqf6aL57Hh6KQ" annotatedElement="_33z2Ja8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YsCDq8kEdqRKeAGm8hhTw" name="language_body_size" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YsCD68kEdqRKeAGm8hhTw" annotatedElement="__YsCDq8kEdqRKeAGm8hhTw">

         <body>If the language attribute is not empty, then the size of the body and language arrays must be the same.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDla8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__Z4UpK8kEdqRKeAGm8hhTw" language="OCL">

         <body>language->notEmpty() implies (body->size() = language->size())</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_371aYa8aEdqf6aL57Hh6KQ" name="only_return_result_parameters" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_371aYq8aEdqf6aL57Hh6KQ" annotatedElement="_371aYa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJb68kEdqRKeAGm8hhTw" name="only_return_result_parameters" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__cHJcK8kEdqRKeAGm8hhTw" annotatedElement="__cHJb68kEdqRKeAGm8hhTw">

         <body>The behavior may only have return result parameters.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_371aY68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJca8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.behavior.notEmpty() implies

 

   self.behavior.ownedParameters->select(p | p.direction&lt;>#return)->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_371aZK8aEdqf6aL57Hh6KQ" name="one_return_result_parameter" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_371aZa8aEdqf6aL57Hh6KQ" annotatedElement="_371aZK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJcq8kEdqRKeAGm8hhTw" name="one_return_result_parameter" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__cHJc68kEdqRKeAGm8hhTw" annotatedElement="__cHJcq8kEdqRKeAGm8hhTw">

         <body>The behavior must have exactly one return result parameter.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_371aZq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJdK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.behavior.notEmpty() implies

 

   self.behavior.ownedParameter->select(p | p.direction=#return)->size() = 1</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_33z2KK8aEdqf6aL57Hh6KQ" general="_33qE0K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_33z2Ka8aEdqf6aL57Hh6KQ" name="body" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

-      <eAnnotations xmi:id="_33z2Kq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_33z2K68aEdqf6aL57Hh6KQ" isUnsettable="true" xmlFeatureKind="Element"/>

+    <generalization xmi:id="__YsCEa8kEdqRKeAGm8hhTw" general="__YYf9a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__YsCEq8kEdqRKeAGm8hhTw" name="body" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

+      <eAnnotations xmi:id="__YsCE68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__YsCFK8kEdqRKeAGm8hhTw" isUnsettable="true" xmlFeatureKind="Element"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33z2LK8aEdqf6aL57Hh6KQ" annotatedElement="_33z2Ka8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YsCFa8kEdqRKeAGm8hhTw" annotatedElement="__YsCEq8kEdqRKeAGm8hhTw">

         <body>The text of the expression, possibly in multiple languages.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35TDlq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35TDl68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Z4Upa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Z4Upq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33z2L68aEdqf6aL57Hh6KQ" name="language" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

-      <eAnnotations xmi:id="_33z2MK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_33z2Ma8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__YsCGK8kEdqRKeAGm8hhTw" name="language" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

+      <eAnnotations xmi:id="__YsCGa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__YsCGq8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33z2Mq8aEdqf6aL57Hh6KQ" annotatedElement="_33z2L68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YsCG68kEdqRKeAGm8hhTw" annotatedElement="__YsCGK8kEdqRKeAGm8hhTw">

         <body>Specifies the languages in which the expression is stated. The interpretation of the expression body depends on the language. If languages are unspecified, it might be implicit from the expression body or the context. Languages are matched to body strings by order.</body>

       </ownedComment>

-      <ownedComment xmi:id="_35TDmK8aEdqf6aL57Hh6KQ" annotatedElement="_33z2L68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Z4Up68kEdqRKeAGm8hhTw" annotatedElement="__YsCGK8kEdqRKeAGm8hhTw">

         <body>Specifies the languages in which the expression is stated. The interpretation of the expression body depends on the languages. If the languages are unspecified, they might be implicit from the expression body or the context. Languages are matched to body strings by order.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35TDma8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35TDmq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Z4UqK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Z4Uqa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aZ68aEdqf6aL57Hh6KQ" name="result" type="_KyaPMGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_371apq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_371aaK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_371aaa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__cHJda8kEdqRKeAGm8hhTw" name="result" type="_KyaPMGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="__cHJtK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__cHJdq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cHJd68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371aaq8aEdqf6aL57Hh6KQ" annotatedElement="_371aZ68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cHJeK8kEdqRKeAGm8hhTw" annotatedElement="__cHJda8kEdqRKeAGm8hhTw">

         <body>Restricts an opaque expression to return exactly one return result. When the invocation of the opaque expression completes, a single set of values is returned to its owner. This association is derived from the single return result parameter of the associated behavior.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aa68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371abK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJea8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJeq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aba8aEdqf6aL57Hh6KQ" name="behavior" type="_TUPtYGveEdq4DLWZOhbdEA" association="_371aqq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371abq8aEdqf6aL57Hh6KQ" annotatedElement="_371aba8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cHJe68kEdqRKeAGm8hhTw" name="behavior" type="_TUPtYGveEdq4DLWZOhbdEA" association="__cHJuK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJfK8kEdqRKeAGm8hhTw" annotatedElement="__cHJe68kEdqRKeAGm8hhTw">

         <body>Specifies the behavior of the opaque expression.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371ab68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371acK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJfa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJfq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_mv9LcFYiEdqB6vblk3tuMA" name="getResult" type="_KyaPMGveEdq4DLWZOhbdEA" isQuery="true">

       <returnResult xmi:id="_vXTbwFYiEdqB6vblk3tuMA" type="_KyaPMGveEdq4DLWZOhbdEA" direction="return">

@@ -1854,113 +1854,113 @@
     <ownedOperation xmi:id="_qQchgGWKEdq-f4093SZhVA" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_sRo9MGWKEdq-f4093SZhVA" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35TDm68aEdqf6aL57Hh6KQ" name="value" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_35TDnq8aEdqf6aL57Hh6KQ" bodyCondition="_35TDoK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_35TDnK8aEdqf6aL57Hh6KQ" source="keywords"/>

-      <ownedComment xmi:id="_35TDna8aEdqf6aL57Hh6KQ" annotatedElement="_35TDm68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBegK8kEdqRKeAGm8hhTw" name="value" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__aBeg68kEdqRKeAGm8hhTw" bodyCondition="__aBeha8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__aBega8kEdqRKeAGm8hhTw" source="keywords"/>

+      <ownedComment xmi:id="__aBegq8kEdqRKeAGm8hhTw" annotatedElement="__aBegK8kEdqRKeAGm8hhTw">

         <body>The query value() gives an integer value for an expression intended to produce one.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35TDnq8aEdqf6aL57Hh6KQ" constrainedElement="_35TDm68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDn68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBeg68kEdqRKeAGm8hhTw" constrainedElement="__aBegK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBehK8kEdqRKeAGm8hhTw" language="OCL">

           <body>self.isIntegral()</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_35TDoK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TDm68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDoa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBeha8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBegK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBehq8kEdqRKeAGm8hhTw" language="OCL">

           <body>true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35TDoq8aEdqf6aL57Hh6KQ" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBeh68kEdqRKeAGm8hhTw" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35TDo68aEdqf6aL57Hh6KQ" name="isIntegral" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_35TDpa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35TDpK8aEdqf6aL57Hh6KQ" annotatedElement="_35TDo68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBeiK8kEdqRKeAGm8hhTw" name="isIntegral" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__aBeiq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBeia8kEdqRKeAGm8hhTw" annotatedElement="__aBeiK8kEdqRKeAGm8hhTw">

         <body>The query isIntegral() tells whether an expression is intended to produce an integer.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35TDpa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TDo68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDpq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBeiq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBeiK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBei68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35TDp68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBejK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35TDqK8aEdqf6aL57Hh6KQ" name="isPositive" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_35TDq68aEdqf6aL57Hh6KQ" bodyCondition="_35TDra8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_35TDqa8aEdqf6aL57Hh6KQ" source="keywords"/>

-      <ownedComment xmi:id="_35TDqq8aEdqf6aL57Hh6KQ" annotatedElement="_35TDqK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBeja8kEdqRKeAGm8hhTw" name="isPositive" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__aBekK8kEdqRKeAGm8hhTw" bodyCondition="__aBekq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__aBejq8kEdqRKeAGm8hhTw" source="keywords"/>

+      <ownedComment xmi:id="__aBej68kEdqRKeAGm8hhTw" annotatedElement="__aBeja8kEdqRKeAGm8hhTw">

         <body>The query isPositive() tells whether an integer expression has a positive value.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35TDq68aEdqf6aL57Hh6KQ" constrainedElement="_35TDqK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDrK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBekK8kEdqRKeAGm8hhTw" constrainedElement="__aBeja8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBeka8kEdqRKeAGm8hhTw" language="OCL">

           <body>self.isIntegral()</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_35TDra8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TDqK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDrq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBekq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBeja8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBek68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35TDr68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBelK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_35TDsK8aEdqf6aL57Hh6KQ" name="isNonNegative" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_35TDsq8aEdqf6aL57Hh6KQ" bodyCondition="_35TDtK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35TDsa8aEdqf6aL57Hh6KQ" annotatedElement="_35TDsK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__aBela8kEdqRKeAGm8hhTw" name="isNonNegative" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__aBel68kEdqRKeAGm8hhTw" bodyCondition="__aBema8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aBelq8kEdqRKeAGm8hhTw" annotatedElement="__aBela8kEdqRKeAGm8hhTw">

         <body>The query isNonNegative() tells whether an integer expression has a non-negative value.</body>

       </ownedComment>

-      <ownedRule xmi:id="_35TDsq8aEdqf6aL57Hh6KQ" constrainedElement="_35TDsK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDs68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBel68kEdqRKeAGm8hhTw" constrainedElement="__aBela8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBemK8kEdqRKeAGm8hhTw" language="OCL">

           <body>self.isIntegral()</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_35TDtK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_35TDsK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDta8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__aBema8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__aBela8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aBemq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_35TDtq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__aBem68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_371aea8aEdqf6aL57Hh6KQ" name="OpaqueBehavior">

-    <ownedComment xmi:id="_371aeq8aEdqf6aL57Hh6KQ" annotatedElement="_371aea8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cHJh68kEdqRKeAGm8hhTw" name="OpaqueBehavior">

+    <ownedComment xmi:id="__cHJiK8kEdqRKeAGm8hhTw" annotatedElement="__cHJh68kEdqRKeAGm8hhTw">

       <body>An behavior with implementation-specific semantics.</body>

     </ownedComment>

-    <generalization xmi:id="_371ae68aEdqf6aL57Hh6KQ" general="_TUPtYGveEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_371afK8aEdqf6aL57Hh6KQ" name="body" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

-      <eAnnotations xmi:id="_371afa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_371afq8aEdqf6aL57Hh6KQ" isUnsettable="true" xmlFeatureKind="Element"/>

+    <generalization xmi:id="__cHJia8kEdqRKeAGm8hhTw" general="_TUPtYGveEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__cHJiq8kEdqRKeAGm8hhTw" name="body" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

+      <eAnnotations xmi:id="__cHJi68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__cHJjK8kEdqRKeAGm8hhTw" isUnsettable="true" xmlFeatureKind="Element"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371af68aEdqf6aL57Hh6KQ" annotatedElement="_371afK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cHJja8kEdqRKeAGm8hhTw" annotatedElement="__cHJiq8kEdqRKeAGm8hhTw">

         <body>Specifies the behavior in one or more languages.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371agK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aga8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJjq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJj68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371agq8aEdqf6aL57Hh6KQ" name="language" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

-      <eAnnotations xmi:id="_371ag68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_371ahK8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__cHJkK8kEdqRKeAGm8hhTw" name="language" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

+      <eAnnotations xmi:id="__cHJka8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__cHJkq8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371aha8aEdqf6aL57Hh6KQ" annotatedElement="_371agq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cHJk68kEdqRKeAGm8hhTw" annotatedElement="__cHJkK8kEdqRKeAGm8hhTw">

         <body>Languages the body strings use in the same order as the body strings.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371ahq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371ah68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJlK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJla8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_371aiK8aEdqf6aL57Hh6KQ" name="FunctionBehavior">

-    <ownedComment xmi:id="_371aia8aEdqf6aL57Hh6KQ" annotatedElement="_371aiK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cHJlq8kEdqRKeAGm8hhTw" name="FunctionBehavior">

+    <ownedComment xmi:id="__cHJl68kEdqRKeAGm8hhTw" annotatedElement="__cHJlq8kEdqRKeAGm8hhTw">

       <body>A function behavior is an opaque behavior that does not access or modify any objects or other external data.</body>

     </ownedComment>

-    <ownedRule xmi:id="_371aiq8aEdqf6aL57Hh6KQ" name="one_output_parameter" constrainedElement="_371aiK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371ai68aEdqf6aL57Hh6KQ" annotatedElement="_371aiq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJmK8kEdqRKeAGm8hhTw" name="one_output_parameter" constrainedElement="__cHJlq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJma8kEdqRKeAGm8hhTw" annotatedElement="__cHJmK8kEdqRKeAGm8hhTw">

         <body>A function behavior has at least one output parameter.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_371ajK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJmq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.ownedParameters->

 

   select(p | p.direction=#out or p.direction=#inout or p.direction=#return)->size() >= 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_371aja8aEdqf6aL57Hh6KQ" name="types_of_parameters" constrainedElement="_371aiK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371ajq8aEdqf6aL57Hh6KQ" annotatedElement="_371aja8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJm68kEdqRKeAGm8hhTw" name="types_of_parameters" constrainedElement="__cHJlq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJnK8kEdqRKeAGm8hhTw" annotatedElement="__cHJm68kEdqRKeAGm8hhTw">

         <body>The types of parameters are all data types, which may not nest anything but other datatypes.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_371aj68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJna8kEdqRKeAGm8hhTw" language="OCL">

         <body>def: hasAllDataTypeAttributes(d : DataType) : Boolean =

 

   d.ownedAttribute->forAll(a |

@@ -1974,569 +1974,569 @@
   p.oclIsTypeOf(DataType) and hasAllDataTypeAttributes(p))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_371akK8aEdqf6aL57Hh6KQ" general="_371aea8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cHJnq8kEdqRKeAGm8hhTw" general="__cHJh68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371aka8aEdqf6aL57Hh6KQ" name="A_behavioredClassifier_ownedBehavior" memberEnd="_371ak68aEdqf6aL57Hh6KQ _371aVq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_371akq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_371ak68aEdqf6aL57Hh6KQ" type="_iY7sMGvsEdqG6fBIPwe-mw" association="_371aka8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371alK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371ala8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJn68kEdqRKeAGm8hhTw" name="A_behavioredClassifier_ownedBehavior" memberEnd="__cHJZK8kEdqRKeAGm8hhTw __cHJoa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cHJoK8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cHJoa8kEdqRKeAGm8hhTw" type="_iY7sMGvsEdqG6fBIPwe-mw" association="__cHJn68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJoq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJo68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371alq8aEdqf6aL57Hh6KQ" name="A_classifierBehavior_behavioredClassifier" memberEnd="_371amK8aEdqf6aL57Hh6KQ _371aXK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_371al68aEdqf6aL57Hh6KQ" general="_371aka8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_371amK8aEdqf6aL57Hh6KQ" type="_iY7sMGvsEdqG6fBIPwe-mw" redefinedProperty="_371ak68aEdqf6aL57Hh6KQ" association="_371alq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371ama8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371amq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJpK8kEdqRKeAGm8hhTw" name="A_classifierBehavior_behavioredClassifier" memberEnd="__cHJaq8kEdqRKeAGm8hhTw __cHJpq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cHJpa8kEdqRKeAGm8hhTw" general="__cHJn68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cHJpq8kEdqRKeAGm8hhTw" type="_iY7sMGvsEdqG6fBIPwe-mw" redefinedProperty="__cHJoa8kEdqRKeAGm8hhTw" association="__cHJpK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJp68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJqK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371am68aEdqf6aL57Hh6KQ" name="A_redefinedBehavior_behavior" memberEnd="_371aM68aEdqf6aL57Hh6KQ _371ana8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_371anK8aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_371ana8aEdqf6aL57Hh6KQ" type="_TUPtYGveEdq4DLWZOhbdEA" association="_371am68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371anq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371an68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJqa8kEdqRKeAGm8hhTw" name="A_redefinedBehavior_behavior" memberEnd="__cHJQa8kEdqRKeAGm8hhTw __cHJq68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cHJqq8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cHJq68kEdqRKeAGm8hhTw" type="_TUPtYGveEdq4DLWZOhbdEA" association="__cHJqa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJrK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJra8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371aoK8aEdqf6aL57Hh6KQ" name="A_method_specification" memberEnd="_371ada8aEdqf6aL57Hh6KQ _371aN68aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371aoa8aEdqf6aL57Hh6KQ" name="A_behavior_ownedParameter" memberEnd="_371aO68aEdqf6aL57Hh6KQ _371ao68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_371aoq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_371ao68aEdqf6aL57Hh6KQ" type="_TUPtYGveEdq4DLWZOhbdEA" association="_371aoa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371apK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371apa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJrq8kEdqRKeAGm8hhTw" name="A_method_specification" memberEnd="__cHJg68kEdqRKeAGm8hhTw __cHJRa8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJr68kEdqRKeAGm8hhTw" name="A_behavior_ownedParameter" memberEnd="__cHJsa8kEdqRKeAGm8hhTw __cHJSa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cHJsK8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cHJsa8kEdqRKeAGm8hhTw" type="_TUPtYGveEdq4DLWZOhbdEA" association="__cHJr68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJsq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJs68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371apq8aEdqf6aL57Hh6KQ" name="A_result_opaqueExpression" memberEnd="_371ap68aEdqf6aL57Hh6KQ _371aZ68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_371ap68aEdqf6aL57Hh6KQ" type="_ChRfcGveEdq4DLWZOhbdEA" association="_371apq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aqK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aqa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJtK8kEdqRKeAGm8hhTw" name="A_result_opaqueExpression" memberEnd="__cHJda8kEdqRKeAGm8hhTw __cHJta8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cHJta8kEdqRKeAGm8hhTw" type="_ChRfcGveEdq4DLWZOhbdEA" association="__cHJtK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJtq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJt68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371aqq8aEdqf6aL57Hh6KQ" name="A_behavior_opaqueExpression" memberEnd="_371aba8aEdqf6aL57Hh6KQ _371aq68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_371aq68aEdqf6aL57Hh6KQ" type="_ChRfcGveEdq4DLWZOhbdEA" association="_371aqq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371arK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371ara8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJuK8kEdqRKeAGm8hhTw" name="A_behavior_opaqueExpression" memberEnd="__cHJua8kEdqRKeAGm8hhTw __cHJe68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cHJua8kEdqRKeAGm8hhTw" type="_ChRfcGveEdq4DLWZOhbdEA" association="__cHJuK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJuq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJu68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371arq8aEdqf6aL57Hh6KQ" name="A_context_behavior" memberEnd="_371aQa8aEdqf6aL57Hh6KQ _371asK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_371ar68aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_371asK8aEdqf6aL57Hh6KQ" type="_TUPtYGveEdq4DLWZOhbdEA" association="_371arq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371asa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371asq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJvK8kEdqRKeAGm8hhTw" name="A_context_behavior" memberEnd="__cHJT68kEdqRKeAGm8hhTw __cHJvq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cHJva8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cHJvq8kEdqRKeAGm8hhTw" type="_TUPtYGveEdq4DLWZOhbdEA" association="__cHJvK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJv68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJwK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371as68aEdqf6aL57Hh6KQ" name="A_precondition_behavior" memberEnd="_371aR68aEdqf6aL57Hh6KQ _371ata8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_371atK8aEdqf6aL57Hh6KQ" general="_342YCa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_371ata8aEdqf6aL57Hh6KQ" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_33z2H68aEdqf6aL57Hh6KQ" association="_371as68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371atq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371at68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJwa8kEdqRKeAGm8hhTw" name="A_precondition_behavior" memberEnd="__cHJVa8kEdqRKeAGm8hhTw __cHJw68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cHJwq8kEdqRKeAGm8hhTw" general="__ZujkK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cHJw68kEdqRKeAGm8hhTw" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__YsCCK8kEdqRKeAGm8hhTw" association="__cHJwa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJxK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJxa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_371auK8aEdqf6aL57Hh6KQ" name="A_postcondition_behavior" memberEnd="_371auq8aEdqf6aL57Hh6KQ _371aTK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_371aua8aEdqf6aL57Hh6KQ" general="_342YCa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_371auq8aEdqf6aL57Hh6KQ" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_33z2H68aEdqf6aL57Hh6KQ" association="_371auK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371au68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371avK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cHJxq8kEdqRKeAGm8hhTw" name="A_postcondition_behavior" memberEnd="__cHJWq8kEdqRKeAGm8hhTw __cHJyK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cHJx68kEdqRKeAGm8hhTw" general="__ZujkK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cHJyK8kEdqRKeAGm8hhTw" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__YsCCK8kEdqRKeAGm8hhTw" association="__cHJxq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJya8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJyq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_371ava8aEdqf6aL57Hh6KQ" name="OpaqueAction">

-    <ownedComment xmi:id="_371avq8aEdqf6aL57Hh6KQ" annotatedElement="_371ava8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cHJy68kEdqRKeAGm8hhTw" name="OpaqueAction">

+    <ownedComment xmi:id="__cHJzK8kEdqRKeAGm8hhTw" annotatedElement="__cHJy68kEdqRKeAGm8hhTw">

       <body>An action with implementation-specific semantics.</body>

     </ownedComment>

-    <generalization xmi:id="_371av68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_371awK8aEdqf6aL57Hh6KQ" name="body" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

-      <eAnnotations xmi:id="_371awa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_371awq8aEdqf6aL57Hh6KQ" isUnsettable="true" xmlFeatureKind="Element"/>

+    <generalization xmi:id="__cHJza8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cHJzq8kEdqRKeAGm8hhTw" name="body" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

+      <eAnnotations xmi:id="__cHJz68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__cHJ0K8kEdqRKeAGm8hhTw" isUnsettable="true" xmlFeatureKind="Element"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371aw68aEdqf6aL57Hh6KQ" annotatedElement="_371awK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cHJ0a8kEdqRKeAGm8hhTw" annotatedElement="__cHJzq8kEdqRKeAGm8hhTw">

         <body>Specifies the action in one or more languages.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371axK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371axa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJ0q8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJ068kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371axq8aEdqf6aL57Hh6KQ" name="language" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

-      <eAnnotations xmi:id="_371ax68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_371ayK8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__cHJ1K8kEdqRKeAGm8hhTw" name="language" type="_aAyVgGvsEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite">

+      <eAnnotations xmi:id="__cHJ1a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__cHJ1q8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371aya8aEdqf6aL57Hh6KQ" annotatedElement="_371axq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cHJ168kEdqRKeAGm8hhTw" annotatedElement="__cHJ1K8kEdqRKeAGm8hhTw">

         <body>Languages the body strings use, in the same order as the body strings</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371ayq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371ay68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJ2K8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJ2a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371azK8aEdqf6aL57Hh6KQ" name="inputValue" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_37_L0a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371aza8aEdqf6aL57Hh6KQ" annotatedElement="_371azK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cHJ2q8kEdqRKeAGm8hhTw" name="inputValue" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__caEIq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJ268kEdqRKeAGm8hhTw" annotatedElement="__cHJ2q8kEdqRKeAGm8hhTw">

         <body>Provides input to the action.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371azq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371az68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJ3K8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJ3a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371a0K8aEdqf6aL57Hh6KQ" name="outputValue" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_37_L1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371a0a8aEdqf6aL57Hh6KQ" annotatedElement="_371a0K8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cHJ3q8kEdqRKeAGm8hhTw" name="outputValue" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__caEJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJ368kEdqRKeAGm8hhTw" annotatedElement="__cHJ3q8kEdqRKeAGm8hhTw">

         <body>Takes output from the action.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371a0q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371a068aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJ4K8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJ4a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_371a2K8aEdqf6aL57Hh6KQ" name="ValuePin">

-    <ownedComment xmi:id="_371a2a8aEdqf6aL57Hh6KQ" annotatedElement="_371a2K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cHJ5q8kEdqRKeAGm8hhTw" name="ValuePin">

+    <ownedComment xmi:id="__cHJ568kEdqRKeAGm8hhTw" annotatedElement="__cHJ5q8kEdqRKeAGm8hhTw">

       <body>A value pin is an input pin that provides a value by evaluating a value specification.</body>

     </ownedComment>

-    <ownedRule xmi:id="_371a2q8aEdqf6aL57Hh6KQ" name="compatible_type" constrainedElement="_371a2K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371a268aEdqf6aL57Hh6KQ" annotatedElement="_371a2q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJ6K8kEdqRKeAGm8hhTw" name="compatible_type" constrainedElement="__cHJ5q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJ6a8kEdqRKeAGm8hhTw" annotatedElement="__cHJ6K8kEdqRKeAGm8hhTw">

         <body>The type of value specification must be compatible with the type of the value pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_371a3K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJ6q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_371a3a8aEdqf6aL57Hh6KQ" general="_37_LM68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_371a3q8aEdqf6aL57Hh6KQ" name="value" type="_33qE0K8aEdqf6aL57Hh6KQ" association="_37_Ly68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_371a368aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_371a4K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cHJ668kEdqRKeAGm8hhTw" general="__cQ6OK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cHJ7K8kEdqRKeAGm8hhTw" name="value" type="__YYf9a8kEdqRKeAGm8hhTw" association="__cQ60K8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cQ6MK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cQ6Ma8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371a4a8aEdqf6aL57Hh6KQ" annotatedElement="_371a3q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cQ6Mq8kEdqRKeAGm8hhTw" annotatedElement="__cHJ7K8kEdqRKeAGm8hhTw">

         <body>Value that the pin will provide.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371a4q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371a468aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6M68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6NK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_LMK8aEdqf6aL57Hh6KQ" name="OutputPin">

-    <ownedComment xmi:id="_37_LMa8aEdqf6aL57Hh6KQ" annotatedElement="_37_LMK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cQ6Na8kEdqRKeAGm8hhTw" name="OutputPin">

+    <ownedComment xmi:id="__cQ6Nq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6Na8kEdqRKeAGm8hhTw">

       <body>An output pin is a pin that holds output values produced by an action.</body>

     </ownedComment>

-    <generalization xmi:id="_37_LMq8aEdqf6aL57Hh6KQ" general="_371a1K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cQ6N68kEdqRKeAGm8hhTw" general="__cHJ4q8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_LM68aEdqf6aL57Hh6KQ" name="InputPin">

-    <ownedComment xmi:id="_37_LNK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LM68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cQ6OK8kEdqRKeAGm8hhTw" name="InputPin">

+    <ownedComment xmi:id="__cQ6Oa8kEdqRKeAGm8hhTw" annotatedElement="__cQ6OK8kEdqRKeAGm8hhTw">

       <body>An input pin is a pin that holds input values to be consumed by an action.</body>

     </ownedComment>

-    <generalization xmi:id="_37_LNa8aEdqf6aL57Hh6KQ" general="_371a1K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cQ6Oq8kEdqRKeAGm8hhTw" general="__cHJ4q8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_LP68aEdqf6aL57Hh6KQ" name="CallAction" isAbstract="true">

-    <ownedComment xmi:id="_37_LQK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LP68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cQ6RK8kEdqRKeAGm8hhTw" name="CallAction" isAbstract="true">

+    <ownedComment xmi:id="__cQ6Ra8kEdqRKeAGm8hhTw" annotatedElement="__cQ6RK8kEdqRKeAGm8hhTw">

       <body>CallAction is an abstract class for actions that invoke behavior and receive return values.</body>

     </ownedComment>

-    <ownedRule xmi:id="_37_LQa8aEdqf6aL57Hh6KQ" name="synchronous_call" constrainedElement="_37_LP68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_LQq8aEdqf6aL57Hh6KQ" annotatedElement="_37_LQa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6Rq8kEdqRKeAGm8hhTw" name="synchronous_call" constrainedElement="__cQ6RK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6R68kEdqRKeAGm8hhTw" annotatedElement="__cQ6Rq8kEdqRKeAGm8hhTw">

         <body>Only synchronous call actions can have result pins.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_LQ68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6SK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37_LRK8aEdqf6aL57Hh6KQ" name="number_and_order" constrainedElement="_37_LP68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_LRa8aEdqf6aL57Hh6KQ" annotatedElement="_37_LRK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6Sa8kEdqRKeAGm8hhTw" name="number_and_order" constrainedElement="__cQ6RK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6Sq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6Sa8kEdqRKeAGm8hhTw">

         <body>The number and order of argument pins must be the same as the number and order of parameters of the invoked behavior or behavioral feature. Pins are matched to parameters by order.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_LRq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6S68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37_LR68aEdqf6aL57Hh6KQ" name="type_ordering_multiplicity" constrainedElement="_37_LP68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_LSK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LR68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6TK8kEdqRKeAGm8hhTw" name="type_ordering_multiplicity" constrainedElement="__cQ6RK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6Ta8kEdqRKeAGm8hhTw" annotatedElement="__cQ6TK8kEdqRKeAGm8hhTw">

         <body>The type, ordering, and multiplicity of an argument pin must be the same as the corresponding parameter of the behavior or behavioral feature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_LSa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6Tq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_37_LSq8aEdqf6aL57Hh6KQ" general="_37_LNq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37_LS68aEdqf6aL57Hh6KQ" name="isSynchronous" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_37_LTK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LS68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__cQ6T68kEdqRKeAGm8hhTw" general="__cQ6O68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cQ6UK8kEdqRKeAGm8hhTw" name="isSynchronous" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__cQ6Ua8kEdqRKeAGm8hhTw" annotatedElement="__cQ6UK8kEdqRKeAGm8hhTw">

         <body>If true, the call is synchronous and the caller waits for completion of the invoked behavior.

 

 If false, the call is asynchronous and the caller proceeds immediately and does not expect a return values.

 

 </body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_37_LTa8aEdqf6aL57Hh6KQ" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__cQ6Uq8kEdqRKeAGm8hhTw" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_37_LTq8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_37_Lu68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_37_LT68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_37_LUK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__cQ6U68kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__cQ6wK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cQ6VK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cQ6Va8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37_LUa8aEdqf6aL57Hh6KQ" annotatedElement="_37_LTq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cQ6Vq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6U68kEdqRKeAGm8hhTw">

         <body>A list of output pins where the results of performing the invocation are placed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_LUq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_LU68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6V68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6WK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_LVK8aEdqf6aL57Hh6KQ" name="SendSignalAction">

-    <ownedComment xmi:id="_37_LVa8aEdqf6aL57Hh6KQ" annotatedElement="_37_LVK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cQ6Wa8kEdqRKeAGm8hhTw" name="SendSignalAction">

+    <ownedComment xmi:id="__cQ6Wq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6Wa8kEdqRKeAGm8hhTw">

       <body>SendSignalAction is an action that creates a signal instance from its inputs, and transmits it to the target object, where it may cause the firing of a state machine transition or the execution of an activity. The argument values are available to the execution of associated behaviors. The requestor continues execution immediately. Any reply message is ignored and is not transmitted to the requestor. If the input is already a signal instance, use SendObjectAction.</body>

     </ownedComment>

-    <ownedRule xmi:id="_37_LVq8aEdqf6aL57Hh6KQ" name="number_order" constrainedElement="_37_LVK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_LV68aEdqf6aL57Hh6KQ" annotatedElement="_37_LVq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6W68kEdqRKeAGm8hhTw" name="number_order" constrainedElement="__cQ6Wa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6XK8kEdqRKeAGm8hhTw" annotatedElement="__cQ6W68kEdqRKeAGm8hhTw">

         <body>The number and order of argument pins must be the same as the number and order of attributes in the signal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_LWK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6Xa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37_LWa8aEdqf6aL57Hh6KQ" name="type_ordering_multiplicity" constrainedElement="_37_LVK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_LWq8aEdqf6aL57Hh6KQ" annotatedElement="_37_LWa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6Xq8kEdqRKeAGm8hhTw" name="type_ordering_multiplicity" constrainedElement="__cQ6Wa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6X68kEdqRKeAGm8hhTw" annotatedElement="__cQ6Xq8kEdqRKeAGm8hhTw">

         <body>The type, ordering, and multiplicity of an argument pin must be the same as the corresponding attribute of the signal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_LW68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6YK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_37_LXK8aEdqf6aL57Hh6KQ" general="_37_LNq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37_LXa8aEdqf6aL57Hh6KQ" name="target" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_37_Lsq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_37_LXq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_37_LX68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cQ6Ya8kEdqRKeAGm8hhTw" general="__cQ6O68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cQ6Yq8kEdqRKeAGm8hhTw" name="target" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__cQ6t68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cQ6Y68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cQ6ZK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37_LYK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LXa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cQ6Za8kEdqRKeAGm8hhTw" annotatedElement="__cQ6Yq8kEdqRKeAGm8hhTw">

         <body>The target object to which the signal is sent.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_LYa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_LYq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6Zq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6Z68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_37_LY68aEdqf6aL57Hh6KQ" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_37_Lt68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_LZK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LY68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cQ6aK8kEdqRKeAGm8hhTw" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="__cQ6vK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6aa8kEdqRKeAGm8hhTw" annotatedElement="__cQ6aK8kEdqRKeAGm8hhTw">

         <body>The type of signal transmitted to the target object.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_LZa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_LZq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6aq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6a68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_LZ68aEdqf6aL57Hh6KQ" name="CallOperationAction">

-    <ownedComment xmi:id="_37_LaK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LZ68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cQ6bK8kEdqRKeAGm8hhTw" name="CallOperationAction">

+    <ownedComment xmi:id="__cQ6ba8kEdqRKeAGm8hhTw" annotatedElement="__cQ6bK8kEdqRKeAGm8hhTw">

       <body>CallOperationAction is an action that transmits an operation call request to the target object, where it may cause the invocation of associated behavior. The argument values of the action are available to the execution of the invoked behavior. If the action is marked synchronous, the execution of the call operation action waits until the execution of the invoked behavior completes and a reply transmission is returned to the caller; otherwise execution of the action is complete when the invocation of the operation is established and the execution of the invoked operation proceeds concurrently with the execution of the calling behavior. Any values returned as part of the reply transmission are put on the result output pins of the call operation action. Upon receipt of the reply transmission, execution of the call operation action is complete.</body>

     </ownedComment>

-    <ownedRule xmi:id="_37_Laa8aEdqf6aL57Hh6KQ" name="argument_pin_equal_parameter" constrainedElement="_37_LZ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_Laq8aEdqf6aL57Hh6KQ" annotatedElement="_37_Laa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6bq8kEdqRKeAGm8hhTw" name="argument_pin_equal_parameter" constrainedElement="__cQ6bK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6b68kEdqRKeAGm8hhTw" annotatedElement="__cQ6bq8kEdqRKeAGm8hhTw">

         <body>The number of argument pins and the number of owned parameters of the operation of type in and in-out must be equal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_La68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6cK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37_LbK8aEdqf6aL57Hh6KQ" name="result_pin_equal_parameter" constrainedElement="_37_LZ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_Lba8aEdqf6aL57Hh6KQ" annotatedElement="_37_LbK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6ca8kEdqRKeAGm8hhTw" name="result_pin_equal_parameter" constrainedElement="__cQ6bK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6cq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6ca8kEdqRKeAGm8hhTw">

         <body>The number of result pins and the number of owned parameters of the operation of type return, out, and in-out must be equal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_Lbq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6c68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37_Lb68aEdqf6aL57Hh6KQ" name="type_ordering_multiplicity" constrainedElement="_37_LZ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_LcK8aEdqf6aL57Hh6KQ" annotatedElement="_37_Lb68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6dK8kEdqRKeAGm8hhTw" name="type_ordering_multiplicity" constrainedElement="__cQ6bK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6da8kEdqRKeAGm8hhTw" annotatedElement="__cQ6dK8kEdqRKeAGm8hhTw">

         <body>The type, ordering, and multiplicity of an argument or result pin is derived from the corresponding owned parameter of the operation.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_Lca8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6dq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37_Lcq8aEdqf6aL57Hh6KQ" name="type_target_pin" constrainedElement="_37_LZ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_Lc68aEdqf6aL57Hh6KQ" annotatedElement="_37_Lcq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6d68kEdqRKeAGm8hhTw" name="type_target_pin" constrainedElement="__cQ6bK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6eK8kEdqRKeAGm8hhTw" annotatedElement="__cQ6d68kEdqRKeAGm8hhTw">

         <body>The type of the target pin must be the same as the type that owns the operation.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_LdK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6ea8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_37_Lda8aEdqf6aL57Hh6KQ" general="_37_LP68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37_Ldq8aEdqf6aL57Hh6KQ" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" association="_37_Lqa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_Ld68aEdqf6aL57Hh6KQ" annotatedElement="_37_Ldq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__cQ6eq8kEdqRKeAGm8hhTw" general="__cQ6RK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cQ6e68kEdqRKeAGm8hhTw" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" association="__cQ6rq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6fK8kEdqRKeAGm8hhTw" annotatedElement="__cQ6e68kEdqRKeAGm8hhTw">

         <body>The operation to be invoked by the action execution.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_LeK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Lea8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6fa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6fq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_37_Leq8aEdqf6aL57Hh6KQ" name="target" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_37_Lra8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_37_Le68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_37_LfK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__cQ6f68kEdqRKeAGm8hhTw" name="target" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__cQ6sq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cQ6gK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cQ6ga8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37_Lfa8aEdqf6aL57Hh6KQ" annotatedElement="_37_Leq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cQ6gq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6f68kEdqRKeAGm8hhTw">

         <body>The target object to which the request is sent. The classifier of the target object is used to dynamically determine a behavior to invoke. This object constitutes the context of the execution of the operation.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lfq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Lf68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6g68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6hK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_LgK8aEdqf6aL57Hh6KQ" name="CallBehaviorAction">

-    <ownedComment xmi:id="_37_Lga8aEdqf6aL57Hh6KQ" annotatedElement="_37_LgK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cQ6ha8kEdqRKeAGm8hhTw" name="CallBehaviorAction">

+    <ownedComment xmi:id="__cQ6hq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6ha8kEdqRKeAGm8hhTw">

       <body>CallBehaviorAction is a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. The argument values of the action are available to the execution of the invoked behavior. For synchronous calls the execution of the call behavior action waits until the execution of the invoked behavior completes and a result is returned on its output pin. The action completes immediately without a result, if the call is asynchronous. In particular, the invoked behavior may be an activity.</body>

     </ownedComment>

-    <ownedRule xmi:id="_37_Lgq8aEdqf6aL57Hh6KQ" name="argument_pin_equal_parameter" constrainedElement="_37_LgK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_Lg68aEdqf6aL57Hh6KQ" annotatedElement="_37_Lgq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6h68kEdqRKeAGm8hhTw" name="argument_pin_equal_parameter" constrainedElement="__cQ6ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6iK8kEdqRKeAGm8hhTw" annotatedElement="__cQ6h68kEdqRKeAGm8hhTw">

         <body>The number of argument pins and the number of parameters of the behavior of type in and in-out must be equal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_LhK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6ia8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37_Lha8aEdqf6aL57Hh6KQ" name="result_pin_equal_parameter" constrainedElement="_37_LgK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_Lhq8aEdqf6aL57Hh6KQ" annotatedElement="_37_Lha8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6iq8kEdqRKeAGm8hhTw" name="result_pin_equal_parameter" constrainedElement="__cQ6ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6i68kEdqRKeAGm8hhTw" annotatedElement="__cQ6iq8kEdqRKeAGm8hhTw">

         <body>The number of result pins and the number of parameters of the behavior of type return, out, and in-out must be equal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_Lh68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6jK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37_LiK8aEdqf6aL57Hh6KQ" name="type_ordering_multiplicity" constrainedElement="_37_LgK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_Lia8aEdqf6aL57Hh6KQ" annotatedElement="_37_LiK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cQ6ja8kEdqRKeAGm8hhTw" name="type_ordering_multiplicity" constrainedElement="__cQ6ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6jq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6ja8kEdqRKeAGm8hhTw">

         <body>The type, ordering, and multiplicity of an argument or result pin is derived from the corresponding parameter of the behavior.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_Liq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cQ6j68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_37_Li68aEdqf6aL57Hh6KQ" general="_37_LP68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37_LjK8aEdqf6aL57Hh6KQ" name="behavior" type="_TUPtYGveEdq4DLWZOhbdEA" association="_37_Lpa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_Lja8aEdqf6aL57Hh6KQ" annotatedElement="_37_LjK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__cQ6kK8kEdqRKeAGm8hhTw" general="__cQ6RK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cQ6ka8kEdqRKeAGm8hhTw" name="behavior" type="_TUPtYGveEdq4DLWZOhbdEA" association="__cQ6qq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cQ6kq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6ka8kEdqRKeAGm8hhTw">

         <body>The invoked behavior. It must be capable of accepting and returning control.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Ljq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Lj68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6k68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6lK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lpa8aEdqf6aL57Hh6KQ" name="A_behavior_callBehaviorAction" memberEnd="_37_LjK8aEdqf6aL57Hh6KQ _37_Lpq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_37_Lpq8aEdqf6aL57Hh6KQ" type="_37_LgK8aEdqf6aL57Hh6KQ" association="_37_Lpa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lp68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_LqK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6qq8kEdqRKeAGm8hhTw" name="A_behavior_callBehaviorAction" memberEnd="__cQ6q68kEdqRKeAGm8hhTw __cQ6ka8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cQ6q68kEdqRKeAGm8hhTw" type="__cQ6ha8kEdqRKeAGm8hhTw" association="__cQ6qq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6rK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6ra8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lqa8aEdqf6aL57Hh6KQ" name="A_operation_callOperationAction" memberEnd="_37_Ldq8aEdqf6aL57Hh6KQ _37_Lqq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_37_Lqq8aEdqf6aL57Hh6KQ" type="_37_LZ68aEdqf6aL57Hh6KQ" association="_37_Lqa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lq68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_LrK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6rq8kEdqRKeAGm8hhTw" name="A_operation_callOperationAction" memberEnd="__cQ6e68kEdqRKeAGm8hhTw __cQ6r68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cQ6r68kEdqRKeAGm8hhTw" type="__cQ6bK8kEdqRKeAGm8hhTw" association="__cQ6rq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6sK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6sa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lra8aEdqf6aL57Hh6KQ" name="A_target_callOperationAction" memberEnd="_37_Leq8aEdqf6aL57Hh6KQ _37_Lr68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37_Lrq8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37_Lr68aEdqf6aL57Hh6KQ" type="_37_LZ68aEdqf6aL57Hh6KQ" association="_37_Lra8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_LsK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Lsa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6sq8kEdqRKeAGm8hhTw" name="A_target_callOperationAction" memberEnd="__cQ6f68kEdqRKeAGm8hhTw __cQ6tK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cQ6s68kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cQ6tK8kEdqRKeAGm8hhTw" type="__cQ6bK8kEdqRKeAGm8hhTw" association="__cQ6sq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6ta8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6tq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lsq8aEdqf6aL57Hh6KQ" name="A_target_sendSignalAction" memberEnd="_37_LXa8aEdqf6aL57Hh6KQ _37_LtK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37_Ls68aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37_LtK8aEdqf6aL57Hh6KQ" type="_37_LVK8aEdqf6aL57Hh6KQ" association="_37_Lsq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lta8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Ltq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6t68kEdqRKeAGm8hhTw" name="A_target_sendSignalAction" memberEnd="__cQ6ua8kEdqRKeAGm8hhTw __cQ6Yq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cQ6uK8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cQ6ua8kEdqRKeAGm8hhTw" type="__cQ6Wa8kEdqRKeAGm8hhTw" association="__cQ6t68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6uq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6u68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lt68aEdqf6aL57Hh6KQ" name="A_signal_sendSignalAction" memberEnd="_37_LuK8aEdqf6aL57Hh6KQ _37_LY68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_37_LuK8aEdqf6aL57Hh6KQ" type="_37_LVK8aEdqf6aL57Hh6KQ" association="_37_Lt68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lua8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Luq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6vK8kEdqRKeAGm8hhTw" name="A_signal_sendSignalAction" memberEnd="__cQ6va8kEdqRKeAGm8hhTw __cQ6aK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cQ6va8kEdqRKeAGm8hhTw" type="__cQ6Wa8kEdqRKeAGm8hhTw" association="__cQ6vK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6vq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6v68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lu68aEdqf6aL57Hh6KQ" name="A_result_callAction" memberEnd="_37_LTq8aEdqf6aL57Hh6KQ _37_Lva8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37_LvK8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37_Lva8aEdqf6aL57Hh6KQ" type="_37_LP68aEdqf6aL57Hh6KQ" redefinedProperty="_37_Lw68aEdqf6aL57Hh6KQ" association="_37_Lu68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6wK8kEdqRKeAGm8hhTw" name="A_result_callAction" memberEnd="__cQ6U68kEdqRKeAGm8hhTw __cQ6wq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cQ6wa8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cQ6wq8kEdqRKeAGm8hhTw" type="__cQ6RK8kEdqRKeAGm8hhTw" redefinedProperty="__cQ6yK8kEdqRKeAGm8hhTw" association="__cQ6wK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lvq8aEdqf6aL57Hh6KQ" name="A_argument_invocationAction" memberEnd="_37_LOa8aEdqf6aL57Hh6KQ _37_LwK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37_Lv68aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37_LwK8aEdqf6aL57Hh6KQ" type="_37_LNq8aEdqf6aL57Hh6KQ" redefinedProperty="_37_LyK8aEdqf6aL57Hh6KQ" association="_37_Lvq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6w68kEdqRKeAGm8hhTw" name="A_argument_invocationAction" memberEnd="__cQ6Pq8kEdqRKeAGm8hhTw __cQ6xa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cQ6xK8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cQ6xa8kEdqRKeAGm8hhTw" type="__cQ6O68kEdqRKeAGm8hhTw" redefinedProperty="__cQ6za8kEdqRKeAGm8hhTw" association="__cQ6w68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lwa8aEdqf6aL57Hh6KQ" name="A_action_output" memberEnd="_37_Lk68aEdqf6aL57Hh6KQ _37_Lw68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37_Lwq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37_Lw68aEdqf6aL57Hh6KQ" type="_37_LkK8aEdqf6aL57Hh6KQ" association="_37_Lwa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_LxK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Lxa8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6xq8kEdqRKeAGm8hhTw" name="A_action_output" memberEnd="__cQ6mK8kEdqRKeAGm8hhTw __cQ6yK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cQ6x68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cQ6yK8kEdqRKeAGm8hhTw" type="__cQ6la8kEdqRKeAGm8hhTw" association="__cQ6xq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6ya8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6yq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lxq8aEdqf6aL57Hh6KQ" name="A_action_input" memberEnd="_37_LyK8aEdqf6aL57Hh6KQ _37_Lma8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37_Lx68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37_LyK8aEdqf6aL57Hh6KQ" type="_37_LkK8aEdqf6aL57Hh6KQ" association="_37_Lxq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lya8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Lyq8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ6y68kEdqRKeAGm8hhTw" name="A_action_input" memberEnd="__cQ6za8kEdqRKeAGm8hhTw __cQ6nq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cQ6zK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cQ6za8kEdqRKeAGm8hhTw" type="__cQ6la8kEdqRKeAGm8hhTw" association="__cQ6y68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6zq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6z68kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Ly68aEdqf6aL57Hh6KQ" name="A_value_valuePin" memberEnd="_37_LzK8aEdqf6aL57Hh6KQ _371a3q8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_37_LzK8aEdqf6aL57Hh6KQ" type="_371a2K8aEdqf6aL57Hh6KQ" association="_37_Ly68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lza8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Lzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cQ60K8kEdqRKeAGm8hhTw" name="A_value_valuePin" memberEnd="__cQ60a8kEdqRKeAGm8hhTw __cHJ7K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cQ60a8kEdqRKeAGm8hhTw" type="__cHJ5q8kEdqRKeAGm8hhTw" association="__cQ60K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ60q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6068kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_Lz68aEdqf6aL57Hh6KQ" name="A_context_action" isDerived="true" memberEnd="_37_Ln68aEdqf6aL57Hh6KQ _37_L0K8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_37_L0K8aEdqf6aL57Hh6KQ" type="_37_LkK8aEdqf6aL57Hh6KQ" association="_37_Lz68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__caEIK8kEdqRKeAGm8hhTw" name="A_context_action" isDerived="true" memberEnd="__cQ6pK8kEdqRKeAGm8hhTw __caEIa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__caEIa8kEdqRKeAGm8hhTw" type="__cQ6la8kEdqRKeAGm8hhTw" association="__caEIK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_L0a8aEdqf6aL57Hh6KQ" name="A_inputValue_opaqueAction" memberEnd="_37_L068aEdqf6aL57Hh6KQ _371azK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37_L0q8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37_L068aEdqf6aL57Hh6KQ" type="_371ava8aEdqf6aL57Hh6KQ" redefinedProperty="_37_LyK8aEdqf6aL57Hh6KQ" association="_37_L0a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__caEIq8kEdqRKeAGm8hhTw" name="A_inputValue_opaqueAction" memberEnd="__cHJ2q8kEdqRKeAGm8hhTw __caEJK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__caEI68kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__caEJK8kEdqRKeAGm8hhTw" type="__cHJy68kEdqRKeAGm8hhTw" redefinedProperty="__cQ6za8kEdqRKeAGm8hhTw" association="__caEIq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_37_L1K8aEdqf6aL57Hh6KQ" name="A_outputValue_opaqueAction" memberEnd="_37_L1q8aEdqf6aL57Hh6KQ _371a0K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_37_L1a8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_37_L1q8aEdqf6aL57Hh6KQ" type="_371ava8aEdqf6aL57Hh6KQ" redefinedProperty="_37_Lw68aEdqf6aL57Hh6KQ" association="_37_L1K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__caEJa8kEdqRKeAGm8hhTw" name="A_outputValue_opaqueAction" memberEnd="__cHJ3q8kEdqRKeAGm8hhTw __caEJ68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__caEJq8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__caEJ68kEdqRKeAGm8hhTw" type="__cHJy68kEdqRKeAGm8hhTw" redefinedProperty="__cQ6yK8kEdqRKeAGm8hhTw" association="__caEJa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38IVXq8aEdqf6aL57Hh6KQ" name="A_subgroup_superGroup" memberEnd="_38IVPK8aEdqf6aL57Hh6KQ _38IVQq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38IVX68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__caEa68kEdqRKeAGm8hhTw" name="A_subgroup_superGroup" memberEnd="__caESa8kEdqRKeAGm8hhTw __caET68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__caEbK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38SGca8aEdqf6aL57Hh6KQ" name="SequenceNode">

-    <ownedComment xmi:id="_38SGcq8aEdqf6aL57Hh6KQ" annotatedElement="_38SGca8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cj1Qa8kEdqRKeAGm8hhTw" name="SequenceNode">

+    <ownedComment xmi:id="__cj1Qq8kEdqRKeAGm8hhTw" annotatedElement="__cj1Qa8kEdqRKeAGm8hhTw">

       <body>A sequence node is a structured activity node that executes its actions in order.</body>

     </ownedComment>

-    <generalization xmi:id="_38SGc68aEdqf6aL57Hh6KQ" general="_38IVea8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38SGdK8aEdqf6aL57Hh6KQ" name="executableNode" type="_38SGbq8aEdqf6aL57Hh6KQ" isOrdered="true" redefinedProperty="_38IVhK8aEdqf6aL57Hh6KQ" association="_38bQGa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38SGda8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38SGdq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cj1Q68kEdqRKeAGm8hhTw" general="__caEhq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cj1RK8kEdqRKeAGm8hhTw" name="executableNode" type="__cj1Pq8kEdqRKeAGm8hhTw" isOrdered="true" redefinedProperty="__caEka8kEdqRKeAGm8hhTw" association="__cj1eq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cj1Ra8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cj1Rq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38SGd68aEdqf6aL57Hh6KQ" annotatedElement="_38SGdK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cj1R68kEdqRKeAGm8hhTw" annotatedElement="__cj1RK8kEdqRKeAGm8hhTw">

         <body>An ordered set of executable nodes.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGeK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGea8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1SK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1Sa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGf68aEdqf6aL57Hh6KQ" name="A_scope_variable" memberEnd="_38IVfq8aEdqf6aL57Hh6KQ _38IVZ68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38SGgK8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1T68kEdqRKeAGm8hhTw" name="A_scope_variable" memberEnd="__caEi68kEdqRKeAGm8hhTw __caEdK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cj1UK8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGga8aEdqf6aL57Hh6KQ" name="A_node_inStructuredNode" memberEnd="_38IVhK8aEdqf6aL57Hh6KQ _38SGZK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38SGgq8aEdqf6aL57Hh6KQ" general="_38IVW68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1Ua8kEdqRKeAGm8hhTw" name="A_node_inStructuredNode" memberEnd="__caEka8kEdqRKeAGm8hhTw __cj1NK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cj1Uq8kEdqRKeAGm8hhTw" general="__caEaK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGg68aEdqf6aL57Hh6KQ" name="A_clause_test" memberEnd="_38SGPK8aEdqf6aL57Hh6KQ _38SGhK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38SGhK8aEdqf6aL57Hh6KQ" type="_38SGNq8aEdqf6aL57Hh6KQ" association="_38SGg68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGha8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGhq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1U68kEdqRKeAGm8hhTw" name="A_clause_test" memberEnd="__caEyK8kEdqRKeAGm8hhTw __cj1VK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cj1VK8kEdqRKeAGm8hhTw" type="__caEwq8kEdqRKeAGm8hhTw" association="__cj1U68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1Va8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1Vq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGh68aEdqf6aL57Hh6KQ" name="A_clause_body" memberEnd="_38SGiK8aEdqf6aL57Hh6KQ _38SGQK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38SGiK8aEdqf6aL57Hh6KQ" type="_38SGNq8aEdqf6aL57Hh6KQ" association="_38SGh68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGia8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGiq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1V68kEdqRKeAGm8hhTw" name="A_clause_body" memberEnd="__cj1WK8kEdqRKeAGm8hhTw __caEzK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cj1WK8kEdqRKeAGm8hhTw" type="__caEwq8kEdqRKeAGm8hhTw" association="__cj1V68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1Wa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1Wq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGi68aEdqf6aL57Hh6KQ" name="A_predecessorClause_successorClause" memberEnd="_38SGRK8aEdqf6aL57Hh6KQ _38SGSK8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGjK8aEdqf6aL57Hh6KQ" name="A_loopNode_bodyPart" memberEnd="_38SGja8aEdqf6aL57Hh6KQ _38SGJq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38SGja8aEdqf6aL57Hh6KQ" type="_38SGIK8aEdqf6aL57Hh6KQ" association="_38SGjK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGjq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGj68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1W68kEdqRKeAGm8hhTw" name="A_predecessorClause_successorClause" memberEnd="__caE1K8kEdqRKeAGm8hhTw __caE0K8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1XK8kEdqRKeAGm8hhTw" name="A_loopNode_bodyPart" memberEnd="__cj1Xa8kEdqRKeAGm8hhTw __caEsq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cj1Xa8kEdqRKeAGm8hhTw" type="__caErK8kEdqRKeAGm8hhTw" association="__cj1XK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1Xq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1X68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGkK8aEdqf6aL57Hh6KQ" name="A_loopNode_setupPart" memberEnd="_38SGka8aEdqf6aL57Hh6KQ _38SGKq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38SGka8aEdqf6aL57Hh6KQ" type="_38SGIK8aEdqf6aL57Hh6KQ" association="_38SGkK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGkq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGk68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1YK8kEdqRKeAGm8hhTw" name="A_loopNode_setupPart" memberEnd="__cj1Ya8kEdqRKeAGm8hhTw __caEtq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cj1Ya8kEdqRKeAGm8hhTw" type="__caErK8kEdqRKeAGm8hhTw" association="__cj1YK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1Yq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1Y68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGlK8aEdqf6aL57Hh6KQ" name="A_clause_conditionalNode" memberEnd="_38SGlq8aEdqf6aL57Hh6KQ _38IVma8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38SGla8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38SGlq8aEdqf6aL57Hh6KQ" type="_38IVkK8aEdqf6aL57Hh6KQ" association="_38SGlK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGl68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGmK8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1ZK8kEdqRKeAGm8hhTw" name="A_clause_conditionalNode" memberEnd="__cj1Zq8kEdqRKeAGm8hhTw __caEpq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cj1Za8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cj1Zq8kEdqRKeAGm8hhTw" type="__caEna8kEdqRKeAGm8hhTw" association="__cj1ZK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1Z68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1aK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGma8aEdqf6aL57Hh6KQ" name="A_decider_clause" memberEnd="_38SGTK8aEdqf6aL57Hh6KQ _38SGmq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38SGmq8aEdqf6aL57Hh6KQ" type="_38SGNq8aEdqf6aL57Hh6KQ" association="_38SGma8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGm68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGnK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1aa8kEdqRKeAGm8hhTw" name="A_decider_clause" memberEnd="__caE2K8kEdqRKeAGm8hhTw __cj1aq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cj1aq8kEdqRKeAGm8hhTw" type="__caEwq8kEdqRKeAGm8hhTw" association="__cj1aa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1a68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1bK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38SGna8aEdqf6aL57Hh6KQ" name="A_decider_loopNode" memberEnd="_38SGnq8aEdqf6aL57Hh6KQ _38SGLq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38SGnq8aEdqf6aL57Hh6KQ" type="_38SGIK8aEdqf6aL57Hh6KQ" association="_38SGna8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGn68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGoK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1ba8kEdqRKeAGm8hhTw" name="A_decider_loopNode" memberEnd="__caEuq8kEdqRKeAGm8hhTw __cj1bq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cj1bq8kEdqRKeAGm8hhTw" type="__caErK8kEdqRKeAGm8hhTw" association="__cj1ba8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1b68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1cK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQEK8aEdqf6aL57Hh6KQ" name="A_test_loopNode" memberEnd="_38SGMq8aEdqf6aL57Hh6KQ _38bQEa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38bQEa8aEdqf6aL57Hh6KQ" type="_38SGIK8aEdqf6aL57Hh6KQ" association="_38bQEK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQEq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQE68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1ca8kEdqRKeAGm8hhTw" name="A_test_loopNode" memberEnd="__cj1cq8kEdqRKeAGm8hhTw __caEvq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__cj1cq8kEdqRKeAGm8hhTw" type="__caErK8kEdqRKeAGm8hhTw" association="__cj1ca8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1c68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1dK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQFK8aEdqf6aL57Hh6KQ" name="A_activity_structuredNode" memberEnd="_38IViq8aEdqf6aL57Hh6KQ _38SGUK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38bQFa8aEdqf6aL57Hh6KQ" general="_38IVWa8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38bQFq8aEdqf6aL57Hh6KQ" general="_38IVXK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1da8kEdqRKeAGm8hhTw" name="A_activity_structuredNode" memberEnd="__caEl68kEdqRKeAGm8hhTw __cj1IK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cj1dq8kEdqRKeAGm8hhTw" general="__caEZq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__cj1d68kEdqRKeAGm8hhTw" general="__caEaa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQF68aEdqf6aL57Hh6KQ" name="A_variable_activityScope" memberEnd="_38SGVq8aEdqf6aL57Hh6KQ _38IVba8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38bQGK8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1eK8kEdqRKeAGm8hhTw" name="A_variable_activityScope" memberEnd="__cj1Jq8kEdqRKeAGm8hhTw __caEeq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cj1ea8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQGa8aEdqf6aL57Hh6KQ" name="A_executableNode_sequenceNode" memberEnd="_38SGdK8aEdqf6aL57Hh6KQ _38bQG68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38bQGq8aEdqf6aL57Hh6KQ" general="_38SGga8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38bQG68aEdqf6aL57Hh6KQ" type="_38SGca8aEdqf6aL57Hh6KQ" association="_38bQGa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQHK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQHa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__cj1eq8kEdqRKeAGm8hhTw" name="A_executableNode_sequenceNode" memberEnd="__cj1fK8kEdqRKeAGm8hhTw __cj1RK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__cj1e68kEdqRKeAGm8hhTw" general="__cj1Ua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__cj1fK8kEdqRKeAGm8hhTw" type="__cj1Qa8kEdqRKeAGm8hhTw" association="__cj1eq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1fa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1fq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38IVWa8aEdqf6aL57Hh6KQ" name="A_node_activity" memberEnd="_38IVTa8aEdqf6aL57Hh6KQ _38IVIa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38IVWq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__caEZq8kEdqRKeAGm8hhTw" name="A_node_activity" memberEnd="__caELq8kEdqRKeAGm8hhTw __caEWq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__caEZ68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38bQHq8aEdqf6aL57Hh6KQ" name="Usage">

-    <ownedComment xmi:id="_38bQH68aEdqf6aL57Hh6KQ" annotatedElement="_38bQHq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cj1f68kEdqRKeAGm8hhTw" name="Usage">

+    <ownedComment xmi:id="__cj1gK8kEdqRKeAGm8hhTw" annotatedElement="__cj1f68kEdqRKeAGm8hhTw">

       <body>A usage is a relationship in which one element requires another element (or set of elements) for its full implementation or operation. In the metamodel, a Usage is a Dependency in which the client requires the presence of the supplier.

 

 </body>

     </ownedComment>

-    <generalization xmi:id="_38bQIK8aEdqf6aL57Hh6KQ" general="_rEDGkGwKEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__cj1ga8kEdqRKeAGm8hhTw" general="_rEDGkGwKEdq7X4sGURiZYA"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38bQIa8aEdqf6aL57Hh6KQ" name="Abstraction">

-    <ownedComment xmi:id="_38bQIq8aEdqf6aL57Hh6KQ" annotatedElement="_38bQIa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cj1gq8kEdqRKeAGm8hhTw" name="Abstraction">

+    <ownedComment xmi:id="__cj1g68kEdqRKeAGm8hhTw" annotatedElement="__cj1gq8kEdqRKeAGm8hhTw">

       <body>An abstraction is a relationship that relates two elements or sets of elements that represent the same concept at different levels of abstraction or from different viewpoints. In the metamodel, an Abstraction is a Dependency in which there is a mapping between the supplier and the client.</body>

     </ownedComment>

-    <generalization xmi:id="_38bQI68aEdqf6aL57Hh6KQ" general="_rEDGkGwKEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_38bQJK8aEdqf6aL57Hh6KQ" name="mapping" type="_ChRfcGveEdq4DLWZOhbdEA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_38bQVa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38bQJa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38bQJq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cj1hK8kEdqRKeAGm8hhTw" general="_rEDGkGwKEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__cj1ha8kEdqRKeAGm8hhTw" name="mapping" type="_ChRfcGveEdq4DLWZOhbdEA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ctmRK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cj1hq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cj1h68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38bQJ68aEdqf6aL57Hh6KQ" annotatedElement="_38bQJK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cj1iK8kEdqRKeAGm8hhTw" annotatedElement="__cj1ha8kEdqRKeAGm8hhTw">

         <body>An composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and unidirectional; in other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQKK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQKa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1ia8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1iq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_rEDGkGwKEdq7X4sGURiZYA" name="Dependency">

-    <ownedComment xmi:id="_38bQKq8aEdqf6aL57Hh6KQ" annotatedElement="_rEDGkGwKEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__cj1i68kEdqRKeAGm8hhTw" annotatedElement="_rEDGkGwKEdq7X4sGURiZYA">

       <body>A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation. This means that the complete semantics of the depending elements is either semantically or structurally dependent on the definition of the supplier element(s).</body>

     </ownedComment>

-    <generalization xmi:id="_38bQK68aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <generalization xmi:id="_38bQLK8aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_38bQLa8aEdqf6aL57Hh6KQ" name="supplier" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_38bQYq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38bQLq8aEdqf6aL57Hh6KQ" annotatedElement="_38bQLa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__cj1jK8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <generalization xmi:id="__cj1ja8kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__cj1jq8kEdqRKeAGm8hhTw" name="supplier" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__ctmUa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cj1j68kEdqRKeAGm8hhTw" annotatedElement="__cj1jq8kEdqRKeAGm8hhTw">

         <body>The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQL68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQMK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1kK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1ka8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38bQMa8aEdqf6aL57Hh6KQ" name="client" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ" association="_38bQaK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38bQMq8aEdqf6aL57Hh6KQ" annotatedElement="_38bQMa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ctmIK8kEdqRKeAGm8hhTw" name="client" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw" association="__ctmV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ctmIa8kEdqRKeAGm8hhTw" annotatedElement="__ctmIK8kEdqRKeAGm8hhTw">

         <body>The element(s) dependent on the supplier element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQM68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQNK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmIq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmI68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38bQNa8aEdqf6aL57Hh6KQ" name="Realization">

-    <ownedComment xmi:id="_38bQNq8aEdqf6aL57Hh6KQ" annotatedElement="_38bQNa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__ctmJK8kEdqRKeAGm8hhTw" name="Realization">

+    <ownedComment xmi:id="__ctmJa8kEdqRKeAGm8hhTw" annotatedElement="__ctmJK8kEdqRKeAGm8hhTw">

       <body>Realization is a specialized abstraction relationship between two sets of model elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client). Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc.</body>

     </ownedComment>

-    <generalization xmi:id="_38bQN68aEdqf6aL57Hh6KQ" general="_38bQIa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__ctmJq8kEdqRKeAGm8hhTw" general="__cj1gq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38bQOK8aEdqf6aL57Hh6KQ" name="Substitution">

-    <ownedComment xmi:id="_38bQOa8aEdqf6aL57Hh6KQ" annotatedElement="_38bQOK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__ctmJ68kEdqRKeAGm8hhTw" name="Substitution">

+    <ownedComment xmi:id="__ctmKK8kEdqRKeAGm8hhTw" annotatedElement="__ctmJ68kEdqRKeAGm8hhTw">

       <body>A substitution is a relationship between two classifiers signifies that the substitutingClassifier complies with the contract specified by the contract classifier. This implies that instances of the substitutingClassifier are runtime substitutable where instances of the contract classifier are expected.</body>

     </ownedComment>

-    <generalization xmi:id="_38bQOq8aEdqf6aL57Hh6KQ" general="_38bQNa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38bQO68aEdqf6aL57Hh6KQ" name="contract" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_38bQLa8aEdqf6aL57Hh6KQ" association="_38bQWq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38bQPK8aEdqf6aL57Hh6KQ" annotatedElement="_38bQO68aEdqf6aL57Hh6KQ"/>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQPa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQPq8aEdqf6aL57Hh6KQ" value="1"/>

+    <generalization xmi:id="__ctmKa8kEdqRKeAGm8hhTw" general="__ctmJK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__ctmKq8kEdqRKeAGm8hhTw" name="contract" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="__cj1jq8kEdqRKeAGm8hhTw" association="__ctmSa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ctmK68kEdqRKeAGm8hhTw" annotatedElement="__ctmKq8kEdqRKeAGm8hhTw"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmLK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmLa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38bQP68aEdqf6aL57Hh6KQ" name="substitutingClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_38bQMa8aEdqf6aL57Hh6KQ" association="_38bQX68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38bQQK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38bQQa8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__ctmLq8kEdqRKeAGm8hhTw" name="substitutingClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="__ctmIK8kEdqRKeAGm8hhTw" association="__ctmTq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__ctmL68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ctmMK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38bQQq8aEdqf6aL57Hh6KQ" annotatedElement="_38bQP68aEdqf6aL57Hh6KQ"/>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQQ68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQRK8aEdqf6aL57Hh6KQ" value="1"/>

+      <ownedComment xmi:id="__ctmMa8kEdqRKeAGm8hhTw" annotatedElement="__ctmLq8kEdqRKeAGm8hhTw"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmMq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmM68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_ZiwkoGwLEdq7X4sGURiZYA" name="Namespace" isAbstract="true">

-    <ownedComment xmi:id="_33XJ-q8aEdqf6aL57Hh6KQ" annotatedElement="_ZiwkoGwLEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__YPV2q8kEdqRKeAGm8hhTw" annotatedElement="_ZiwkoGwLEdq7X4sGURiZYA">

       <body>A namespace has the ability to import either individial members or all members of a package, thereby making it possible to refer to those named elements without qualification in the importing namespace. In the case of conflicts, it is necessary to use qualified names or aliases to disambiguate the referenced elements.</body>

     </ownedComment>

-    <ownedComment xmi:id="_37FzjK8aEdqf6aL57Hh6KQ" annotatedElement="_ZiwkoGwLEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__bhTaK8kEdqRKeAGm8hhTw" annotatedElement="_ZiwkoGwLEdq7X4sGURiZYA">

       <body>A namespace is a named element that can own other named elements. Each named element may be owned by at most one namespace. A namespace provides a means for identifying named elements by name. Named elements can be identified by name in a namespace either by being directly owned by the namespace or by being introduced into the namespace by other means e.g. importing or inheriting. Namespace is an abstract metaclass.

 

 

@@ -2551,83 +2551,83 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_38bQUq8aEdqf6aL57Hh6KQ" annotatedElement="_ZiwkoGwLEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__ctmQa8kEdqRKeAGm8hhTw" annotatedElement="_ZiwkoGwLEdq7X4sGURiZYA">

       <body>A namespace is a named element that can own other named elements. Each named element may be owned by at most one namespace. A namespace provides a means for identifying named elements by name. Named elements can be identified by name in a namespace either by being directly owned by the namespace or by being introduced into the namespace by other means e.g. importing or inheriting. Namespace is an abstract metaclass.</body>

     </ownedComment>

-    <ownedRule xmi:id="_33XJ-68aEdqf6aL57Hh6KQ" name="members_distinguishable" constrainedElement="_ZiwkoGwLEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_33XJ_K8aEdqf6aL57Hh6KQ" annotatedElement="_33XJ-68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YPV268kEdqRKeAGm8hhTw" name="members_distinguishable" constrainedElement="_ZiwkoGwLEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__YPV3K8kEdqRKeAGm8hhTw" annotatedElement="__YPV268kEdqRKeAGm8hhTw">

         <body>All the members of a Namespace are distinguishable within it.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37Fzja8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTaa8kEdqRKeAGm8hhTw" language="OCL">

         <body>membersAreDistinguishable()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_33XJ_q8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_33XKBa8aEdqf6aL57Hh6KQ" name="elementImport" type="_RPl78GwIEdq7X4sGURiZYA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_342XsK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33XKBq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33XKB68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__YPV3q8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__YPV5a8kEdqRKeAGm8hhTw" name="elementImport" type="_RPl78GwIEdq7X4sGURiZYA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__Zkyk68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YPV5q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YPV568kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33XKCK8aEdqf6aL57Hh6KQ" annotatedElement="_33XKBa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YPV6K8kEdqRKeAGm8hhTw" annotatedElement="__YPV5a8kEdqRKeAGm8hhTw">

         <body>References the ElementImports owned by the Namespace.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37Fzjq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37Fzj68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTaq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTa68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33XKC68aEdqf6aL57Hh6KQ" name="packageImport" type="_SnNPIGwIEdq7X4sGURiZYA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_342Xs68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33XKDK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33XKDa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__YPV668kEdqRKeAGm8hhTw" name="packageImport" type="_SnNPIGwIEdq7X4sGURiZYA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__Zkylq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YPV7K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YPV7a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33XKDq8aEdqf6aL57Hh6KQ" annotatedElement="_33XKC68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YPV7q8kEdqRKeAGm8hhTw" annotatedElement="__YPV668kEdqRKeAGm8hhTw">

         <body>References the PackageImports owned by the Namespace.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37FzkK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37Fzka8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTbK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTba8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33XKHa8aEdqf6aL57Hh6KQ" name="ownedRule" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_342YCa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33XKHq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33XKH68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__YPV_a8kEdqRKeAGm8hhTw" name="ownedRule" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__ZujkK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YPV_q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YPV_68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37Fzkq8aEdqf6aL57Hh6KQ" annotatedElement="_33XKHa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bhTbq8kEdqRKeAGm8hhTw" annotatedElement="__YPV_a8kEdqRKeAGm8hhTw">

         <body>Specifies a set of Constraints owned by this Namespace.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37Fzk68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37FzlK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTb68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTcK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33XKF68aEdqf6aL57Hh6KQ" name="member" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_342X5q8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33XKGK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33XKGa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YPV968kEdqRKeAGm8hhTw" name="member" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__Zkyya8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YPV-K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YPV-a8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33XKGq8aEdqf6aL57Hh6KQ" annotatedElement="_33XKF68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YPV-q8kEdqRKeAGm8hhTw" annotatedElement="__YPV968kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding property of Abstractions::Namespaces::Namespace.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37O9Q68aEdqf6aL57Hh6KQ" annotatedElement="_33XKF68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bhTdK8kEdqRKeAGm8hhTw" annotatedElement="__YPV968kEdqRKeAGm8hhTw">

         <body>A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37O9RK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37O9Ra8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTda8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTdq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33XJ_68aEdqf6aL57Hh6KQ" name="importedMember" type="_jKxnwGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" subsettedProperty="_33XKF68aEdqf6aL57Hh6KQ" association="_342Xp68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33XKAK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33XKAa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YPV368kEdqRKeAGm8hhTw" name="importedMember" type="_jKxnwGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" subsettedProperty="__YPV968kEdqRKeAGm8hhTw" association="__ZbotK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YPV4K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YPV4a8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33XKAq8aEdqf6aL57Hh6KQ" annotatedElement="_33XJ_68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YPV4q8kEdqRKeAGm8hhTw" annotatedElement="__YPV368kEdqRKeAGm8hhTw">

         <body>References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37O9Rq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37O9R68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTd68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTeK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33XKEa8aEdqf6aL57Hh6KQ" name="ownedMember" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33XKF68aEdqf6aL57Hh6KQ _33OABK8aEdqf6aL57Hh6KQ" association="_342X468aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33XKEq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33XKE68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YPV8a8kEdqRKeAGm8hhTw" name="ownedMember" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YPV968kEdqRKeAGm8hhTw __YFk468kEdqRKeAGm8hhTw" association="__Zkyxq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YPV8q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YPV868kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33XKFK8aEdqf6aL57Hh6KQ" annotatedElement="_33XKEa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YPV9K8kEdqRKeAGm8hhTw" annotatedElement="__YPV8a8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding property of Abstractions::Namespaces::Namespace.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37O9QK8aEdqf6aL57Hh6KQ" annotatedElement="_33XKEa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bhTca8kEdqRKeAGm8hhTw" annotatedElement="__YPV8a8kEdqRKeAGm8hhTw">

         <body>A collection of NamedElements owned by the Namespace.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQU68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQVK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmQq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmQ68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_vI18QGwLEdq7X4sGURiZYA" name="createElementImport" type="_RPl78GwIEdq7X4sGURiZYA">

       <returnResult xmi:id="_xwes4GwLEdq7X4sGURiZYA" type="_RPl78GwIEdq7X4sGURiZYA" direction="return"/>

@@ -2651,36 +2651,36 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6sF9AGwLEdq7X4sGURiZYA"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XKIq8aEdqf6aL57Hh6KQ" name="importedMember" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="_33XKJq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33XKI68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_33XKJK8aEdqf6aL57Hh6KQ" operationName="getImportedMembers"/>

+    <ownedOperation xmi:id="__YPWAq8kEdqRKeAGm8hhTw" name="importedMember" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="__YPWBq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YPWA68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__YPWBK8kEdqRKeAGm8hhTw" operationName="getImportedMembers"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33XKJa8aEdqf6aL57Hh6KQ" annotatedElement="_33XKIq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YPWBa8kEdqRKeAGm8hhTw" annotatedElement="__YPWAq8kEdqRKeAGm8hhTw">

         <body>The importedMember property is derived from the ElementImports and the PackageImports. References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37O9SK8aEdqf6aL57Hh6KQ" annotatedElement="_33XKIq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bhTea8kEdqRKeAGm8hhTw" annotatedElement="__YPWAq8kEdqRKeAGm8hhTw">

         <body>The importedMember property is derived from the ElementImports and the PackageImports.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XKJq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XKIq8aEdqf6aL57Hh6KQ _33XJ_68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9Sa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YPWBq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YPWAq8kEdqRKeAGm8hhTw __YPV368kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTeq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.importMembers(self.elementImport.importedElement.asSet()-

 >union(self.packageImport.importedPackage->collect(p | p.visibleMembers())))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XKKK8aEdqf6aL57Hh6KQ" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37O9Sq8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37O9S68aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YPWCK8kEdqRKeAGm8hhTw" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTe68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTfK8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XKK68aEdqf6aL57Hh6KQ" name="getNamesOfMember" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33XKLa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33XKLK8aEdqf6aL57Hh6KQ" annotatedElement="_33XKK68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YPWC68kEdqRKeAGm8hhTw" name="getNamesOfMember" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YPWDa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YPWDK8kEdqRKeAGm8hhTw" annotatedElement="__YPWC68kEdqRKeAGm8hhTw">

         <body>The query getNamesOfMember() is overridden to take account of importing. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37O9TK8aEdqf6aL57Hh6KQ" annotatedElement="_33XKK68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bhTfa8kEdqRKeAGm8hhTw" annotatedElement="__YPWC68kEdqRKeAGm8hhTw">

         <body>The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases. The query takes account of importing. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XKLa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XKK68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9Ta8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YPWDa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YPWC68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTfq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if self.ownedMember ->includes(element)

 then Set{}->include(element.name)

 else let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in

@@ -2691,212 +2691,212 @@
 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XKL68aEdqf6aL57Hh6KQ" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37O9Tq8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37O9T68aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YPWD68kEdqRKeAGm8hhTw" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTf68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTgK8kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_33XKMq8aEdqf6aL57Hh6KQ" name="element" type="_csVgUGvtEdqG6fBIPwe-mw"/>

+      <ownedParameter xmi:id="__YPWEq8kEdqRKeAGm8hhTw" name="element" type="_csVgUGvtEdqG6fBIPwe-mw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XKR68aEdqf6aL57Hh6KQ" name="membersAreDistinguishable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33XKSa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33XKSK8aEdqf6aL57Hh6KQ" annotatedElement="_33XKR68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YPWJ68kEdqRKeAGm8hhTw" name="membersAreDistinguishable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YPWKa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YPWKK8kEdqRKeAGm8hhTw" annotatedElement="__YPWJ68kEdqRKeAGm8hhTw">

         <body>The Boolean query membersAreDistinguishable() determines whether all of the namespace's members are distinguishable within it.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XKSa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XKR68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9UK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YPWKa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YPWJ68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTga8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.member->forAll( memb |

 self.member->excluding(memb)->forAll(other |

 memb.isDistinguishableFrom(other, self)))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XKS68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YPWK68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XKM68aEdqf6aL57Hh6KQ" name="importMembers" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="_33XKNa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33XKNK8aEdqf6aL57Hh6KQ" annotatedElement="_33XKM68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YPWE68kEdqRKeAGm8hhTw" name="importMembers" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="__YPWFa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YPWFK8kEdqRKeAGm8hhTw" annotatedElement="__YPWE68kEdqRKeAGm8hhTw">

         <body>The query importMembers() defines which of a set of PackageableElements are actually imported into the namespace. This excludes hidden ones, i.e., those which have names that conflict with names of owned members, and also excludes elements which would have the same name when imported.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XKNa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XKM68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9Ua8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YPWFa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YPWE68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTgq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem |

 mem.imp.isDistinguishableFrom(mem, self)))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XKN68aEdqf6aL57Hh6KQ" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37O9Uq8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37O9U68aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YPWF68kEdqRKeAGm8hhTw" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhTg68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhThK8kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_33XKOq8aEdqf6aL57Hh6KQ" name="imps" type="_jKxnwGwLEdq7X4sGURiZYA">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_33XKO68aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_33XKPK8aEdqf6aL57Hh6KQ"/>

+      <ownedParameter xmi:id="__YPWGq8kEdqRKeAGm8hhTw" name="imps" type="_jKxnwGwLEdq7X4sGURiZYA">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__YPWG68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__YPWHK8kEdqRKeAGm8hhTw"/>

       </ownedParameter>

     </ownedOperation>

-    <ownedOperation xmi:id="_33XKPa8aEdqf6aL57Hh6KQ" name="excludeCollisions" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="_33XKP68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33XKPq8aEdqf6aL57Hh6KQ" annotatedElement="_33XKPa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YPWHa8kEdqRKeAGm8hhTw" name="excludeCollisions" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="__YPWH68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YPWHq8kEdqRKeAGm8hhTw" annotatedElement="__YPWHa8kEdqRKeAGm8hhTw">

         <body>The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this namespace.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33XKP68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33XKPa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9VK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YPWH68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YPWHa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTha8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = imps->reject(imp1 | imps.exists(imp2 | not imp1.isDistinguishableFrom(imp2, self)))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33XKQa8aEdqf6aL57Hh6KQ" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37O9Va8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37O9Vq8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YPWIa8kEdqRKeAGm8hhTw" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bhThq8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bhTh68kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_33XKRK8aEdqf6aL57Hh6KQ" name="imps" type="_jKxnwGwLEdq7X4sGURiZYA">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_33XKRa8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_33XKRq8aEdqf6aL57Hh6KQ"/>

+      <ownedParameter xmi:id="__YPWJK8kEdqRKeAGm8hhTw" name="imps" type="_jKxnwGwLEdq7X4sGURiZYA">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__YPWJa8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__YPWJq8kEdqRKeAGm8hhTw"/>

       </ownedParameter>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQVa8aEdqf6aL57Hh6KQ" name="A_mapping_abstraction" memberEnd="_38bQV68aEdqf6aL57Hh6KQ _38bQJK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38bQVq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38bQV68aEdqf6aL57Hh6KQ" type="_38bQIa8aEdqf6aL57Hh6KQ" association="_38bQVa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQWK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQWa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ctmRK8kEdqRKeAGm8hhTw" name="A_mapping_abstraction" memberEnd="__cj1ha8kEdqRKeAGm8hhTw __ctmRq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ctmRa8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ctmRq8kEdqRKeAGm8hhTw" type="__cj1gq8kEdqRKeAGm8hhTw" association="__ctmRK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmR68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmSK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQWq8aEdqf6aL57Hh6KQ" name="A_contract_substitution" memberEnd="_38bQXK8aEdqf6aL57Hh6KQ _38bQO68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38bQW68aEdqf6aL57Hh6KQ" general="_38bQYq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38bQXK8aEdqf6aL57Hh6KQ" type="_38bQOK8aEdqf6aL57Hh6KQ" association="_38bQWq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQXa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQXq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ctmSa8kEdqRKeAGm8hhTw" name="A_contract_substitution" memberEnd="__ctmKq8kEdqRKeAGm8hhTw __ctmS68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ctmSq8kEdqRKeAGm8hhTw" general="__ctmUa8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ctmS68kEdqRKeAGm8hhTw" type="__ctmJ68kEdqRKeAGm8hhTw" association="__ctmSa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmTK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmTa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQX68aEdqf6aL57Hh6KQ" name="A_substitution_substitutingClassifier" memberEnd="_38bQRq8aEdqf6aL57Hh6KQ _38bQP68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38bQYK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38bQYa8aEdqf6aL57Hh6KQ" general="_38bQaK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ctmTq8kEdqRKeAGm8hhTw" name="A_substitution_substitutingClassifier" memberEnd="__ctmNa8kEdqRKeAGm8hhTw __ctmLq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ctmT68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__ctmUK8kEdqRKeAGm8hhTw" general="__ctmV68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQYq8aEdqf6aL57Hh6KQ" name="A_supplierDependency_supplier" memberEnd="_38bQZK8aEdqf6aL57Hh6KQ _38bQLa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38bQY68aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38bQZK8aEdqf6aL57Hh6KQ" name="supplierDependency" type="_rEDGkGwKEdq7X4sGURiZYA" association="_38bQYq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38bQZa8aEdqf6aL57Hh6KQ" annotatedElement="_38bQZK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__ctmUa8kEdqRKeAGm8hhTw" name="A_supplierDependency_supplier" memberEnd="__ctmU68kEdqRKeAGm8hhTw __cj1jq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ctmUq8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ctmU68kEdqRKeAGm8hhTw" name="supplierDependency" type="_rEDGkGwKEdq7X4sGURiZYA" association="__ctmUa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ctmVK8kEdqRKeAGm8hhTw" annotatedElement="__ctmU68kEdqRKeAGm8hhTw">

         <body>Indicates the dependencies that reference the supplier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQZq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQZ68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmVa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmVq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38bQaK8aEdqf6aL57Hh6KQ" name="A_clientDependency_client" memberEnd="_38bQTK8aEdqf6aL57Hh6KQ _38bQMa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38bQaa8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ctmV68kEdqRKeAGm8hhTw" name="A_clientDependency_client" memberEnd="__ctmIK8kEdqRKeAGm8hhTw __ctmO68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ctmWK8kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342X468aEdqf6aL57Hh6KQ" name="A_ownedMember_namespace" memberEnd="_33XKEa8aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_342X5K8aEdqf6aL57Hh6KQ" general="_342X5q8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_342X5a8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zkyxq8kEdqRKeAGm8hhTw" name="A_ownedMember_namespace" memberEnd="__YPV8a8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__Zkyx68kEdqRKeAGm8hhTw" general="__Zkyya8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__ZkyyK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_l2mXcHLzEdqziYxiZo0YtA" name="InterfaceRealization">

-    <ownedComment xmi:id="_38lBK68aEdqf6aL57Hh6KQ" annotatedElement="_l2mXcHLzEdqziYxiZo0YtA">

+    <ownedComment xmi:id="__ctmdK8kEdqRKeAGm8hhTw" annotatedElement="_l2mXcHLzEdqziYxiZo0YtA">

       <body>An InterfaceRealization is a specialized Realization relationship between a Classifier and an Interface. This relationship signifies that the realizing classifier conforms to the contract specified by the Interface.</body>

     </ownedComment>

-    <generalization xmi:id="_38lBLK8aEdqf6aL57Hh6KQ" general="_38bQNa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38lBLa8aEdqf6aL57Hh6KQ" name="contract" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_38bQLa8aEdqf6aL57Hh6KQ" association="_38lBUK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38lBLq8aEdqf6aL57Hh6KQ" annotatedElement="_38lBLa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__c2wEK8kEdqRKeAGm8hhTw" general="__ctmJK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__c2wEa8kEdqRKeAGm8hhTw" name="contract" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="__cj1jq8kEdqRKeAGm8hhTw" association="__c2wNK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__c2wEq8kEdqRKeAGm8hhTw" annotatedElement="__c2wEa8kEdqRKeAGm8hhTw">

         <body>References the Interface specifying the conformance contract.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBL68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBMK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wE68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wFK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38lBMa8aEdqf6aL57Hh6KQ" name="implementingClassifier" type="_iY7sMGvsEdqG6fBIPwe-mw" subsettedProperty="_38bQMa8aEdqf6aL57Hh6KQ" association="_38lBVa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38lBMq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38lBM68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__c2wFa8kEdqRKeAGm8hhTw" name="implementingClassifier" type="_iY7sMGvsEdqG6fBIPwe-mw" subsettedProperty="__ctmIK8kEdqRKeAGm8hhTw" association="__c2wOa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__c2wFq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wF68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38lBNK8aEdqf6aL57Hh6KQ" annotatedElement="_38lBMa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__c2wGK8kEdqRKeAGm8hhTw" annotatedElement="__c2wFa8kEdqRKeAGm8hhTw">

         <body>References the BehavioredClassifier that owns this Interfacerealization (i.e., the classifier that realizes the Interface to which it points).</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBNa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBNq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wGa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wGq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38lBRq8aEdqf6aL57Hh6KQ" name="A_interface_ownedAttribute" memberEnd="_38lBSa8aEdqf6aL57Hh6KQ _38lBFa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38lBR68aEdqf6aL57Hh6KQ" general="_34tNsK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38lBSK8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38lBSa8aEdqf6aL57Hh6KQ" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_34tNs68aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ" association="_38lBRq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBSq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBS68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wKq8kEdqRKeAGm8hhTw" name="A_interface_ownedAttribute" memberEnd="__c2wLa8kEdqRKeAGm8hhTw __ctmXq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wK68kEdqRKeAGm8hhTw" general="__ZR36q8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2wLK8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__c2wLa8kEdqRKeAGm8hhTw" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="__ZR37a8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw" association="__c2wKq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wLq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wL68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38lBTK8aEdqf6aL57Hh6KQ" name="A_interface_ownedOperation" memberEnd="_38lBQK8aEdqf6aL57Hh6KQ _38lBG68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38lBTa8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38lBTq8aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38lBT68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wMK8kEdqRKeAGm8hhTw" name="A_interface_ownedOperation" memberEnd="__ctmZK8kEdqRKeAGm8hhTw __c2wJK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wMa8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2wMq8kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2wM68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38lBUK8aEdqf6aL57Hh6KQ" name="A_contract_interfaceRealization" memberEnd="_38lBLa8aEdqf6aL57Hh6KQ _38lBUq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38lBUa8aEdqf6aL57Hh6KQ" general="_38bQYq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38lBUq8aEdqf6aL57Hh6KQ" type="_l2mXcHLzEdqziYxiZo0YtA" association="_38lBUK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBU68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBVK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wNK8kEdqRKeAGm8hhTw" name="A_contract_interfaceRealization" memberEnd="__c2wNq8kEdqRKeAGm8hhTw __c2wEa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wNa8kEdqRKeAGm8hhTw" general="__ctmUa8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__c2wNq8kEdqRKeAGm8hhTw" type="_l2mXcHLzEdqziYxiZo0YtA" association="__c2wNK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wN68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wOK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38lBVa8aEdqf6aL57Hh6KQ" name="A_interfaceRealization_implementingClassifier" memberEnd="_38lBOa8aEdqf6aL57Hh6KQ _38lBMa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38lBVq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38lBV68aEdqf6aL57Hh6KQ" general="_38bQaK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wOa8kEdqRKeAGm8hhTw" name="A_interfaceRealization_implementingClassifier" memberEnd="__c2wHa8kEdqRKeAGm8hhTw __c2wFa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wOq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2wO68kEdqRKeAGm8hhTw" general="__ctmV68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38lBWK8aEdqf6aL57Hh6KQ" name="A_nestedClassifier_interface" memberEnd="_38lBW68aEdqf6aL57Hh6KQ _38lBIa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38lBWa8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38lBWq8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38lBW68aEdqf6aL57Hh6KQ" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ _33g66a8aEdqf6aL57Hh6KQ" association="_38lBWK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBXK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBXa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wPK8kEdqRKeAGm8hhTw" name="A_nestedClassifier_interface" memberEnd="__c2wP68kEdqRKeAGm8hhTw __ctmaq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wPa8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2wPq8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__c2wP68kEdqRKeAGm8hhTw" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw __YYfya8kEdqRKeAGm8hhTw" association="__c2wPK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wQK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wQa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38lBXq8aEdqf6aL57Hh6KQ" name="A_interface_redefinedInterface" memberEnd="_38lBJ68aEdqf6aL57Hh6KQ _38lBYK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38lBX68aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38lBYK8aEdqf6aL57Hh6KQ" type="_8Ugn8GvtEdqG6fBIPwe-mw" association="_38lBXq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBYa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBYq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wQq8kEdqRKeAGm8hhTw" name="A_interface_redefinedInterface" memberEnd="__c2wRK8kEdqRKeAGm8hhTw __ctmcK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wQ68kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__c2wRK8kEdqRKeAGm8hhTw" type="_8Ugn8GvtEdqG6fBIPwe-mw" association="__c2wQq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wRa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wRq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_FQiVsGwYEdqHKKVoxc0dlA" name="StructuredClassifier" isAbstract="true">

-    <ownedComment xmi:id="_38uyOq8aEdqf6aL57Hh6KQ" annotatedElement="_FQiVsGwYEdqHKKVoxc0dlA">

+    <ownedComment xmi:id="__c2wcq8kEdqRKeAGm8hhTw" annotatedElement="_FQiVsGwYEdqHKKVoxc0dlA">

       <body>A structured classifier is an abstract metaclass that represents any classifier whose behavior can be fully or partly described by the collaboration of owned or referenced instances.</body>

     </ownedComment>

-    <ownedRule xmi:id="_38uyO68aEdqf6aL57Hh6KQ" name="multiplicities" constrainedElement="_FQiVsGwYEdqHKKVoxc0dlA">

-      <ownedComment xmi:id="_38uyPK8aEdqf6aL57Hh6KQ" annotatedElement="_38uyO68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__c2wc68kEdqRKeAGm8hhTw" name="multiplicities" constrainedElement="_FQiVsGwYEdqHKKVoxc0dlA">

+      <ownedComment xmi:id="__c2wdK8kEdqRKeAGm8hhTw" annotatedElement="__c2wc68kEdqRKeAGm8hhTw">

         <body>The multiplicities on connected elements must be consistent.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38uyPa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__c2wda8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38uyPq8aEdqf6aL57Hh6KQ" general="_6UV2QGwJEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_38uyP68aEdqf6aL57Hh6KQ" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_38uyS68aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ _326d8K8aEdqf6aL57Hh6KQ" association="_38uyZa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38uyQK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38uyQa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__c2wdq8kEdqRKeAGm8hhTw" general="_6UV2QGwJEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__c2wd68kEdqRKeAGm8hhTw" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__c2wg68kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw __Xyp6K8kEdqRKeAGm8hhTw" association="__c2wna8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__c2weK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wea8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38uyQq8aEdqf6aL57Hh6KQ" annotatedElement="_38uyP68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__c2weq8kEdqRKeAGm8hhTw" annotatedElement="__c2wd68kEdqRKeAGm8hhTw">

         <body>References the properties owned by the classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyQ68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyRK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2we68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wfK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38uyRa8aEdqf6aL57Hh6KQ" name="part" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_38uybK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38uyRq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38uyR68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__c2wfa8kEdqRKeAGm8hhTw" name="part" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="__c2wpK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__c2wfq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wf68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38uySK8aEdqf6aL57Hh6KQ" annotatedElement="_38uyRa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__c2wgK8kEdqRKeAGm8hhTw" annotatedElement="__c2wfa8kEdqRKeAGm8hhTw">

         <body>References the properties specifying instances that the classifier owns by composition. This association is derived, selecting those owned properties where isComposite is true.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uySa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uySq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wga8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wgq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38uyS68aEdqf6aL57Hh6KQ" name="role" type="_38uyV68aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33XKF68aEdqf6aL57Hh6KQ" association="_38uycK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38uyTK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38uyTa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__c2wg68kEdqRKeAGm8hhTw" name="role" type="__c2wj68kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YPV968kEdqRKeAGm8hhTw" association="__c2wqK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__c2whK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wha8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38uyTq8aEdqf6aL57Hh6KQ" annotatedElement="_38uyS68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__c2whq8kEdqRKeAGm8hhTw" annotatedElement="__c2wg68kEdqRKeAGm8hhTw">

         <body>References the roles that instances may play in this classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyT68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyUK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wh68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wiK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38uyUa8aEdqf6aL57Hh6KQ" name="ownedConnector" type="_38uyHq8aEdqf6aL57Hh6KQ" subsettedProperty="_326d9q8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_38uyda8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38uyUq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38uyU68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__c2wia8kEdqRKeAGm8hhTw" name="ownedConnector" type="__c2wVq8kEdqRKeAGm8hhTw" subsettedProperty="__Xyp7q8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__c2wra8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__c2wiq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wi68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38uyVK8aEdqf6aL57Hh6KQ" annotatedElement="_38uyUa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__c2wjK8kEdqRKeAGm8hhTw" annotatedElement="__c2wia8kEdqRKeAGm8hhTw">

         <body>References the connectors owned by the classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyVa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyVq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wja8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wjq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_YorvMHL0EdqziYxiZo0YtA" name="createOwnedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA">

       <returnResult xmi:id="_YorvMXL0EdqziYxiZo0YtA" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>

@@ -2912,74 +2912,74 @@
       <ownedParameter xmi:id="_YorvNXL0EdqziYxiZo0YtA" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uyYa8aEdqf6aL57Hh6KQ" name="A_type_connector" memberEnd="_38uyYq8aEdqf6aL57Hh6KQ _38uyKq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38uyYq8aEdqf6aL57Hh6KQ" type="_38uyHq8aEdqf6aL57Hh6KQ" association="_38uyYa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyY68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyZK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wma8kEdqRKeAGm8hhTw" name="A_type_connector" memberEnd="__c2wYq8kEdqRKeAGm8hhTw __c2wmq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__c2wmq8kEdqRKeAGm8hhTw" type="__c2wVq8kEdqRKeAGm8hhTw" association="__c2wma8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wm68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wnK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uyZa8aEdqf6aL57Hh6KQ" name="A_ownedAttribute_structuredClassifier" memberEnd="_38uyP68aEdqf6aL57Hh6KQ _38uyaa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38uyZq8aEdqf6aL57Hh6KQ" general="_38uycK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38uyZ68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38uyaK8aEdqf6aL57Hh6KQ" general="_34tNsK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38uyaa8aEdqf6aL57Hh6KQ" type="_FQiVsGwYEdqHKKVoxc0dlA" redefinedProperty="_38uycq8aEdqf6aL57Hh6KQ" association="_38uyZa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyaq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uya68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wna8kEdqRKeAGm8hhTw" name="A_ownedAttribute_structuredClassifier" memberEnd="__c2wd68kEdqRKeAGm8hhTw __c2woa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wnq8kEdqRKeAGm8hhTw" general="__c2wqK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2wn68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2woK8kEdqRKeAGm8hhTw" general="__ZR36q8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__c2woa8kEdqRKeAGm8hhTw" type="_FQiVsGwYEdqHKKVoxc0dlA" redefinedProperty="__c2wqq8kEdqRKeAGm8hhTw" association="__c2wna8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2woq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wo68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uybK8aEdqf6aL57Hh6KQ" name="A_part_structuredClassifier" memberEnd="_38uyRa8aEdqf6aL57Hh6KQ _38uyba8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38uyba8aEdqf6aL57Hh6KQ" type="_FQiVsGwYEdqHKKVoxc0dlA" association="_38uybK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uybq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyb68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wpK8kEdqRKeAGm8hhTw" name="A_part_structuredClassifier" memberEnd="__c2wfa8kEdqRKeAGm8hhTw __c2wpa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__c2wpa8kEdqRKeAGm8hhTw" type="_FQiVsGwYEdqHKKVoxc0dlA" association="__c2wpK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wpq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wp68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uycK8aEdqf6aL57Hh6KQ" name="A_role_structuredClassifier" memberEnd="_38uyS68aEdqf6aL57Hh6KQ _38uycq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38uyca8aEdqf6aL57Hh6KQ" general="_342X5q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38uycq8aEdqf6aL57Hh6KQ" type="_FQiVsGwYEdqHKKVoxc0dlA" association="_38uycK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyc68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uydK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wqK8kEdqRKeAGm8hhTw" name="A_role_structuredClassifier" memberEnd="__c2wg68kEdqRKeAGm8hhTw __c2wqq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wqa8kEdqRKeAGm8hhTw" general="__Zkyya8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__c2wqq8kEdqRKeAGm8hhTw" type="_FQiVsGwYEdqHKKVoxc0dlA" association="__c2wqK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wq68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wrK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uyda8aEdqf6aL57Hh6KQ" name="A_ownedConnector_structuredClassifier" memberEnd="_38uyUa8aEdqf6aL57Hh6KQ _38uyea8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38uydq8aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38uyd68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38uyeK8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38uyea8aEdqf6aL57Hh6KQ" type="_FQiVsGwYEdqHKKVoxc0dlA" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_38uyda8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyeq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uye68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__c2wra8kEdqRKeAGm8hhTw" name="A_ownedConnector_structuredClassifier" memberEnd="__c2wsa8kEdqRKeAGm8hhTw __c2wia8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__c2wrq8kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2wr68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__c2wsK8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__c2wsa8kEdqRKeAGm8hhTw" type="_FQiVsGwYEdqHKKVoxc0dlA" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__c2wra8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wsq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2ws68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uyfK8aEdqf6aL57Hh6KQ" name="A_redefinedConnector_connector" memberEnd="_38uyLq8aEdqf6aL57Hh6KQ _38uyfq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38uyfa8aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38uyfq8aEdqf6aL57Hh6KQ" type="_38uyHq8aEdqf6aL57Hh6KQ" association="_38uyfK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyf68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uygK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhEK8kEdqRKeAGm8hhTw" name="A_redefinedConnector_connector" memberEnd="__c2wZq8kEdqRKeAGm8hhTw __dAhEq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dAhEa8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dAhEq8kEdqRKeAGm8hhTw" type="__c2wVq8kEdqRKeAGm8hhTw" association="__dAhEK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhE68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhFK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uyga8aEdqf6aL57Hh6KQ" name="A_end_connector" memberEnd="_38uyMq8aEdqf6aL57Hh6KQ _38uyg68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38uygq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_38uyg68aEdqf6aL57Hh6KQ" type="_38uyHq8aEdqf6aL57Hh6KQ" association="_38uyga8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyhK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyha8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhFa8kEdqRKeAGm8hhTw" name="A_end_connector" memberEnd="__c2waq8kEdqRKeAGm8hhTw __dAhF68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dAhFq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dAhF68kEdqRKeAGm8hhTw" type="__c2wVq8kEdqRKeAGm8hhTw" association="__dAhFa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhGK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhGa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uyhq8aEdqf6aL57Hh6KQ" name="A_definingEnd_connectorEnd" memberEnd="_38uyFK8aEdqf6aL57Hh6KQ _38uyh68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_38uyh68aEdqf6aL57Hh6KQ" type="_aOgw0GveEdq4DLWZOhbdEA" association="_38uyhq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyiK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyia8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhGq8kEdqRKeAGm8hhTw" name="A_definingEnd_connectorEnd" memberEnd="__c2wTK8kEdqRKeAGm8hhTw __dAhG68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__dAhG68kEdqRKeAGm8hhTw" type="_aOgw0GveEdq4DLWZOhbdEA" association="__dAhGq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhHK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhHa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38uyiq8aEdqf6aL57Hh6KQ" name="A_end_role" memberEnd="_38uyWq8aEdqf6aL57Hh6KQ _38uyGq8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_34tNsK8aEdqf6aL57Hh6KQ" name="A_attribute_classifier" memberEnd="_326d8K8aEdqf6aL57Hh6KQ _34tNs68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_34tNsa8aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34tNsq8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_34tNs68aEdqf6aL57Hh6KQ" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_34tNsK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838AK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838Aa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhHq8kEdqRKeAGm8hhTw" name="A_end_role" memberEnd="__c2wUq8kEdqRKeAGm8hhTw __c2wkq8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ZR36q8kEdqRKeAGm8hhTw" name="A_attribute_classifier" memberEnd="__Xyp6K8kEdqRKeAGm8hhTw __ZR37a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ZR3668kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__ZR37K8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ZR37a8kEdqRKeAGm8hhTw" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__ZR36q8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhH68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhIK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38IVYK8aEdqf6aL57Hh6KQ" name="Variable">

-    <ownedComment xmi:id="_38IVYa8aEdqf6aL57Hh6KQ" annotatedElement="_38IVYK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__caEba8kEdqRKeAGm8hhTw" name="Variable">

+    <ownedComment xmi:id="__caEbq8kEdqRKeAGm8hhTw" annotatedElement="__caEba8kEdqRKeAGm8hhTw">

       <body>A variable specifies data storage shared by the actions within a group. There are actions to write and read variables. These actions are treated as side effecting actions, similar to the actions to write and read object attributes and associations. There are no sequencing constraints among actions that access the same variable. Such actions must be explicitly coordinated by control flows or other constraints.

 

 

@@ -2988,56 +2988,56 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_3838Aq8aEdqf6aL57Hh6KQ" annotatedElement="_38IVYK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__dAhIa8kEdqRKeAGm8hhTw" annotatedElement="__caEba8kEdqRKeAGm8hhTw">

       <body>A variable is considered a connectable element.</body>

     </ownedComment>

-    <ownedRule xmi:id="_38IVYq8aEdqf6aL57Hh6KQ" name="owned" constrainedElement="_38IVYK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38IVY68aEdqf6aL57Hh6KQ" annotatedElement="_38IVYq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__caEb68kEdqRKeAGm8hhTw" name="owned" constrainedElement="__caEba8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEcK8kEdqRKeAGm8hhTw" annotatedElement="__caEb68kEdqRKeAGm8hhTw">

         <body>A variable is owned by a StructuredNode or Activity, but not both.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38IVZK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__caEca8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38IVZq8aEdqf6aL57Hh6KQ" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

-    <generalization xmi:id="_3838A68aEdqf6aL57Hh6KQ" general="_38uyV68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38IVZ68aEdqf6aL57Hh6KQ" name="scope" type="_38IVea8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_38SGf68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38IVaK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVaa8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__caEc68kEdqRKeAGm8hhTw" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

+    <generalization xmi:id="__dAhIq8kEdqRKeAGm8hhTw" general="__c2wj68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__caEdK8kEdqRKeAGm8hhTw" name="scope" type="__caEhq8kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__cj1T68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__caEda8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEdq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVaq8aEdqf6aL57Hh6KQ" annotatedElement="_38IVZ68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEd68kEdqRKeAGm8hhTw" annotatedElement="__caEdK8kEdqRKeAGm8hhTw">

         <body>A structured activity node that owns the variable.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38IVa68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38IVbK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEeK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEea8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVba8aEdqf6aL57Hh6KQ" name="activityScope" type="_37_L168aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_38bQF68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38IVbq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVb68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__caEeq8kEdqRKeAGm8hhTw" name="activityScope" type="__caEKK8kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__cj1eK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__caEe68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEfK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVcK8aEdqf6aL57Hh6KQ" annotatedElement="_38IVba8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEfa8kEdqRKeAGm8hhTw" annotatedElement="__caEeq8kEdqRKeAGm8hhTw">

         <body>An activity that owns the variable.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38IVca8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38IVcq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEfq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEf68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_38IVc68aEdqf6aL57Hh6KQ" name="isAccessibleBy" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_38IVda8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38IVdK8aEdqf6aL57Hh6KQ" annotatedElement="_38IVc68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__caEgK8kEdqRKeAGm8hhTw" name="isAccessibleBy" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__caEgq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEga8kEdqRKeAGm8hhTw" annotatedElement="__caEgK8kEdqRKeAGm8hhTw">

         <body>The isAccessibleBy() operation is not defined in standard UML. Implementations should define it to specify which actions can access a variable.

 

 </body>

       </ownedComment>

-      <ownedRule xmi:id="_38IVda8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_38IVc68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_38IVdq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__caEgq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__caEgK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__caEg68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_38IVd68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_38IVeK8aEdqf6aL57Hh6KQ" name="a" type="_37_LkK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__caEhK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__caEha8kEdqRKeAGm8hhTw" name="a" type="__cQ6la8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838BK8aEdqf6aL57Hh6KQ" name="CollaborationUse">

-    <ownedComment xmi:id="_3838Ba8aEdqf6aL57Hh6KQ" annotatedElement="_3838BK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dAhI68kEdqRKeAGm8hhTw" name="CollaborationUse">

+    <ownedComment xmi:id="__dAhJK8kEdqRKeAGm8hhTw" annotatedElement="__dAhI68kEdqRKeAGm8hhTw">

       <body>A collaboration use represents one particular use of a collaboration to explain the relationships between the properties of a classifier. A collaboration use shows how the pattern described by a collaboration is applied in a given context, by binding specific entities from that context to the roles of the collaboration. Depending on the context, these entities could be structural features of a classifier, instance specifications, or even roles in some containing collaboration. There may be multiple occurrences of a given collaboration within a classifier, each involving a different set of roles and connectors. A given role or connector may be involved in multiple occurrences of the same or different collaborations.

 

 

@@ -3046,53 +3046,53 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3838Bq8aEdqf6aL57Hh6KQ" name="client_elements" constrainedElement="_3838BK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838B68aEdqf6aL57Hh6KQ" annotatedElement="_3838Bq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhJa8kEdqRKeAGm8hhTw" name="client_elements" constrainedElement="__dAhI68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhJq8kEdqRKeAGm8hhTw" annotatedElement="__dAhJa8kEdqRKeAGm8hhTw">

         <body>All the client elements of a roleBinding are in one classifier and all supplier elements of a roleBinding are in one collaboration and they are compatible.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838CK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhJ68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838Ca8aEdqf6aL57Hh6KQ" name="every_role" constrainedElement="_3838BK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838Cq8aEdqf6aL57Hh6KQ" annotatedElement="_3838Ca8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhKK8kEdqRKeAGm8hhTw" name="every_role" constrainedElement="__dAhI68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhKa8kEdqRKeAGm8hhTw" annotatedElement="__dAhKK8kEdqRKeAGm8hhTw">

         <body>Every role in the collaboration is bound within the collaboration use to a connectable element within the classifier or operation.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838C68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhKq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838DK8aEdqf6aL57Hh6KQ" name="connectors" constrainedElement="_3838BK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838Da8aEdqf6aL57Hh6KQ" annotatedElement="_3838DK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhK68kEdqRKeAGm8hhTw" name="connectors" constrainedElement="__dAhI68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhLK8kEdqRKeAGm8hhTw" annotatedElement="__dAhK68kEdqRKeAGm8hhTw">

         <body>The connectors in the classifier connect according to the connectors in the collaboration</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838Dq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhLa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3838D68aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_3838EK8aEdqf6aL57Hh6KQ" name="type" type="_3838Gq8aEdqf6aL57Hh6KQ" association="_3838Mq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838Ea8aEdqf6aL57Hh6KQ" annotatedElement="_3838EK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dAhLq8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dAhL68kEdqRKeAGm8hhTw" name="type" type="__dAhOa8kEdqRKeAGm8hhTw" association="__dAhUa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhMK8kEdqRKeAGm8hhTw" annotatedElement="__dAhL68kEdqRKeAGm8hhTw">

         <body>The collaboration which is used in this occurrence. The collaboration defines the cooperation between its roles which are mapped to properties of the classifier owning the collaboration use.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838Eq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838E68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhMa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhMq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3838FK8aEdqf6aL57Hh6KQ" name="roleBinding" type="_rEDGkGwKEdq7X4sGURiZYA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3838Nq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3838Fa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3838Fq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dAhM68kEdqRKeAGm8hhTw" name="roleBinding" type="_rEDGkGwKEdq7X4sGURiZYA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__dAhVa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dAhNK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dAhNa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3838F68aEdqf6aL57Hh6KQ" annotatedElement="_3838FK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dAhNq8kEdqRKeAGm8hhTw" annotatedElement="__dAhM68kEdqRKeAGm8hhTw">

         <body>A mapping between features of the collaboration type and features of the classifier or operation. This mapping indicates which connectable element of the classifier or operation plays which role(s) in the collaboration. A connectable element may be bound to multiple roles in the same collaboration use (that is, it may play multiple roles).

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838GK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838Ga8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhN68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhOK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838Gq8aEdqf6aL57Hh6KQ" name="Collaboration">

-    <ownedComment xmi:id="_3838G68aEdqf6aL57Hh6KQ" annotatedElement="_3838Gq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dAhOa8kEdqRKeAGm8hhTw" name="Collaboration">

+    <ownedComment xmi:id="__dAhOq8kEdqRKeAGm8hhTw" annotatedElement="__dAhOa8kEdqRKeAGm8hhTw">

       <body>A collaboration is represented as a kind of classifier and defines a set of cooperating entities to be played by instances (its roles), as well as a set of connectors that define communication paths between the participating instances. The cooperating entities are the properties of the collaboration.

 

 

@@ -3101,211 +3101,211 @@
 

 </body>

     </ownedComment>

-    <generalization xmi:id="_3838Ha8aEdqf6aL57Hh6KQ" general="_FQiVsGwYEdqHKKVoxc0dlA"/>

-    <generalization xmi:id="_3838Hq8aEdqf6aL57Hh6KQ" general="_iY7sMGvsEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_3838H68aEdqf6aL57Hh6KQ" name="collaborationRole" type="_38uyV68aEdqf6aL57Hh6KQ" subsettedProperty="_38uyS68aEdqf6aL57Hh6KQ" association="_3838Ra8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838IK8aEdqf6aL57Hh6KQ" annotatedElement="_3838H68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dAhPK8kEdqRKeAGm8hhTw" general="_FQiVsGwYEdqHKKVoxc0dlA"/>

+    <generalization xmi:id="__dAhPa8kEdqRKeAGm8hhTw" general="_iY7sMGvsEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dAhPq8kEdqRKeAGm8hhTw" name="collaborationRole" type="__c2wj68kEdqRKeAGm8hhTw" subsettedProperty="__c2wg68kEdqRKeAGm8hhTw" association="__dAhZK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhP68kEdqRKeAGm8hhTw" annotatedElement="__dAhPq8kEdqRKeAGm8hhTw">

         <body>References connectable elements (possibly owned by other classifiers) which represent roles that instances may play in this collaboration.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838Ia8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838Iq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhQK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhQa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3838Mq8aEdqf6aL57Hh6KQ" name="A_type_collaborationUse" memberEnd="_3838EK8aEdqf6aL57Hh6KQ _3838M68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3838M68aEdqf6aL57Hh6KQ" type="_3838BK8aEdqf6aL57Hh6KQ" association="_3838Mq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838NK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838Na8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhUa8kEdqRKeAGm8hhTw" name="A_type_collaborationUse" memberEnd="__dAhL68kEdqRKeAGm8hhTw __dAhUq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__dAhUq8kEdqRKeAGm8hhTw" type="__dAhI68kEdqRKeAGm8hhTw" association="__dAhUa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhU68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhVK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3838Nq8aEdqf6aL57Hh6KQ" name="A_roleBinding_collaborationUse" memberEnd="_3838FK8aEdqf6aL57Hh6KQ _3838OK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3838N68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3838OK8aEdqf6aL57Hh6KQ" type="_3838BK8aEdqf6aL57Hh6KQ" association="_3838Nq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838Oa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838Oq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhVa8kEdqRKeAGm8hhTw" name="A_roleBinding_collaborationUse" memberEnd="__dAhM68kEdqRKeAGm8hhTw __dAhV68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dAhVq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dAhV68kEdqRKeAGm8hhTw" type="__dAhI68kEdqRKeAGm8hhTw" association="__dAhVa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhWK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhWa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3838O68aEdqf6aL57Hh6KQ" name="A_classifier_representation" memberEnd="_3838Pa8aEdqf6aL57Hh6KQ _3838I68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3838PK8aEdqf6aL57Hh6KQ" general="_3838QK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3838Pa8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_3838Qq8aEdqf6aL57Hh6KQ" association="_3838O68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838Pq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838P68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhWq8kEdqRKeAGm8hhTw" name="A_classifier_representation" memberEnd="__dAhXK8kEdqRKeAGm8hhTw __dAhQq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dAhW68kEdqRKeAGm8hhTw" general="__dAhX68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dAhXK8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="__dAhYa8kEdqRKeAGm8hhTw" association="__dAhWq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhXa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhXq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3838QK8aEdqf6aL57Hh6KQ" name="A_collaborationUse_classifier" memberEnd="_3838J68aEdqf6aL57Hh6KQ _3838Qq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3838Qa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3838Qq8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" association="_3838QK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838Q68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838RK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhX68kEdqRKeAGm8hhTw" name="A_collaborationUse_classifier" memberEnd="__dAhRq8kEdqRKeAGm8hhTw __dAhYa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dAhYK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dAhYa8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" association="__dAhX68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhYq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhY68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3838Ra8aEdqf6aL57Hh6KQ" name="A_collaborationRole_collaboration" memberEnd="_3838H68aEdqf6aL57Hh6KQ _3838R68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3838Rq8aEdqf6aL57Hh6KQ" general="_38uycK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3838R68aEdqf6aL57Hh6KQ" type="_3838Gq8aEdqf6aL57Hh6KQ" redefinedProperty="_38uycq8aEdqf6aL57Hh6KQ" association="_3838Ra8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838SK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838Sa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dAhZK8kEdqRKeAGm8hhTw" name="A_collaborationRole_collaboration" memberEnd="__dAhPq8kEdqRKeAGm8hhTw __dAhZq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dAhZa8kEdqRKeAGm8hhTw" general="__c2wqK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dAhZq8kEdqRKeAGm8hhTw" type="__dAhOa8kEdqRKeAGm8hhTw" redefinedProperty="__c2wqq8kEdqRKeAGm8hhTw" association="__dAhZK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhZ68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhaK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838VK8aEdqf6aL57Hh6KQ" name="ControlNode" isAbstract="true">

-    <ownedComment xmi:id="_3838Va8aEdqf6aL57Hh6KQ" annotatedElement="_3838VK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dAhc68kEdqRKeAGm8hhTw" name="ControlNode" isAbstract="true">

+    <ownedComment xmi:id="__dAhdK8kEdqRKeAGm8hhTw" annotatedElement="__dAhc68kEdqRKeAGm8hhTw">

       <body>A control node is an activity node used to coordinate the flows between other nodes. It covers initial node, final node and its children, fork node, join node, decision node, and merge node.</body>

     </ownedComment>

-    <generalization xmi:id="_3838Vq8aEdqf6aL57Hh6KQ" general="_38IVSq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dAhda8kEdqRKeAGm8hhTw" general="__caEV68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838eK8aEdqf6aL57Hh6KQ" name="ControlFlow">

-    <ownedComment xmi:id="_3838ea8aEdqf6aL57Hh6KQ" annotatedElement="_3838eK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dAhl68kEdqRKeAGm8hhTw" name="ControlFlow">

+    <ownedComment xmi:id="__dAhmK8kEdqRKeAGm8hhTw" annotatedElement="__dAhl68kEdqRKeAGm8hhTw">

       <body>Objects and data cannot pass along a control flow edge.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3838eq8aEdqf6aL57Hh6KQ" name="object_nodes" constrainedElement="_3838eK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838e68aEdqf6aL57Hh6KQ" annotatedElement="_3838eq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhma8kEdqRKeAGm8hhTw" name="object_nodes" constrainedElement="__dAhl68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhmq8kEdqRKeAGm8hhTw" annotatedElement="__dAhma8kEdqRKeAGm8hhTw">

         <body>Control flows may not have object nodes at either end, except for object nodes with control type.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838fK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhm68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3838fa8aEdqf6aL57Hh6KQ" general="_3838V68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dAhnK8kEdqRKeAGm8hhTw" general="__dAhdq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838iq8aEdqf6aL57Hh6KQ" name="InitialNode">

-    <ownedComment xmi:id="_3838i68aEdqf6aL57Hh6KQ" annotatedElement="_3838iq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dJrAK8kEdqRKeAGm8hhTw" name="InitialNode">

+    <ownedComment xmi:id="__dJrAa8kEdqRKeAGm8hhTw" annotatedElement="__dJrAK8kEdqRKeAGm8hhTw">

       <body>An activity may have more than one initial node.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3838jK8aEdqf6aL57Hh6KQ" name="no_incoming_edges" constrainedElement="_3838iq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838ja8aEdqf6aL57Hh6KQ" annotatedElement="_3838jK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrAq8kEdqRKeAGm8hhTw" name="no_incoming_edges" constrainedElement="__dJrAK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrA68kEdqRKeAGm8hhTw" annotatedElement="__dJrAq8kEdqRKeAGm8hhTw">

         <body>An initial node has no incoming edges.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838jq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrBK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838j68aEdqf6aL57Hh6KQ" name="control_edges" constrainedElement="_3838iq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838kK8aEdqf6aL57Hh6KQ" annotatedElement="_3838j68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrBa8kEdqRKeAGm8hhTw" name="control_edges" constrainedElement="__dJrAK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrBq8kEdqRKeAGm8hhTw" annotatedElement="__dJrBa8kEdqRKeAGm8hhTw">

         <body>Only control edges can have initial nodes as source.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838ka8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrB68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3838kq8aEdqf6aL57Hh6KQ" general="_3838VK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dJrCK8kEdqRKeAGm8hhTw" general="__dAhc68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39BtAK8aEdqf6aL57Hh6KQ" name="ActivityParameterNode">

-    <ownedComment xmi:id="_39BtAa8aEdqf6aL57Hh6KQ" annotatedElement="_39BtAK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dJrG68kEdqRKeAGm8hhTw" name="ActivityParameterNode">

+    <ownedComment xmi:id="__dJrHK8kEdqRKeAGm8hhTw" annotatedElement="__dJrG68kEdqRKeAGm8hhTw">

       <body>Activity parameter nodes are object nodes at the beginning and end of flows that provide a means to accept inputs to an activity and provide outputs from the activity, through the activity parameters.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39BtAq8aEdqf6aL57Hh6KQ" name="has_parameters" constrainedElement="_39BtAK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtA68aEdqf6aL57Hh6KQ" annotatedElement="_39BtAq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrHa8kEdqRKeAGm8hhTw" name="has_parameters" constrainedElement="__dJrG68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrHq8kEdqRKeAGm8hhTw" annotatedElement="__dJrHa8kEdqRKeAGm8hhTw">

         <body>Activity parameter nodes must have parameters from the containing activity.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtBK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrH68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtBa8aEdqf6aL57Hh6KQ" name="same_type" constrainedElement="_39BtAK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtBq8aEdqf6aL57Hh6KQ" annotatedElement="_39BtBa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrIK8kEdqRKeAGm8hhTw" name="same_type" constrainedElement="__dJrG68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrIa8kEdqRKeAGm8hhTw" annotatedElement="__dJrIK8kEdqRKeAGm8hhTw">

         <body>The type of an activity parameter node is the same as the type of its parameter.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtB68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrIq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtCK8aEdqf6aL57Hh6KQ" name="no_edges" constrainedElement="_39BtAK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtCa8aEdqf6aL57Hh6KQ" annotatedElement="_39BtCK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrI68kEdqRKeAGm8hhTw" name="no_edges" constrainedElement="__dJrG68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrJK8kEdqRKeAGm8hhTw" annotatedElement="__dJrI68kEdqRKeAGm8hhTw">

         <body>An activity parameter node may have all incoming edges or all outgoing edges, but it must not have both incoming and outgoing edges.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtCq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrJa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtC68aEdqf6aL57Hh6KQ" name="no_incoming_edges" constrainedElement="_39BtAK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtDK8aEdqf6aL57Hh6KQ" annotatedElement="_39BtC68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrJq8kEdqRKeAGm8hhTw" name="no_incoming_edges" constrainedElement="__dJrG68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrJ68kEdqRKeAGm8hhTw" annotatedElement="__dJrJq8kEdqRKeAGm8hhTw">

         <body>Activity parameter object nodes with no incoming edges and one or more outgoing edges must have a parameter with in or inout direction.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtDa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrKK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtDq8aEdqf6aL57Hh6KQ" name="no_outgoing_edges" constrainedElement="_39BtAK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtD68aEdqf6aL57Hh6KQ" annotatedElement="_39BtDq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrKa8kEdqRKeAGm8hhTw" name="no_outgoing_edges" constrainedElement="__dJrG68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrKq8kEdqRKeAGm8hhTw" annotatedElement="__dJrKa8kEdqRKeAGm8hhTw">

         <body>Activity parameter object nodes with no outgoing edges and one or more incoming edges must have a parameter with out, inout, or return direction.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtEK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrK68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39BtEa8aEdqf6aL57Hh6KQ" general="_3838Sq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39BtEq8aEdqf6aL57Hh6KQ" name="parameter" type="_KyaPMGveEdq4DLWZOhbdEA" association="_39BtPK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtE68aEdqf6aL57Hh6KQ" annotatedElement="_39BtEq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dJrLK8kEdqRKeAGm8hhTw" general="__dAhaa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dJrLa8kEdqRKeAGm8hhTw" name="parameter" type="_KyaPMGveEdq4DLWZOhbdEA" association="__dJrV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrLq8kEdqRKeAGm8hhTw" annotatedElement="__dJrLa8kEdqRKeAGm8hhTw">

         <body>The parameter the object node will be accepting or providing values for.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtFK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtFa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrL68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrMK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39BtN68aEdqf6aL57Hh6KQ" name="A_activity_edge" memberEnd="_39BtMa8aEdqf6aL57Hh6KQ _3838YK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39BtOK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dJrUq8kEdqRKeAGm8hhTw" name="A_activity_edge" memberEnd="__dAhf68kEdqRKeAGm8hhTw __dJrTK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dJrU68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39BtOa8aEdqf6aL57Hh6KQ" name="A_outgoing_source" memberEnd="_3838Zq8aEdqf6aL57Hh6KQ _39BtGq8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39BtOq8aEdqf6aL57Hh6KQ" name="A_target_incoming" memberEnd="_3838aq8aEdqf6aL57Hh6KQ _39BtHq8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39BtPK8aEdqf6aL57Hh6KQ" name="A_parameter_activityParameterNode" memberEnd="_39BtEq8aEdqf6aL57Hh6KQ _39BtPa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39BtPa8aEdqf6aL57Hh6KQ" type="_39BtAK8aEdqf6aL57Hh6KQ" association="_39BtPK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dJrVK8kEdqRKeAGm8hhTw" name="A_outgoing_source" memberEnd="__dJrNa8kEdqRKeAGm8hhTw __dAhha8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dJrVa8kEdqRKeAGm8hhTw" name="A_target_incoming" memberEnd="__dJrOa8kEdqRKeAGm8hhTw __dAhia8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dJrV68kEdqRKeAGm8hhTw" name="A_parameter_activityParameterNode" memberEnd="__dJrWK8kEdqRKeAGm8hhTw __dJrLa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__dJrWK8kEdqRKeAGm8hhTw" type="__dJrG68kEdqRKeAGm8hhTw" association="__dJrV68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39BtPq8aEdqf6aL57Hh6KQ" name="A_redefinedNode_activityNode" memberEnd="_39BtIq8aEdqf6aL57Hh6KQ _39BtQK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39BtP68aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39BtQK8aEdqf6aL57Hh6KQ" type="_38IVSq8aEdqf6aL57Hh6KQ" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_39BtPq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtQa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtQq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dJrWa8kEdqRKeAGm8hhTw" name="A_redefinedNode_activityNode" memberEnd="__dJrPa8kEdqRKeAGm8hhTw __dJrW68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dJrWq8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dJrW68kEdqRKeAGm8hhTw" type="__caEV68kEdqRKeAGm8hhTw" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__dJrWa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrXK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrXa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39BtQ68aEdqf6aL57Hh6KQ" name="A_redefinedEdge_activityEdge" memberEnd="_39BtRa8aEdqf6aL57Hh6KQ _3838dK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39BtRK8aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39BtRa8aEdqf6aL57Hh6KQ" type="_3838V68aEdqf6aL57Hh6KQ" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_39BtQ68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtRq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtR68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dJrXq8kEdqRKeAGm8hhTw" name="A_redefinedEdge_activityEdge" memberEnd="__dAhk68kEdqRKeAGm8hhTw __dJrYK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dJrX68kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dJrYK8kEdqRKeAGm8hhTw" type="__dAhdq8kEdqRKeAGm8hhTw" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__dJrXq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrYa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrYq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_gfgNwGveEdq4DLWZOhbdEA" name="Message">

-    <ownedComment xmi:id="_39Btl68aEdqf6aL57Hh6KQ" annotatedElement="_gfgNwGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__dTcM68kEdqRKeAGm8hhTw" annotatedElement="_gfgNwGveEdq4DLWZOhbdEA">

       <body>A Message is a NamedElement that defines a particular communication between Lifelines of an Interaction. A communication can be e.g. raising a signal, invoking an Operation, creating or destroying an Instance. The Message specifies not only the kind of communication given by the dispatching ExecutionSpecification, but also the sender and the receiver. A Message associates normally two OccurrenceSpecifications - one sending OccurrenceSpecification and one receiving OccurrenceSpecification.

 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_39BtmK8aEdqf6aL57Hh6KQ" name="sending_receiving_message_event" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_39Btma8aEdqf6aL57Hh6KQ" annotatedElement="_39BtmK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcNK8kEdqRKeAGm8hhTw" name="sending_receiving_message_event" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dTcNa8kEdqRKeAGm8hhTw" annotatedElement="__dTcNK8kEdqRKeAGm8hhTw">

         <body>If the sending MessageEvent and the receiving MessageEvent of the same Message are on the same Lifeline, the sending MessageEvent must be ordered before the receiving MessageEvent.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39Btmq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcNq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39Btm68aEdqf6aL57Hh6KQ" name="signature_refer_to" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_39BtnK8aEdqf6aL57Hh6KQ" annotatedElement="_39Btm68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcN68kEdqRKeAGm8hhTw" name="signature_refer_to" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dTcOK8kEdqRKeAGm8hhTw" annotatedElement="__dTcN68kEdqRKeAGm8hhTw">

         <body>The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall) or a Signal (in which case messageSort is asynchSignal). The name of the NamedElement referenced by signature must be the same as that of the Message.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39Btna8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcOa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39Btnq8aEdqf6aL57Hh6KQ" name="signature_is_operation" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_39Btn68aEdqf6aL57Hh6KQ" annotatedElement="_39Btnq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcOq8kEdqRKeAGm8hhTw" name="signature_is_operation" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dTcO68kEdqRKeAGm8hhTw" annotatedElement="__dTcOq8kEdqRKeAGm8hhTw">

         <body>In the case when the Message signature is an Operation, the arguments of the Message must correspond to the parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtoK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcPK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39Btoa8aEdqf6aL57Hh6KQ" name="signature_is_signal" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_39Btoq8aEdqf6aL57Hh6KQ" annotatedElement="_39Btoa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcPa8kEdqRKeAGm8hhTw" name="signature_is_signal" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dTcPq8kEdqRKeAGm8hhTw" annotatedElement="__dTcPa8kEdqRKeAGm8hhTw">

         <body>In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Arguement is of the same Class or a specialization of that of the Attribute.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39Bto68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcP68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtpK8aEdqf6aL57Hh6KQ" name="arguments" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_39Btpa8aEdqf6aL57Hh6KQ" annotatedElement="_39BtpK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcQK8kEdqRKeAGm8hhTw" name="arguments" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dTcQa8kEdqRKeAGm8hhTw" annotatedElement="__dTcQK8kEdqRKeAGm8hhTw">

         <body>Arguments of a Message must only be:

 i) attributes of the sending lifeline

 ii) constants

@@ -3314,92 +3314,92 @@
 v) attributes of the class owning the Interaction

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39Btpq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcQq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39Btp68aEdqf6aL57Hh6KQ" name="cannot_cross_boundaries" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_39BtqK8aEdqf6aL57Hh6KQ" annotatedElement="_39Btp68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcQ68kEdqRKeAGm8hhTw" name="cannot_cross_boundaries" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dTcRK8kEdqRKeAGm8hhTw" annotatedElement="__dTcQ68kEdqRKeAGm8hhTw">

         <body>Messages cannot cross bounderies of CombinedFragments or their operands.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39Btqa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcRa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39Btqq8aEdqf6aL57Hh6KQ" name="occurrence_specifications" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_39Btq68aEdqf6aL57Hh6KQ" annotatedElement="_39Btqq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcRq8kEdqRKeAGm8hhTw" name="occurrence_specifications" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dTcR68kEdqRKeAGm8hhTw" annotatedElement="__dTcRq8kEdqRKeAGm8hhTw">

         <body>If the MessageEnds are both OccurrenceSpecifications then the connector must go between the Parts represented by the Lifelines of the two MessageEnds.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtrK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcSK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39Btra8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39Btrq8aEdqf6aL57Hh6KQ" name="messageKind" type="_Y_jskGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

-      <eAnnotations xmi:id="_39Btr68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_39BtsK8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__dTcSa8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dTcSq8kEdqRKeAGm8hhTw" name="messageKind" type="_Y_jskGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

+      <eAnnotations xmi:id="__dTcS68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__dTcTK8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39Btsa8aEdqf6aL57Hh6KQ" annotatedElement="_39Btrq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcTa8kEdqRKeAGm8hhTw" annotatedElement="__dTcSq8kEdqRKeAGm8hhTw">

         <body>The derived kind of the Message (complete, lost, found or unknown)</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_39Btsq8aEdqf6aL57Hh6KQ" type="_Y_jskGvtEdqG6fBIPwe-mw" instance="_39UoOK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__dTcTq8kEdqRKeAGm8hhTw" type="_Y_jskGvtEdqG6fBIPwe-mw" instance="__ddNIK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39Bts68aEdqf6aL57Hh6KQ" name="messageSort" type="_39UoOq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BttK8aEdqf6aL57Hh6KQ" annotatedElement="_39Bts68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcT68kEdqRKeAGm8hhTw" name="messageSort" type="__ddNIq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcUK8kEdqRKeAGm8hhTw" annotatedElement="__dTcT68kEdqRKeAGm8hhTw">

         <body>The sort of communication reflected by the Message</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_39Btta8aEdqf6aL57Hh6KQ" type="_39UoOq8aEdqf6aL57Hh6KQ" instance="_39UoPK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__dTcUa8kEdqRKeAGm8hhTw" type="__ddNIq8kEdqRKeAGm8hhTw" instance="__ddNJK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39Bttq8aEdqf6aL57Hh6KQ" name="receiveEvent" type="_39LeSK8aEdqf6aL57Hh6KQ" association="_39UoW68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39Btt68aEdqf6aL57Hh6KQ" annotatedElement="_39Bttq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcUq8kEdqRKeAGm8hhTw" name="receiveEvent" type="__dTcnK8kEdqRKeAGm8hhTw" association="__ddNQ68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcU68kEdqRKeAGm8hhTw" annotatedElement="__dTcUq8kEdqRKeAGm8hhTw">

         <body>References the Receiving of the Message</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeAK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeAa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcVK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcVa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeAq8aEdqf6aL57Hh6KQ" name="sendEvent" type="_39LeSK8aEdqf6aL57Hh6KQ" association="_39UoX68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeA68aEdqf6aL57Hh6KQ" annotatedElement="_39LeAq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcVq8kEdqRKeAGm8hhTw" name="sendEvent" type="__dTcnK8kEdqRKeAGm8hhTw" association="__ddNR68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcV68kEdqRKeAGm8hhTw" annotatedElement="__dTcVq8kEdqRKeAGm8hhTw">

         <body>References the Sending of the Message.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeBK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeBa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcWK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcWa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeBq8aEdqf6aL57Hh6KQ" name="connector" type="_38uyHq8aEdqf6aL57Hh6KQ" association="_39Uoba8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeB68aEdqf6aL57Hh6KQ" annotatedElement="_39LeBq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcWq8kEdqRKeAGm8hhTw" name="connector" type="__c2wVq8kEdqRKeAGm8hhTw" association="__ddNVa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcW68kEdqRKeAGm8hhTw" annotatedElement="__dTcWq8kEdqRKeAGm8hhTw">

         <body>The Connector on which this Message is sent.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeCK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeCa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcXK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcXa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeCq8aEdqf6aL57Hh6KQ" name="interaction" type="_39BtSK8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_39Uoca8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_39LeC68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39LeDK8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__dTcXq8kEdqRKeAGm8hhTw" name="interaction" type="__dJrY68kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__ddNWa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dTcX68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dTcYK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39LeDa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeCq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcYa8kEdqRKeAGm8hhTw" annotatedElement="__dTcXq8kEdqRKeAGm8hhTw">

         <body>The enclosing Interaction owning the Message</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeDq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeD68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcYq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcY68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeEK8aEdqf6aL57Hh6KQ" name="argument" type="_33qE0K8aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39Uoda8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39LeEa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39LeEq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dTcZK8kEdqRKeAGm8hhTw" name="argument" type="__YYf9a8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ddNXa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dTcZa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dTcZq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39LeE68aEdqf6aL57Hh6KQ" annotatedElement="_39LeEK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcZ68kEdqRKeAGm8hhTw" annotatedElement="__dTcZK8kEdqRKeAGm8hhTw">

         <body>The arguments of the Message</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeFK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeFa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcaK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcaa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeFq8aEdqf6aL57Hh6KQ" name="signature" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_39eY8K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_39LeF68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39LeGK8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__dTcaq8kEdqRKeAGm8hhTw" name="signature" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="__ddNd68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dTca68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dTcbK8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39LeGa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeFq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcba8kEdqRKeAGm8hhTw" annotatedElement="__dTcaq8kEdqRKeAGm8hhTw">

         <body>The definition of the type or signature of the Message (depending on its kind). The associated named element is derived from the message end that constitutes the sending or receiving message event. If both a sending event and a receiving message event are present, the signature is obtained from the sending event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeGq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeG68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcbq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcb68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_8U6CAFYfEdqB6vblk3tuMA" name="getMessageKind" type="_Y_jskGvtEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_-_OTMFYfEdqB6vblk3tuMA" type="_Y_jskGvtEdqG6fBIPwe-mw" direction="return"/>

@@ -3411,56 +3411,56 @@
       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39LeHK8aEdqf6aL57Hh6KQ" name="GeneralOrdering">

-    <ownedComment xmi:id="_39LeHa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeHK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTccK8kEdqRKeAGm8hhTw" name="GeneralOrdering">

+    <ownedComment xmi:id="__dTcca8kEdqRKeAGm8hhTw" annotatedElement="__dTccK8kEdqRKeAGm8hhTw">

       <body>A GeneralOrdering represents a binary relation between two OccurrenceSpecifications, to describe that one OccurrenceSpecification must occur before the other in a valid trace. This mechanism provides the ability to define partial orders of OccurrenceSpecifications that may otherwise not have a specified order. A GeneralOrdering is a specialization of NamedElement.</body>

     </ownedComment>

-    <generalization xmi:id="_39LeHq8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39LeH68aEdqf6aL57Hh6KQ" name="before" type="_39LeNa8aEdqf6aL57Hh6KQ" association="_39Uoc68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeIK8aEdqf6aL57Hh6KQ" annotatedElement="_39LeH68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTccq8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dTcc68kEdqRKeAGm8hhTw" name="before" type="__dTcia8kEdqRKeAGm8hhTw" association="__ddNW68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcdK8kEdqRKeAGm8hhTw" annotatedElement="__dTcc68kEdqRKeAGm8hhTw">

         <body>The OccurrenceSpecification referenced comes before the OccurrenceSpecification referenced by after.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeIa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeIq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcda8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcdq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeI68aEdqf6aL57Hh6KQ" name="after" type="_39LeNa8aEdqf6aL57Hh6KQ" association="_39UodK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeJK8aEdqf6aL57Hh6KQ" annotatedElement="_39LeI68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcd68kEdqRKeAGm8hhTw" name="after" type="__dTcia8kEdqRKeAGm8hhTw" association="__ddNXK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTceK8kEdqRKeAGm8hhTw" annotatedElement="__dTcd68kEdqRKeAGm8hhTw">

         <body>The OccurrenceSpecification referenced comes after the OccurrenceSpecification referenced by before.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeJa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeJq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcea8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTceq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39LeJ68aEdqf6aL57Hh6KQ" name="ExecutionSpecification" isAbstract="true">

-    <ownedComment xmi:id="_39LeKK8aEdqf6aL57Hh6KQ" annotatedElement="_39LeJ68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTce68kEdqRKeAGm8hhTw" name="ExecutionSpecification" isAbstract="true">

+    <ownedComment xmi:id="__dTcfK8kEdqRKeAGm8hhTw" annotatedElement="__dTce68kEdqRKeAGm8hhTw">

       <body>An ExecutionSpecification is a specification of the execution of a unit of behavior or action within the Lifeline. The duration of an ExecutionSpecification is represented by two ExecutionOccurrenceSpecifications, the start ExecutionOccurrenceSpecification and the finish ExecutionOccurrenceSpecification.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39LeKa8aEdqf6aL57Hh6KQ" name="same_lifeline" constrainedElement="_39LeJ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeKq8aEdqf6aL57Hh6KQ" annotatedElement="_39LeKa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcfa8kEdqRKeAGm8hhTw" name="same_lifeline" constrainedElement="__dTce68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcfq8kEdqRKeAGm8hhTw" annotatedElement="__dTcfa8kEdqRKeAGm8hhTw">

         <body>The startEvent and the finishEvent must be on the same Lifeline</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39LeK68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcf68kEdqRKeAGm8hhTw" language="OCL">

         <body>start.lifeline = finish.lifeline</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39LeLK8aEdqf6aL57Hh6KQ" general="_39BthK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39LeLa8aEdqf6aL57Hh6KQ" name="start" type="_39LeNa8aEdqf6aL57Hh6KQ" association="_39UoSq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeLq8aEdqf6aL57Hh6KQ" annotatedElement="_39LeLa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTcgK8kEdqRKeAGm8hhTw" general="__dTcIK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dTcga8kEdqRKeAGm8hhTw" name="start" type="__dTcia8kEdqRKeAGm8hhTw" association="__ddNMq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcgq8kEdqRKeAGm8hhTw" annotatedElement="__dTcga8kEdqRKeAGm8hhTw">

         <body>References the OccurrenceSpecification that designates the start of the Action or Behavior</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeL68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeMK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcg68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTchK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeMa8aEdqf6aL57Hh6KQ" name="finish" type="_39LeNa8aEdqf6aL57Hh6KQ" association="_39UoT68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeMq8aEdqf6aL57Hh6KQ" annotatedElement="_39LeMa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcha8kEdqRKeAGm8hhTw" name="finish" type="__dTcia8kEdqRKeAGm8hhTw" association="__ddNN68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTchq8kEdqRKeAGm8hhTw" annotatedElement="__dTcha8kEdqRKeAGm8hhTw">

         <body>References the OccurrenceSpecification that designates the finish of the Action or Behavior.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeM68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeNK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTch68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTciK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39LeNa8aEdqf6aL57Hh6KQ" name="OccurrenceSpecification">

-    <ownedComment xmi:id="_39LeNq8aEdqf6aL57Hh6KQ" annotatedElement="_39LeNa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcia8kEdqRKeAGm8hhTw" name="OccurrenceSpecification">

+    <ownedComment xmi:id="__dTciq8kEdqRKeAGm8hhTw" annotatedElement="__dTcia8kEdqRKeAGm8hhTw">

       <body>An OccurrenceSpecification is the basic semantic unit of Interactions. The sequences of occurrences specified by them are the meanings of Interactions.

 

 OccurrenceSpecifications are ordered along a Lifeline.

@@ -3469,225 +3469,225 @@
 

 </body>

     </ownedComment>

-    <generalization xmi:id="_39LeN68aEdqf6aL57Hh6KQ" general="_39BthK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39LeOK8aEdqf6aL57Hh6KQ" name="covered" type="_39BtZK8aEdqf6aL57Hh6KQ" redefinedProperty="_39Bth68aEdqf6aL57Hh6KQ" association="_39UoY68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeOa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeOK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTci68kEdqRKeAGm8hhTw" general="__dTcIK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dTcjK8kEdqRKeAGm8hhTw" name="covered" type="__dTcAK8kEdqRKeAGm8hhTw" redefinedProperty="__dTcI68kEdqRKeAGm8hhTw" association="__ddNS68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcja8kEdqRKeAGm8hhTw" annotatedElement="__dTcjK8kEdqRKeAGm8hhTw">

         <body>References the Lifeline on which the OccurrenceSpecification appears.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeOq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeO68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcjq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcj68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LePK8aEdqf6aL57Hh6KQ" name="toAfter" type="_39LeHK8aEdqf6aL57Hh6KQ" association="_39Uoc68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LePa8aEdqf6aL57Hh6KQ" annotatedElement="_39LePK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTckK8kEdqRKeAGm8hhTw" name="toAfter" type="__dTccK8kEdqRKeAGm8hhTw" association="__ddNW68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcka8kEdqRKeAGm8hhTw" annotatedElement="__dTckK8kEdqRKeAGm8hhTw">

         <body>References the GeneralOrderings that specify EventOcurrences that must occur after this OccurrenceSpecification

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LePq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeP68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTckq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTck68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeQK8aEdqf6aL57Hh6KQ" name="toBefore" type="_39LeHK8aEdqf6aL57Hh6KQ" association="_39UodK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeQa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeQK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTclK8kEdqRKeAGm8hhTw" name="toBefore" type="__dTccK8kEdqRKeAGm8hhTw" association="__ddNXK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcla8kEdqRKeAGm8hhTw" annotatedElement="__dTclK8kEdqRKeAGm8hhTw">

         <body>References the GeneralOrderings that specify EventOcurrences that must occur before this OccurrenceSpecification

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeQq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeQ68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTclq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcl68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeRK8aEdqf6aL57Hh6KQ" name="event" type="_39njWq8aEdqf6aL57Hh6KQ" association="_39eY_q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeRa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeRK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcmK8kEdqRKeAGm8hhTw" name="event" type="__d54-a8kEdqRKeAGm8hhTw" association="__ddNha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcma8kEdqRKeAGm8hhTw" annotatedElement="__dTcmK8kEdqRKeAGm8hhTw">

         <body>References a specification of the occurring event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeRq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeR68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcmq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcm68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39LeSK8aEdqf6aL57Hh6KQ" name="MessageEnd" isAbstract="true">

-    <ownedComment xmi:id="_39LeSa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeSK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcnK8kEdqRKeAGm8hhTw" name="MessageEnd" isAbstract="true">

+    <ownedComment xmi:id="__dTcna8kEdqRKeAGm8hhTw" annotatedElement="__dTcnK8kEdqRKeAGm8hhTw">

       <body>A MessageEnd is an abstract NamedElement that represents what can occur at the end of a Message.</body>

     </ownedComment>

-    <generalization xmi:id="_39LeSq8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39LeS68aEdqf6aL57Hh6KQ" name="message" type="_gfgNwGveEdq4DLWZOhbdEA" association="_39eY-q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeTK8aEdqf6aL57Hh6KQ" annotatedElement="_39LeS68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTcnq8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dTcn68kEdqRKeAGm8hhTw" name="message" type="_gfgNwGveEdq4DLWZOhbdEA" association="__ddNga8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcoK8kEdqRKeAGm8hhTw" annotatedElement="__dTcn68kEdqRKeAGm8hhTw">

         <body>References a Message.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeTa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeTq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcoa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcoq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39LeT68aEdqf6aL57Hh6KQ" name="StateInvariant">

-    <ownedComment xmi:id="_39LeUK8aEdqf6aL57Hh6KQ" annotatedElement="_39LeT68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTco68kEdqRKeAGm8hhTw" name="StateInvariant">

+    <ownedComment xmi:id="__dTcpK8kEdqRKeAGm8hhTw" annotatedElement="__dTco68kEdqRKeAGm8hhTw">

       <body>A StateInvariant is a runtime constraint on the participants of the interaction. It may be used to specify a variety of different kinds of constraints, such as values of attributes or variables, internal or external states, and so on. A StateInvariant is an InteractionFragment and it is placed on a Lifeline.</body>

     </ownedComment>

-    <generalization xmi:id="_39LeUa8aEdqf6aL57Hh6KQ" general="_39BthK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39LeUq8aEdqf6aL57Hh6KQ" name="invariant" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39Uoeq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39LeU68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39LeVK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dTcpa8kEdqRKeAGm8hhTw" general="__dTcIK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dTcpq8kEdqRKeAGm8hhTw" name="invariant" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ddNYq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dTcp68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dTcqK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39LeVa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeUq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcqa8kEdqRKeAGm8hhTw" annotatedElement="__dTcpq8kEdqRKeAGm8hhTw">

         <body>A Constraint that should hold at runtime for this StateInvariant</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeVq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeV68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcqq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcq68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39LeWK8aEdqf6aL57Hh6KQ" name="covered" type="_39BtZK8aEdqf6aL57Hh6KQ" redefinedProperty="_39Bth68aEdqf6aL57Hh6KQ" association="_39Uofa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeWa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeWK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcrK8kEdqRKeAGm8hhTw" name="covered" type="__dTcAK8kEdqRKeAGm8hhTw" redefinedProperty="__dTcI68kEdqRKeAGm8hhTw" association="__ddNZa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcra8kEdqRKeAGm8hhTw" annotatedElement="__dTcrK8kEdqRKeAGm8hhTw">

         <body>References the Lifeline on which the StateInvariant appears.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeWq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeW68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcrq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcr68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39LeXK8aEdqf6aL57Hh6KQ" name="ActionExecutionSpecification">

-    <ownedComment xmi:id="_39LeXa8aEdqf6aL57Hh6KQ" annotatedElement="_39LeXK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcsK8kEdqRKeAGm8hhTw" name="ActionExecutionSpecification">

+    <ownedComment xmi:id="__dTcsa8kEdqRKeAGm8hhTw" annotatedElement="__dTcsK8kEdqRKeAGm8hhTw">

       <body>ActionExecutionSpecification is a kind of ExecutionSpecification representing the execution of an action.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39LeXq8aEdqf6aL57Hh6KQ" name="action_referenced" constrainedElement="_39LeXK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeX68aEdqf6aL57Hh6KQ" annotatedElement="_39LeXq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcsq8kEdqRKeAGm8hhTw" name="action_referenced" constrainedElement="__dTcsK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcs68kEdqRKeAGm8hhTw" annotatedElement="__dTcsq8kEdqRKeAGm8hhTw">

         <body>The Action referenced by the ActionExecutionSpecification, if any, must be owned by the Interaction owning the ActionExecutionOccurrence.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39LeYK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTctK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39LeYa8aEdqf6aL57Hh6KQ" general="_39LeJ68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39LeYq8aEdqf6aL57Hh6KQ" name="action" type="_37_LkK8aEdqf6aL57Hh6KQ" association="_39Uoi68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39LeY68aEdqf6aL57Hh6KQ" annotatedElement="_39LeYq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTcta8kEdqRKeAGm8hhTw" general="__dTce68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dTctq8kEdqRKeAGm8hhTw" name="action" type="__cQ6la8kEdqRKeAGm8hhTw" association="__ddNc68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTct68kEdqRKeAGm8hhTw" annotatedElement="__dTctq8kEdqRKeAGm8hhTw">

         <body>Action whose execution is occurring.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39LeZK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39LeZa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcuK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcua8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39Un8K8aEdqf6aL57Hh6KQ" name="BehaviorExecutionSpecification">

-    <ownedComment xmi:id="_39Un8a8aEdqf6aL57Hh6KQ" annotatedElement="_39Un8K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcuq8kEdqRKeAGm8hhTw" name="BehaviorExecutionSpecification">

+    <ownedComment xmi:id="__dTcu68kEdqRKeAGm8hhTw" annotatedElement="__dTcuq8kEdqRKeAGm8hhTw">

       <body>BehaviorExecutionSpecification is a kind of ExecutionSpecification representing the execution of a behavior.</body>

     </ownedComment>

-    <generalization xmi:id="_39Un8q8aEdqf6aL57Hh6KQ" general="_39LeJ68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39Un868aEdqf6aL57Hh6KQ" name="behavior" type="_TUPtYGveEdq4DLWZOhbdEA" association="_39Uoia8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39Un9K8aEdqf6aL57Hh6KQ" annotatedElement="_39Un868aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTcvK8kEdqRKeAGm8hhTw" general="__dTce68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dTcva8kEdqRKeAGm8hhTw" name="behavior" type="_TUPtYGveEdq4DLWZOhbdEA" association="__ddNca8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcvq8kEdqRKeAGm8hhTw" annotatedElement="__dTcva8kEdqRKeAGm8hhTw">

         <body>Behavior whose execution is occurring.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Un9a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Un9q8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcv68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcwK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39Un968aEdqf6aL57Hh6KQ" name="ExecutionEvent">

-    <ownedComment xmi:id="_39Un-K8aEdqf6aL57Hh6KQ" annotatedElement="_39Un968aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcwa8kEdqRKeAGm8hhTw" name="ExecutionEvent">

+    <ownedComment xmi:id="__dTcwq8kEdqRKeAGm8hhTw" annotatedElement="__dTcwa8kEdqRKeAGm8hhTw">

       <body>An ExecutionEvent models the start or finish of an execution occurrence.</body>

     </ownedComment>

-    <generalization xmi:id="_39Un-a8aEdqf6aL57Hh6KQ" general="_39njWq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dTcw68kEdqRKeAGm8hhTw" general="__d54-a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39Un-q8aEdqf6aL57Hh6KQ" name="CreationEvent">

-    <ownedComment xmi:id="_39Un-68aEdqf6aL57Hh6KQ" annotatedElement="_39Un-q8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcxK8kEdqRKeAGm8hhTw" name="CreationEvent">

+    <ownedComment xmi:id="__dTcxa8kEdqRKeAGm8hhTw" annotatedElement="__dTcxK8kEdqRKeAGm8hhTw">

       <body>A CreationEvent models the creation of an object.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39Un_K8aEdqf6aL57Hh6KQ" name="no_occurrence_above" constrainedElement="_39Un-q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39Un_a8aEdqf6aL57Hh6KQ" annotatedElement="_39Un_K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcxq8kEdqRKeAGm8hhTw" name="no_occurrence_above" constrainedElement="__dTcxK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcx68kEdqRKeAGm8hhTw" annotatedElement="__dTcxq8kEdqRKeAGm8hhTw">

         <body>No othet OccurrenceSpecification may appear above an OccurrenceSpecification which references a CreationEvent on a given Lifeline in an InteractionOperand.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39Un_q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcyK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39Un_68aEdqf6aL57Hh6KQ" general="_39njWq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dTcya8kEdqRKeAGm8hhTw" general="__d54-a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39UoAK8aEdqf6aL57Hh6KQ" name="DestructionEvent">

-    <ownedComment xmi:id="_39UoAa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoAK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcyq8kEdqRKeAGm8hhTw" name="DestructionEvent">

+    <ownedComment xmi:id="__dTcy68kEdqRKeAGm8hhTw" annotatedElement="__dTcyq8kEdqRKeAGm8hhTw">

       <body>A DestructionEvent models the destruction of an object.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39UoAq8aEdqf6aL57Hh6KQ" name="no_occurrence_specifications_below" constrainedElement="_39UoAK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39UoA68aEdqf6aL57Hh6KQ" annotatedElement="_39UoAq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTczK8kEdqRKeAGm8hhTw" name="no_occurrence_specifications_below" constrainedElement="__dTcyq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcza8kEdqRKeAGm8hhTw" annotatedElement="__dTczK8kEdqRKeAGm8hhTw">

         <body>No other OccurrenceSpecifications may appear below an OccurrenceSpecification which references a DestructionEvent on a given Lifeline in an InteractionOperand.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39UoBK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTczq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39UoBa8aEdqf6aL57Hh6KQ" general="_39njWq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dTcz68kEdqRKeAGm8hhTw" general="__d54-a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39UoBq8aEdqf6aL57Hh6KQ" name="SendOperationEvent">

-    <ownedComment xmi:id="_39UoB68aEdqf6aL57Hh6KQ" annotatedElement="_39UoBq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTc0K8kEdqRKeAGm8hhTw" name="SendOperationEvent">

+    <ownedComment xmi:id="__dTc0a8kEdqRKeAGm8hhTw" annotatedElement="__dTc0K8kEdqRKeAGm8hhTw">

       <body>A SendOperationEvent models the invocation of an operation call.</body>

     </ownedComment>

-    <generalization xmi:id="_39UoCK8aEdqf6aL57Hh6KQ" general="_39njTq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39UoCa8aEdqf6aL57Hh6KQ" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" association="_39eY8q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39UoCq8aEdqf6aL57Hh6KQ" annotatedElement="_39UoCa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTc0q8kEdqRKeAGm8hhTw" general="__dwIY68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dTc068kEdqRKeAGm8hhTw" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" association="__ddNea8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTc1K8kEdqRKeAGm8hhTw" annotatedElement="__dTc068kEdqRKeAGm8hhTw">

         <body>The operation associated with this event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoC68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoDK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTc1a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTc1q8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39UoDa8aEdqf6aL57Hh6KQ" name="SendSignalEvent">

-    <ownedComment xmi:id="_39UoDq8aEdqf6aL57Hh6KQ" annotatedElement="_39UoDa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTc168kEdqRKeAGm8hhTw" name="SendSignalEvent">

+    <ownedComment xmi:id="__dTc2K8kEdqRKeAGm8hhTw" annotatedElement="__dTc168kEdqRKeAGm8hhTw">

       <body>A SendSignalEvent models the sending of a signal.</body>

     </ownedComment>

-    <generalization xmi:id="_39UoD68aEdqf6aL57Hh6KQ" general="_39njTq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39UoEK8aEdqf6aL57Hh6KQ" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_39eY9q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39UoEa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoEK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTc2a8kEdqRKeAGm8hhTw" general="__dwIY68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dTc2q8kEdqRKeAGm8hhTw" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="__ddNfa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTc268kEdqRKeAGm8hhTw" annotatedElement="__dTc2q8kEdqRKeAGm8hhTw">

         <body>The signal associated with this event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoEq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoE68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTc3K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTc3a8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39UoFK8aEdqf6aL57Hh6KQ" name="MessageOccurrenceSpecification">

-    <ownedComment xmi:id="_39UoFa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoFK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTc3q8kEdqRKeAGm8hhTw" name="MessageOccurrenceSpecification">

+    <ownedComment xmi:id="__dTc368kEdqRKeAGm8hhTw" annotatedElement="__dTc3q8kEdqRKeAGm8hhTw">

       <body>Specifies the occurrence of message events, such as sending and receiving of signals or invoking or receiving of operation calls. A message occurrence specification is a kind of message end. Messages are generated either by synchronous operation calls or asynchronous signal sends. They are received by the execution of corresponding accept event actions.</body>

     </ownedComment>

-    <generalization xmi:id="_39UoFq8aEdqf6aL57Hh6KQ" general="_39LeSK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_39UoF68aEdqf6aL57Hh6KQ" general="_39LeNa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dTc4K8kEdqRKeAGm8hhTw" general="__dTcnK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__dTc4a8kEdqRKeAGm8hhTw" general="__dTcia8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39UoGK8aEdqf6aL57Hh6KQ" name="ExecutionOccurrenceSpecification">

-    <ownedComment xmi:id="_39UoGa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoGK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__ddNAK8kEdqRKeAGm8hhTw" name="ExecutionOccurrenceSpecification">

+    <ownedComment xmi:id="__ddNAa8kEdqRKeAGm8hhTw" annotatedElement="__ddNAK8kEdqRKeAGm8hhTw">

       <body>An ExecutionOccurrenceSpecification represents moments in time at which actions or behaviors start or finish.</body>

     </ownedComment>

-    <generalization xmi:id="_39UoGq8aEdqf6aL57Hh6KQ" general="_39LeNa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39UoG68aEdqf6aL57Hh6KQ" name="execution" type="_39LeJ68aEdqf6aL57Hh6KQ" association="_39eZB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39UoHK8aEdqf6aL57Hh6KQ" annotatedElement="_39UoG68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__ddNAq8kEdqRKeAGm8hhTw" general="__dTcia8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__ddNA68kEdqRKeAGm8hhTw" name="execution" type="__dTce68kEdqRKeAGm8hhTw" association="__ddNjq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ddNBK8kEdqRKeAGm8hhTw" annotatedElement="__ddNA68kEdqRKeAGm8hhTw">

         <body>References the execution specification describing the execution that is started or finished at this execution event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoHa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoHq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNBa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNBq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39UoH68aEdqf6aL57Hh6KQ" name="event" type="_39Un968aEdqf6aL57Hh6KQ" redefinedProperty="_39LeRK8aEdqf6aL57Hh6KQ" association="_39eZC68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39UoIK8aEdqf6aL57Hh6KQ" annotatedElement="_39UoH68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ddNB68kEdqRKeAGm8hhTw" name="event" type="__dTcwa8kEdqRKeAGm8hhTw" redefinedProperty="__dTcmK8kEdqRKeAGm8hhTw" association="__ddNkq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ddNCK8kEdqRKeAGm8hhTw" annotatedElement="__ddNB68kEdqRKeAGm8hhTw">

         <body>Redefines the event referenced to be restricted to an execution event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoIa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoIq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNCa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNCq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39UoI68aEdqf6aL57Hh6KQ" name="ReceiveOperationEvent">

-    <ownedComment xmi:id="_39UoJK8aEdqf6aL57Hh6KQ" annotatedElement="_39UoI68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__ddNC68kEdqRKeAGm8hhTw" name="ReceiveOperationEvent">

+    <ownedComment xmi:id="__ddNDK8kEdqRKeAGm8hhTw" annotatedElement="__ddNC68kEdqRKeAGm8hhTw">

       <body>A ReceiveOperationEvent models the reception of an operation call.</body>

     </ownedComment>

-    <generalization xmi:id="_39UoJa8aEdqf6aL57Hh6KQ" general="_39njTq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39UoJq8aEdqf6aL57Hh6KQ" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" association="_39eZEK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39UoJ68aEdqf6aL57Hh6KQ" annotatedElement="_39UoJq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__ddNDa8kEdqRKeAGm8hhTw" general="__dwIY68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__ddNDq8kEdqRKeAGm8hhTw" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" association="__ddNl68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ddND68kEdqRKeAGm8hhTw" annotatedElement="__ddNDq8kEdqRKeAGm8hhTw">

         <body>The operation associated with this event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoKK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoKa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNEK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNEa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39UoKq8aEdqf6aL57Hh6KQ" name="ReceiveSignalEvent">

-    <ownedComment xmi:id="_39UoK68aEdqf6aL57Hh6KQ" annotatedElement="_39UoKq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__ddNEq8kEdqRKeAGm8hhTw" name="ReceiveSignalEvent">

+    <ownedComment xmi:id="__ddNE68kEdqRKeAGm8hhTw" annotatedElement="__ddNEq8kEdqRKeAGm8hhTw">

       <body>A ReceiveSignalEvent models the receiving of a signal.</body>

     </ownedComment>

-    <generalization xmi:id="_39UoLK8aEdqf6aL57Hh6KQ" general="_39njTq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39UoLa8aEdqf6aL57Hh6KQ" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_39eZFK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39UoLq8aEdqf6aL57Hh6KQ" annotatedElement="_39UoLa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__ddNFK8kEdqRKeAGm8hhTw" general="__dwIY68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__ddNFa8kEdqRKeAGm8hhTw" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="__dmW8K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ddNFq8kEdqRKeAGm8hhTw" annotatedElement="__ddNFa8kEdqRKeAGm8hhTw">

         <body>The signal associated with this event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoL68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoMK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNF68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNGK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Enumeration" xmi:id="_Y_jskGvtEdqG6fBIPwe-mw" name="MessageKind">

-    <ownedComment xmi:id="_39UoMa8aEdqf6aL57Hh6KQ" annotatedElement="_Y_jskGvtEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__ddNGa8kEdqRKeAGm8hhTw" annotatedElement="_Y_jskGvtEdqG6fBIPwe-mw">

       <body>MessageKind is an enumeration of the following values:

 

 - complete = sendEvent and receiveEvent are present

@@ -3698,29 +3698,29 @@
 

 - unknown = sendEvent and receiveEvent absent (should not appear)</body>

     </ownedComment>

-    <ownedLiteral xmi:id="_39UoMq8aEdqf6aL57Hh6KQ" name="complete">

-      <ownedComment xmi:id="_39UoM68aEdqf6aL57Hh6KQ" annotatedElement="_39UoMq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNGq8kEdqRKeAGm8hhTw" name="complete">

+      <ownedComment xmi:id="__ddNG68kEdqRKeAGm8hhTw" annotatedElement="__ddNGq8kEdqRKeAGm8hhTw">

         <body>sendEvent and receiveEvent are present</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39UoNK8aEdqf6aL57Hh6KQ" name="lost">

-      <ownedComment xmi:id="_39UoNa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoNK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNHK8kEdqRKeAGm8hhTw" name="lost">

+      <ownedComment xmi:id="__ddNHa8kEdqRKeAGm8hhTw" annotatedElement="__ddNHK8kEdqRKeAGm8hhTw">

         <body>sendEvent present and receiveEvent absent</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39UoNq8aEdqf6aL57Hh6KQ" name="found">

-      <ownedComment xmi:id="_39UoN68aEdqf6aL57Hh6KQ" annotatedElement="_39UoNq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNHq8kEdqRKeAGm8hhTw" name="found">

+      <ownedComment xmi:id="__ddNH68kEdqRKeAGm8hhTw" annotatedElement="__ddNHq8kEdqRKeAGm8hhTw">

         <body>sendEvent absent and receiveEvent present</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39UoOK8aEdqf6aL57Hh6KQ" name="unknown">

-      <ownedComment xmi:id="_39UoOa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoOK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNIK8kEdqRKeAGm8hhTw" name="unknown">

+      <ownedComment xmi:id="__ddNIa8kEdqRKeAGm8hhTw" annotatedElement="__ddNIK8kEdqRKeAGm8hhTw">

         <body>sendEvent and receiveEvent absent (should not appear)</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_39UoOq8aEdqf6aL57Hh6KQ" name="MessageSort">

-    <ownedComment xmi:id="_39UoO68aEdqf6aL57Hh6KQ" annotatedElement="_39UoOq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__ddNIq8kEdqRKeAGm8hhTw" name="MessageSort">

+    <ownedComment xmi:id="__ddNI68kEdqRKeAGm8hhTw" annotatedElement="__ddNIq8kEdqRKeAGm8hhTw">

       <body>MessageSort is an enumeration of the following values:

 

 - synchCall = the message was generated by a synchronous call to an operation

@@ -3735,13 +3735,13 @@
 

 - reply = the message is a reply message to an operation call</body>

     </ownedComment>

-    <ownedLiteral xmi:id="_39UoPK8aEdqf6aL57Hh6KQ" name="synchCall">

-      <ownedComment xmi:id="_39UoPa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoPK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNJK8kEdqRKeAGm8hhTw" name="synchCall">

+      <ownedComment xmi:id="__ddNJa8kEdqRKeAGm8hhTw" annotatedElement="__ddNJK8kEdqRKeAGm8hhTw">

         <body>The message was generated by a synchronous call to an operation.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39UoPq8aEdqf6aL57Hh6KQ" name="asynchCall">

-      <ownedComment xmi:id="_39UoP68aEdqf6aL57Hh6KQ" annotatedElement="_39UoPq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNJq8kEdqRKeAGm8hhTw" name="asynchCall">

+      <ownedComment xmi:id="__ddNJ68kEdqRKeAGm8hhTw" annotatedElement="__ddNJq8kEdqRKeAGm8hhTw">

         <body>The message was generated by an asynchronous call to an operation; i.e., a CallAction with isSynchronous

 

 = false.

@@ -3749,197 +3749,197 @@
 </body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39UoQK8aEdqf6aL57Hh6KQ" name="asynchSignal">

-      <ownedComment xmi:id="_39UoQa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoQK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNKK8kEdqRKeAGm8hhTw" name="asynchSignal">

+      <ownedComment xmi:id="__ddNKa8kEdqRKeAGm8hhTw" annotatedElement="__ddNKK8kEdqRKeAGm8hhTw">

         <body>The message was generated by an asynchronous send action.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39UoQq8aEdqf6aL57Hh6KQ" name="createMessage">

-      <ownedComment xmi:id="_39UoQ68aEdqf6aL57Hh6KQ" annotatedElement="_39UoQq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNKq8kEdqRKeAGm8hhTw" name="createMessage">

+      <ownedComment xmi:id="__ddNK68kEdqRKeAGm8hhTw" annotatedElement="__ddNKq8kEdqRKeAGm8hhTw">

         <body>The message designating the creation of another lifeline object.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39UoRK8aEdqf6aL57Hh6KQ" name="deleteMessage">

-      <ownedComment xmi:id="_39UoRa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoRK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNLK8kEdqRKeAGm8hhTw" name="deleteMessage">

+      <ownedComment xmi:id="__ddNLa8kEdqRKeAGm8hhTw" annotatedElement="__ddNLK8kEdqRKeAGm8hhTw">

         <body>The message designating the termination of another lifeline.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39UoRq8aEdqf6aL57Hh6KQ" name="reply">

-      <ownedComment xmi:id="_39UoR68aEdqf6aL57Hh6KQ" annotatedElement="_39UoRq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__ddNLq8kEdqRKeAGm8hhTw" name="reply">

+      <ownedComment xmi:id="__ddNL68kEdqRKeAGm8hhTw" annotatedElement="__ddNLq8kEdqRKeAGm8hhTw">

         <body>The message is a reply message to an operation call.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoSK8aEdqf6aL57Hh6KQ" name="A_covered_coveredBy" memberEnd="_39Bth68aEdqf6aL57Hh6KQ _39BtcK8aEdqf6aL57Hh6KQ">

-    <ownedComment xmi:id="_39UoSa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoSK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNMK8kEdqRKeAGm8hhTw" name="A_covered_coveredBy" memberEnd="__dTcDK8kEdqRKeAGm8hhTw __dTcI68kEdqRKeAGm8hhTw">

+    <ownedComment xmi:id="__ddNMa8kEdqRKeAGm8hhTw" annotatedElement="__ddNMK8kEdqRKeAGm8hhTw">

       <body>This association shows the lifelines that make up an interaction. A lifeline may be part of more than one interaction use.</body>

     </ownedComment>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoSq8aEdqf6aL57Hh6KQ" name="A_executionSpecification_start" memberEnd="_39UoTK8aEdqf6aL57Hh6KQ _39LeLa8aEdqf6aL57Hh6KQ">

-    <ownedComment xmi:id="_39UoS68aEdqf6aL57Hh6KQ" annotatedElement="_39UoSq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNMq8kEdqRKeAGm8hhTw" name="A_executionSpecification_start" memberEnd="__ddNNK8kEdqRKeAGm8hhTw __dTcga8kEdqRKeAGm8hhTw">

+    <ownedComment xmi:id="__ddNM68kEdqRKeAGm8hhTw" annotatedElement="__ddNMq8kEdqRKeAGm8hhTw">

       <body>The event shows the time point at which the action begins execution.</body>

     </ownedComment>

-    <ownedEnd xmi:id="_39UoTK8aEdqf6aL57Hh6KQ" type="_39LeJ68aEdqf6aL57Hh6KQ" association="_39UoSq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoTa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoTq8aEdqf6aL57Hh6KQ"/>

+    <ownedEnd xmi:id="__ddNNK8kEdqRKeAGm8hhTw" type="__dTce68kEdqRKeAGm8hhTw" association="__ddNMq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNNa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNNq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoT68aEdqf6aL57Hh6KQ" name="A_executionSpecification_finish" memberEnd="_39UoUa8aEdqf6aL57Hh6KQ _39LeMa8aEdqf6aL57Hh6KQ">

-    <ownedComment xmi:id="_39UoUK8aEdqf6aL57Hh6KQ" annotatedElement="_39UoT68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNN68kEdqRKeAGm8hhTw" name="A_executionSpecification_finish" memberEnd="__ddNOa8kEdqRKeAGm8hhTw __dTcha8kEdqRKeAGm8hhTw">

+    <ownedComment xmi:id="__ddNOK8kEdqRKeAGm8hhTw" annotatedElement="__ddNN68kEdqRKeAGm8hhTw">

       <body>The event shows the time point at which the action completes execution.</body>

     </ownedComment>

-    <ownedEnd xmi:id="_39UoUa8aEdqf6aL57Hh6KQ" type="_39LeJ68aEdqf6aL57Hh6KQ" association="_39UoT68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoUq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoU68aEdqf6aL57Hh6KQ"/>

+    <ownedEnd xmi:id="__ddNOa8kEdqRKeAGm8hhTw" type="__dTce68kEdqRKeAGm8hhTw" association="__ddNN68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNOq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNO68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoVK8aEdqf6aL57Hh6KQ" name="A_lifeline_represents" memberEnd="_39UoVq8aEdqf6aL57Hh6KQ _39BtdK8aEdqf6aL57Hh6KQ">

-    <ownedComment xmi:id="_39UoVa8aEdqf6aL57Hh6KQ" annotatedElement="_39UoVK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNPK8kEdqRKeAGm8hhTw" name="A_lifeline_represents" memberEnd="__ddNPq8kEdqRKeAGm8hhTw __dTcEK8kEdqRKeAGm8hhTw">

+    <ownedComment xmi:id="__ddNPa8kEdqRKeAGm8hhTw" annotatedElement="__ddNPK8kEdqRKeAGm8hhTw">

       <body>If a Part has multiplicity, multiple lifelines might be used to show it.</body>

     </ownedComment>

-    <ownedEnd xmi:id="_39UoVq8aEdqf6aL57Hh6KQ" type="_39BtZK8aEdqf6aL57Hh6KQ" association="_39UoVK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoV68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoWK8aEdqf6aL57Hh6KQ"/>

+    <ownedEnd xmi:id="__ddNPq8kEdqRKeAGm8hhTw" type="__dTcAK8kEdqRKeAGm8hhTw" association="__ddNPK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNP68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNQK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoWa8aEdqf6aL57Hh6KQ" name="A_lifeline_interaction" memberEnd="_39BtTK8aEdqf6aL57Hh6KQ _39BteK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39UoWq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNQa8kEdqRKeAGm8hhTw" name="A_lifeline_interaction" memberEnd="__dJrZ68kEdqRKeAGm8hhTw __dTcFK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNQq8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoW68aEdqf6aL57Hh6KQ" name="A_receiveEvent_message" memberEnd="_39Bttq8aEdqf6aL57Hh6KQ _39UoXK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39UoXK8aEdqf6aL57Hh6KQ" type="_gfgNwGveEdq4DLWZOhbdEA" association="_39UoW68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoXa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoXq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNQ68kEdqRKeAGm8hhTw" name="A_receiveEvent_message" memberEnd="__dTcUq8kEdqRKeAGm8hhTw __ddNRK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNRK8kEdqRKeAGm8hhTw" type="_gfgNwGveEdq4DLWZOhbdEA" association="__ddNQ68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNRa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNRq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoX68aEdqf6aL57Hh6KQ" name="A_sendEvent_message" memberEnd="_39UoYK8aEdqf6aL57Hh6KQ _39LeAq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39UoYK8aEdqf6aL57Hh6KQ" type="_gfgNwGveEdq4DLWZOhbdEA" association="_39UoX68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoYa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoYq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNR68kEdqRKeAGm8hhTw" name="A_sendEvent_message" memberEnd="__dTcVq8kEdqRKeAGm8hhTw __ddNSK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNSK8kEdqRKeAGm8hhTw" type="_gfgNwGveEdq4DLWZOhbdEA" association="__ddNR68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNSa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNSq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoY68aEdqf6aL57Hh6KQ" name="A_events_covered" memberEnd="_39UoZa8aEdqf6aL57Hh6KQ _39LeOK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39UoZK8aEdqf6aL57Hh6KQ" general="_39UoSK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39UoZa8aEdqf6aL57Hh6KQ" name="events" type="_39LeNa8aEdqf6aL57Hh6KQ" isOrdered="true" association="_39UoY68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoZq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UoZ68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNS68kEdqRKeAGm8hhTw" name="A_events_covered" memberEnd="__ddNTa8kEdqRKeAGm8hhTw __dTcjK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNTK8kEdqRKeAGm8hhTw" general="__ddNMK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ddNTa8kEdqRKeAGm8hhTw" name="events" type="__dTcia8kEdqRKeAGm8hhTw" isOrdered="true" association="__ddNS68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNTq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNT68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UoaK8aEdqf6aL57Hh6KQ" name="A_selector_lifeline" memberEnd="_39Btfq8aEdqf6aL57Hh6KQ _39Uoaq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39Uoaa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39Uoaq8aEdqf6aL57Hh6KQ" type="_39BtZK8aEdqf6aL57Hh6KQ" association="_39UoaK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Uoa68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UobK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNUK8kEdqRKeAGm8hhTw" name="A_selector_lifeline" memberEnd="__ddNUq8kEdqRKeAGm8hhTw __dTcGq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNUa8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ddNUq8kEdqRKeAGm8hhTw" type="__dTcAK8kEdqRKeAGm8hhTw" association="__ddNUK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNU68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNVK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uoba8aEdqf6aL57Hh6KQ" name="A_connector_message" memberEnd="_39Uobq8aEdqf6aL57Hh6KQ _39LeBq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39Uobq8aEdqf6aL57Hh6KQ" type="_gfgNwGveEdq4DLWZOhbdEA" association="_39Uoba8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Uob68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39UocK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNVa8kEdqRKeAGm8hhTw" name="A_connector_message" memberEnd="__dTcWq8kEdqRKeAGm8hhTw __ddNVq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNVq8kEdqRKeAGm8hhTw" type="_gfgNwGveEdq4DLWZOhbdEA" association="__ddNVa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNV68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNWK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uoca8aEdqf6aL57Hh6KQ" name="A_message_interaction" memberEnd="_39BtUq8aEdqf6aL57Hh6KQ _39LeCq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39Uocq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNWa8kEdqRKeAGm8hhTw" name="A_message_interaction" memberEnd="__dJrba8kEdqRKeAGm8hhTw __dTcXq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNWq8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uoc68aEdqf6aL57Hh6KQ" name="A_before_toAfter" memberEnd="_39LeH68aEdqf6aL57Hh6KQ _39LePK8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39UodK8aEdqf6aL57Hh6KQ" name="A_toBefore_after" memberEnd="_39LeI68aEdqf6aL57Hh6KQ _39LeQK8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uoda8aEdqf6aL57Hh6KQ" name="A_argument_message" memberEnd="_39LeEK8aEdqf6aL57Hh6KQ _39Uod68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39Uodq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39Uod68aEdqf6aL57Hh6KQ" type="_gfgNwGveEdq4DLWZOhbdEA" association="_39Uoda8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UoeK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Uoea8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNW68kEdqRKeAGm8hhTw" name="A_before_toAfter" memberEnd="__dTcc68kEdqRKeAGm8hhTw __dTckK8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNXK8kEdqRKeAGm8hhTw" name="A_toBefore_after" memberEnd="__dTcd68kEdqRKeAGm8hhTw __dTclK8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNXa8kEdqRKeAGm8hhTw" name="A_argument_message" memberEnd="__ddNX68kEdqRKeAGm8hhTw __dTcZK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNXq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ddNX68kEdqRKeAGm8hhTw" type="_gfgNwGveEdq4DLWZOhbdEA" association="__ddNXa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNYK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNYa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uoeq8aEdqf6aL57Hh6KQ" name="A_invariant_stateInvariant" memberEnd="_39LeUq8aEdqf6aL57Hh6KQ _39UofK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39Uoe68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39UofK8aEdqf6aL57Hh6KQ" type="_39LeT68aEdqf6aL57Hh6KQ" association="_39Uoeq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNYq8kEdqRKeAGm8hhTw" name="A_invariant_stateInvariant" memberEnd="__dTcpq8kEdqRKeAGm8hhTw __ddNZK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNY68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ddNZK8kEdqRKeAGm8hhTw" type="__dTco68kEdqRKeAGm8hhTw" association="__ddNYq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uofa8aEdqf6aL57Hh6KQ" name="A_stateInvariant_covered" memberEnd="_39Uof68aEdqf6aL57Hh6KQ _39LeWK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39Uofq8aEdqf6aL57Hh6KQ" general="_39UoSK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39Uof68aEdqf6aL57Hh6KQ" name="stateInvariant" type="_39LeT68aEdqf6aL57Hh6KQ" association="_39Uofa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39UogK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Uoga8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNZa8kEdqRKeAGm8hhTw" name="A_stateInvariant_covered" memberEnd="__dTcrK8kEdqRKeAGm8hhTw __ddNZ68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNZq8kEdqRKeAGm8hhTw" general="__ddNMK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ddNZ68kEdqRKeAGm8hhTw" name="stateInvariant" type="__dTco68kEdqRKeAGm8hhTw" association="__ddNZa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNaK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNaa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uogq8aEdqf6aL57Hh6KQ" name="A_generalOrdering_interactionFragment" memberEnd="_39Bti68aEdqf6aL57Hh6KQ _39UohK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39Uog68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39UohK8aEdqf6aL57Hh6KQ" type="_39BthK8aEdqf6aL57Hh6KQ" association="_39Uogq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Uoha8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Uohq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNaq8kEdqRKeAGm8hhTw" name="A_generalOrdering_interactionFragment" memberEnd="__dTcJ68kEdqRKeAGm8hhTw __ddNbK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNa68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ddNbK8kEdqRKeAGm8hhTw" type="__dTcIK8kEdqRKeAGm8hhTw" association="__ddNaq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNba8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNbq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uoh68aEdqf6aL57Hh6KQ" name="A_enclosingInteraction_fragment" memberEnd="_39BtWK8aEdqf6aL57Hh6KQ _39Btka8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39UoiK8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNb68kEdqRKeAGm8hhTw" name="A_enclosingInteraction_fragment" memberEnd="__dTcLa8kEdqRKeAGm8hhTw __dJrc68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNcK8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uoia8aEdqf6aL57Hh6KQ" name="A_behavior_behaviorExecutionSpecification" memberEnd="_39Un868aEdqf6aL57Hh6KQ _39Uoiq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39Uoiq8aEdqf6aL57Hh6KQ" type="_39Un8K8aEdqf6aL57Hh6KQ" association="_39Uoia8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNca8kEdqRKeAGm8hhTw" name="A_behavior_behaviorExecutionSpecification" memberEnd="__dTcva8kEdqRKeAGm8hhTw __ddNcq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNcq8kEdqRKeAGm8hhTw" type="__dTcuq8kEdqRKeAGm8hhTw" association="__ddNca8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39Uoi68aEdqf6aL57Hh6KQ" name="A_action_actionExecutionSpecification" memberEnd="_39LeYq8aEdqf6aL57Hh6KQ _39UojK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39UojK8aEdqf6aL57Hh6KQ" type="_39LeXK8aEdqf6aL57Hh6KQ" association="_39Uoi68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Uoja8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Uojq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNc68kEdqRKeAGm8hhTw" name="A_action_actionExecutionSpecification" memberEnd="__dTctq8kEdqRKeAGm8hhTw __ddNdK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNdK8kEdqRKeAGm8hhTw" type="__dTcsK8kEdqRKeAGm8hhTw" association="__ddNc68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNda8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNdq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eY8K8aEdqf6aL57Hh6KQ" name="A_signature_message" memberEnd="_39LeFq8aEdqf6aL57Hh6KQ _39eY8a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39eY8a8aEdqf6aL57Hh6KQ" type="_gfgNwGveEdq4DLWZOhbdEA" association="_39eY8K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNd68kEdqRKeAGm8hhTw" name="A_signature_message" memberEnd="__ddNeK8kEdqRKeAGm8hhTw __dTcaq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNeK8kEdqRKeAGm8hhTw" type="_gfgNwGveEdq4DLWZOhbdEA" association="__ddNd68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eY8q8aEdqf6aL57Hh6KQ" name="A_operation_sendOperationEvent" memberEnd="_39UoCa8aEdqf6aL57Hh6KQ _39eY868aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39eY868aEdqf6aL57Hh6KQ" type="_39UoBq8aEdqf6aL57Hh6KQ" association="_39eY8q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eY9K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eY9a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNea8kEdqRKeAGm8hhTw" name="A_operation_sendOperationEvent" memberEnd="__dTc068kEdqRKeAGm8hhTw __ddNeq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNeq8kEdqRKeAGm8hhTw" type="__dTc0K8kEdqRKeAGm8hhTw" association="__ddNea8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNe68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNfK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eY9q8aEdqf6aL57Hh6KQ" name="A_signal_sendSignalEvent" memberEnd="_39UoEK8aEdqf6aL57Hh6KQ _39eY968aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39eY968aEdqf6aL57Hh6KQ" type="_39UoDa8aEdqf6aL57Hh6KQ" association="_39eY9q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eY-K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eY-a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNfa8kEdqRKeAGm8hhTw" name="A_signal_sendSignalEvent" memberEnd="__ddNfq8kEdqRKeAGm8hhTw __dTc2q8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNfq8kEdqRKeAGm8hhTw" type="__dTc168kEdqRKeAGm8hhTw" association="__ddNfa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNf68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNgK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eY-q8aEdqf6aL57Hh6KQ" name="A_message_messageEnd" memberEnd="_39LeS68aEdqf6aL57Hh6KQ _39eY-68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39eY-68aEdqf6aL57Hh6KQ" type="_39LeSK8aEdqf6aL57Hh6KQ" association="_39eY-q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eY_K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eY_a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNga8kEdqRKeAGm8hhTw" name="A_message_messageEnd" memberEnd="__ddNgq8kEdqRKeAGm8hhTw __dTcn68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNgq8kEdqRKeAGm8hhTw" type="__dTcnK8kEdqRKeAGm8hhTw" association="__ddNga8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNg68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNhK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eY_q8aEdqf6aL57Hh6KQ" name="A_event_occurrenceSpecification" memberEnd="_39LeRK8aEdqf6aL57Hh6KQ _39eY_68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39eY_68aEdqf6aL57Hh6KQ" type="_39LeNa8aEdqf6aL57Hh6KQ" association="_39eY_q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZAK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZAa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNha8kEdqRKeAGm8hhTw" name="A_event_occurrenceSpecification" memberEnd="__ddNhq8kEdqRKeAGm8hhTw __dTcmK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNhq8kEdqRKeAGm8hhTw" type="__dTcia8kEdqRKeAGm8hhTw" association="__ddNha8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNh68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNiK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eZAq8aEdqf6aL57Hh6KQ" name="A_action_interaction" memberEnd="_39BtXq8aEdqf6aL57Hh6KQ _39eZBK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39eZA68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39eZBK8aEdqf6aL57Hh6KQ" type="_39BtSK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_39eZAq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZBa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZBq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNia8kEdqRKeAGm8hhTw" name="A_action_interaction" memberEnd="__ddNi68kEdqRKeAGm8hhTw __dJrea8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNiq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ddNi68kEdqRKeAGm8hhTw" type="__dJrY68kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__ddNia8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNjK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNja8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eZB68aEdqf6aL57Hh6KQ" name="A_execution_executionOccurrenceSpecification" memberEnd="_39UoG68aEdqf6aL57Hh6KQ _39eZCK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39eZCK8aEdqf6aL57Hh6KQ" type="_39UoGK8aEdqf6aL57Hh6KQ" association="_39eZB68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZCa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZCq8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNjq8kEdqRKeAGm8hhTw" name="A_execution_executionOccurrenceSpecification" memberEnd="__ddNA68kEdqRKeAGm8hhTw __ddNj68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNj68kEdqRKeAGm8hhTw" type="__ddNAK8kEdqRKeAGm8hhTw" association="__ddNjq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNkK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNka8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eZC68aEdqf6aL57Hh6KQ" name="A_event_executionOccurrenceSpecification" memberEnd="_39UoH68aEdqf6aL57Hh6KQ _39eZDa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39eZDK8aEdqf6aL57Hh6KQ" general="_39eY_q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39eZDa8aEdqf6aL57Hh6KQ" type="_39UoGK8aEdqf6aL57Hh6KQ" redefinedProperty="_39eY_68aEdqf6aL57Hh6KQ" association="_39eZC68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZDq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZD68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNkq8kEdqRKeAGm8hhTw" name="A_event_executionOccurrenceSpecification" memberEnd="__ddNlK8kEdqRKeAGm8hhTw __ddNB68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ddNk68kEdqRKeAGm8hhTw" general="__ddNha8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ddNlK8kEdqRKeAGm8hhTw" type="__ddNAK8kEdqRKeAGm8hhTw" redefinedProperty="__ddNhq8kEdqRKeAGm8hhTw" association="__ddNkq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNla8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNlq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eZEK8aEdqf6aL57Hh6KQ" name="A_operation_receiveOperationEvent" memberEnd="_39eZEa8aEdqf6aL57Hh6KQ _39UoJq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39eZEa8aEdqf6aL57Hh6KQ" type="_39UoI68aEdqf6aL57Hh6KQ" association="_39eZEK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZEq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZE68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ddNl68kEdqRKeAGm8hhTw" name="A_operation_receiveOperationEvent" memberEnd="__ddNmK8kEdqRKeAGm8hhTw __ddNDq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ddNmK8kEdqRKeAGm8hhTw" type="__ddNC68kEdqRKeAGm8hhTw" association="__ddNl68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ddNma8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ddNmq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eZFK8aEdqf6aL57Hh6KQ" name="A_signal_receiveSignalEvent" memberEnd="_39eZFa8aEdqf6aL57Hh6KQ _39UoLa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39eZFa8aEdqf6aL57Hh6KQ" type="_39UoKq8aEdqf6aL57Hh6KQ" association="_39eZFK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZFq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZF68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dmW8K8kEdqRKeAGm8hhTw" name="A_signal_receiveSignalEvent" memberEnd="__dmW8a8kEdqRKeAGm8hhTw __ddNFa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__dmW8a8kEdqRKeAGm8hhTw" type="__ddNEq8kEdqRKeAGm8hhTw" association="__dmW8K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmW8q8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmW868kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39eZGK8aEdqf6aL57Hh6KQ" name="Actor">

-    <ownedComment xmi:id="_39eZGa8aEdqf6aL57Hh6KQ" annotatedElement="_39eZGK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dmW9K8kEdqRKeAGm8hhTw" name="Actor">

+    <ownedComment xmi:id="__dmW9a8kEdqRKeAGm8hhTw" annotatedElement="__dmW9K8kEdqRKeAGm8hhTw">

       <body>An Actor models a type of role played by an entity that interacts with the subject (e.g., by exchanging signals and data), but which is external to the subject (i.e., in the sense that an instance of an actor is not a part of the instance of its corresponding subject). Actors may represent roles played by human users, external hardware, or other subjects. Note that an actor does not necessarily represent a specific physical entity but merely a particular facet (i.e., “role”) of some entity that is relevant to the specification of its associated use cases. Thus, a single physical instance may play the role of several different actors and, conversely, a given actor may be played by multiple different instances.

 

 

@@ -3948,11 +3948,11 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_39eZGq8aEdqf6aL57Hh6KQ" name="associations" constrainedElement="_39eZGK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZG68aEdqf6aL57Hh6KQ" annotatedElement="_39eZGq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dmW9q8kEdqRKeAGm8hhTw" name="associations" constrainedElement="__dmW9K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmW968kEdqRKeAGm8hhTw" annotatedElement="__dmW9q8kEdqRKeAGm8hhTw">

         <body>An actor can only have associations to use cases, components and classes. Furthermore these associations must be binary.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZHK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmW-K8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.ownedAttribute->forAll ( a |

 (a.association->notEmpty()) implies

 ((a.association.memberEnd.size() = 2) and

@@ -3961,18 +3961,18 @@
 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39eZHa8aEdqf6aL57Hh6KQ" name="must_have_name" constrainedElement="_39eZGK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZHq8aEdqf6aL57Hh6KQ" annotatedElement="_39eZHa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dmW-a8kEdqRKeAGm8hhTw" name="must_have_name" constrainedElement="__dmW9K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmW-q8kEdqRKeAGm8hhTw" annotatedElement="__dmW-a8kEdqRKeAGm8hhTw">

         <body>An actor must have a name.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZH68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmW-68kEdqRKeAGm8hhTw" language="OCL">

         <body>name->notEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39eZIK8aEdqf6aL57Hh6KQ" general="_iY7sMGvsEdqG6fBIPwe-mw"/>

+    <generalization xmi:id="__dmW_K8kEdqRKeAGm8hhTw" general="_iY7sMGvsEdqG6fBIPwe-mw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39eZIa8aEdqf6aL57Hh6KQ" name="Extend">

-    <ownedComment xmi:id="_39eZIq8aEdqf6aL57Hh6KQ" annotatedElement="_39eZIa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dmW_a8kEdqRKeAGm8hhTw" name="Extend">

+    <ownedComment xmi:id="__dmW_q8kEdqRKeAGm8hhTw" annotatedElement="__dmW_a8kEdqRKeAGm8hhTw">

       <body>This relationship specifies that the behavior of a use case may be extended by the behavior of another (usually supplementary) use case. The extension takes place at one or more specific extension points defined in the extended use case. Note, however, that the extended use case is defined independently of the extending use case and is meaningful independently of the extending use case. On the other hand, the extending use case typically defines behavior that may not necessarily be meaningful by itself. Instead, the extending use case defines a set of modular behavior increments that augment an execution of the extended use case under specific conditions.

 

 

@@ -3985,91 +3985,91 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_39eZI68aEdqf6aL57Hh6KQ" name="extension_points" constrainedElement="_39eZIa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZJK8aEdqf6aL57Hh6KQ" annotatedElement="_39eZI68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dmW_68kEdqRKeAGm8hhTw" name="extension_points" constrainedElement="__dmW_a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXAK8kEdqRKeAGm8hhTw" annotatedElement="__dmW_68kEdqRKeAGm8hhTw">

         <body>The extension points referenced by the extend relationship must belong to the use case that is being extended.

 

 

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZJa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmXAa8kEdqRKeAGm8hhTw" language="OCL">

         <body>extensionLocation->forAll (xp | extendedCase.extensionPoint->includes(xp))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39eZJq8aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <generalization xmi:id="_39eZJ68aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39eZKK8aEdqf6aL57Hh6KQ" name="extendedCase" type="_39eZSq8aEdqf6aL57Hh6KQ" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_39ni4K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZKa8aEdqf6aL57Hh6KQ" annotatedElement="_39eZKK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dmXAq8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <generalization xmi:id="__dmXA68kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dmXBK8kEdqRKeAGm8hhTw" name="extendedCase" type="__dmXJq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__dwH9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXBa8kEdqRKeAGm8hhTw" annotatedElement="__dmXBK8kEdqRKeAGm8hhTw">

         <body>References the use case that is being extended.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZKq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZK68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXBq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXB68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZLK8aEdqf6aL57Hh6KQ" name="extension" type="_39eZSq8aEdqf6aL57Hh6KQ" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ" association="_39ni5a8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_39eZLa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39eZLq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__dmXCK8kEdqRKeAGm8hhTw" name="extension" type="__dmXJq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw" association="__dwH-q8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dmXCa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dmXCq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39eZL68aEdqf6aL57Hh6KQ" annotatedElement="_39eZLK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dmXC68kEdqRKeAGm8hhTw" annotatedElement="__dmXCK8kEdqRKeAGm8hhTw">

         <body>References the use case that represents the extension and owns the extend relationship.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZMK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZMa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXDK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXDa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZMq8aEdqf6aL57Hh6KQ" name="condition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39ni6q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39eZM68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39eZNK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dmXDq8kEdqRKeAGm8hhTw" name="condition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__dwH_68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dmXD68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dmXEK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39eZNa8aEdqf6aL57Hh6KQ" annotatedElement="_39eZMq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dmXEa8kEdqRKeAGm8hhTw" annotatedElement="__dmXDq8kEdqRKeAGm8hhTw">

         <body>References the condition that must hold when the first extension point is reached for the extension to take place. If no constraint is associated with the extend relationship, the extension is unconditional.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZNq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZN68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXEq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXE68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZOK8aEdqf6aL57Hh6KQ" name="extensionLocation" type="_39eZdq8aEdqf6aL57Hh6KQ" isOrdered="true" association="_39ni768aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZOa8aEdqf6aL57Hh6KQ" annotatedElement="_39eZOK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dmXFK8kEdqRKeAGm8hhTw" name="extensionLocation" type="__dmXUq8kEdqRKeAGm8hhTw" isOrdered="true" association="__dwIBK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXFa8kEdqRKeAGm8hhTw" annotatedElement="__dmXFK8kEdqRKeAGm8hhTw">

         <body>An ordered list of extension points belonging to the extended use case, specifying where the respective behavioral fragments of the extending use case are to be inserted. The first fragment in the extending use case is associated with the first extension point in the list, the second fragment with the second point, and so on. (Note that, in most practical cases, the extending use case has just a single behavior fragment, so that the list of extension points is trivial.)

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZOq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZO68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXFq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXF68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39eZPK8aEdqf6aL57Hh6KQ" name="Include">

-    <ownedComment xmi:id="_39eZPa8aEdqf6aL57Hh6KQ" annotatedElement="_39eZPK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dmXGK8kEdqRKeAGm8hhTw" name="Include">

+    <ownedComment xmi:id="__dmXGa8kEdqRKeAGm8hhTw" annotatedElement="__dmXGK8kEdqRKeAGm8hhTw">

       <body>Note that the included use case is not optional, and is always required for the  including use case to execute correctly.

 

 

 

 </body>

     </ownedComment>

-    <generalization xmi:id="_39eZPq8aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <generalization xmi:id="_39eZP68aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39eZQK8aEdqf6aL57Hh6KQ" name="includingCase" type="_39eZSq8aEdqf6aL57Hh6KQ" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ" association="_39eZja8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_39eZQa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39eZQq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__dmXGq8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <generalization xmi:id="__dmXG68kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dmXHK8kEdqRKeAGm8hhTw" name="includingCase" type="__dmXJq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw" association="__dmXaa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dmXHa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dmXHq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39eZQ68aEdqf6aL57Hh6KQ" annotatedElement="_39eZQK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dmXH68kEdqRKeAGm8hhTw" annotatedElement="__dmXHK8kEdqRKeAGm8hhTw">

         <body>References the use case which will include the addition and owns the include relationship.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZRK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZRa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXIK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXIa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZRq8aEdqf6aL57Hh6KQ" name="addition" type="_39eZSq8aEdqf6aL57Hh6KQ" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_39eZkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZR68aEdqf6aL57Hh6KQ" annotatedElement="_39eZRq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dmXIq8kEdqRKeAGm8hhTw" name="addition" type="__dmXJq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__dwH8K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXI68kEdqRKeAGm8hhTw" annotatedElement="__dmXIq8kEdqRKeAGm8hhTw">

         <body>References the use case that is to be included.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZSK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZSa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXJK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXJa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39eZSq8aEdqf6aL57Hh6KQ" name="UseCase">

-    <ownedComment xmi:id="_39eZS68aEdqf6aL57Hh6KQ" annotatedElement="_39eZSq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dmXJq8kEdqRKeAGm8hhTw" name="UseCase">

+    <ownedComment xmi:id="__dmXJ68kEdqRKeAGm8hhTw" annotatedElement="__dmXJq8kEdqRKeAGm8hhTw">

       <body>A UseCase is a kind of behaviored classifier that represents a declaration of an offered behavior. Each use case specifies some behavior, possibly including variants, that the subject can perform in collaboration with one or more actors. Use cases define the offered behavior of the subject without reference to its internal structure. These behaviors, involving

 

 interactions between the actor and the subject, may result in changes to the state of the subject and communications with its environment. A use case can include possible variations of its basic behavior, including exceptional behavior and error handling.

@@ -4088,225 +4088,225 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_39eZTK8aEdqf6aL57Hh6KQ" name="must_have_name" constrainedElement="_39eZSq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZTa8aEdqf6aL57Hh6KQ" annotatedElement="_39eZTK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dmXKK8kEdqRKeAGm8hhTw" name="must_have_name" constrainedElement="__dmXJq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXKa8kEdqRKeAGm8hhTw" annotatedElement="__dmXKK8kEdqRKeAGm8hhTw">

         <body>A UseCase must have a name.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZTq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmXKq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.name -> notEmpty ()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39eZT68aEdqf6aL57Hh6KQ" name="binary_associations" constrainedElement="_39eZSq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZUK8aEdqf6aL57Hh6KQ" annotatedElement="_39eZT68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dmXK68kEdqRKeAGm8hhTw" name="binary_associations" constrainedElement="__dmXJq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXLK8kEdqRKeAGm8hhTw" annotatedElement="__dmXK68kEdqRKeAGm8hhTw">

         <body>UseCases can only be involved in binary Associations.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZUa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmXLa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39eZUq8aEdqf6aL57Hh6KQ" name="no_association_to_use_case" constrainedElement="_39eZSq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZU68aEdqf6aL57Hh6KQ" annotatedElement="_39eZUq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dmXLq8kEdqRKeAGm8hhTw" name="no_association_to_use_case" constrainedElement="__dmXJq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXL68kEdqRKeAGm8hhTw" annotatedElement="__dmXLq8kEdqRKeAGm8hhTw">

         <body>UseCases can not have Associations to UseCases specifying the same subject.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZVK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmXMK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39eZVa8aEdqf6aL57Hh6KQ" name="cannot_include_self" constrainedElement="_39eZSq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZVq8aEdqf6aL57Hh6KQ" annotatedElement="_39eZVa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dmXMa8kEdqRKeAGm8hhTw" name="cannot_include_self" constrainedElement="__dmXJq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXMq8kEdqRKeAGm8hhTw" annotatedElement="__dmXMa8kEdqRKeAGm8hhTw">

         <body>A use case cannot include use cases that directly or indirectly include it.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZV68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmXM68kEdqRKeAGm8hhTw" language="OCL">

         <body>not self.allIncludedUseCases()->includes(self)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39eZWK8aEdqf6aL57Hh6KQ" general="_iY7sMGvsEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39eZWa8aEdqf6aL57Hh6KQ" name="include" type="_39eZPK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_39eZja8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39eZWq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39eZW68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dmXNK8kEdqRKeAGm8hhTw" general="_iY7sMGvsEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dmXNa8kEdqRKeAGm8hhTw" name="include" type="__dmXGK8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__dmXaa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dmXNq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dmXN68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39eZXK8aEdqf6aL57Hh6KQ" annotatedElement="_39eZWa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dmXOK8kEdqRKeAGm8hhTw" annotatedElement="__dmXNa8kEdqRKeAGm8hhTw">

         <body>References the Include relationships owned by this use case.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZXa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZXq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXOa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXOq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZX68aEdqf6aL57Hh6KQ" name="extend" type="_39eZIa8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_39ni5a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39eZYK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39eZYa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dmXO68kEdqRKeAGm8hhTw" name="extend" type="__dmW_a8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__dwH-q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dmXPK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dmXPa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39eZYq8aEdqf6aL57Hh6KQ" annotatedElement="_39eZX68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dmXPq8kEdqRKeAGm8hhTw" annotatedElement="__dmXO68kEdqRKeAGm8hhTw">

         <body>References the Extend relationships owned by this use case.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZY68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZZK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXP68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXQK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZZa8aEdqf6aL57Hh6KQ" name="extensionPoint" type="_39eZdq8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_39ni6K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39eZZq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39eZZ68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dmXQa8kEdqRKeAGm8hhTw" name="extensionPoint" type="__dmXUq8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__dwH_a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dmXQq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dmXQ68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39eZaK8aEdqf6aL57Hh6KQ" annotatedElement="_39eZZa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dmXRK8kEdqRKeAGm8hhTw" annotatedElement="__dmXQa8kEdqRKeAGm8hhTw">

         <body>References the ExtensionPoints owned by the use case.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZaa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZaq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXRa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXRq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZa68aEdqf6aL57Hh6KQ" name="subject" type="_6UV2QGwJEdq7X4sGURiZYA" association="_39ni-K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZbK8aEdqf6aL57Hh6KQ" annotatedElement="_39eZa68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dmXR68kEdqRKeAGm8hhTw" name="subject" type="_6UV2QGwJEdq7X4sGURiZYA" association="__dwIDa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXSK8kEdqRKeAGm8hhTw" annotatedElement="__dmXR68kEdqRKeAGm8hhTw">

         <body>References the subjects to which this use case applies. The subject or its parts realize all the use cases that apply to this subject. Use cases need not be attached to any specific subject, however. The subject may, but need not, own the use cases that apply to it.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZba8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZbq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXSa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXSq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_39eZb68aEdqf6aL57Hh6KQ" name="allIncludedUseCases" type="_39eZSq8aEdqf6aL57Hh6KQ" isQuery="true" bodyCondition="_39eZca8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZcK8aEdqf6aL57Hh6KQ" annotatedElement="_39eZb68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__dmXS68kEdqRKeAGm8hhTw" name="allIncludedUseCases" type="__dmXJq8kEdqRKeAGm8hhTw" isQuery="true" bodyCondition="__dmXTa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXTK8kEdqRKeAGm8hhTw" annotatedElement="__dmXS68kEdqRKeAGm8hhTw">

         <body>The query allIncludedUseCases() returns the transitive closure of all use cases (directly or indirectly) included by this use case.</body>

       </ownedComment>

-      <ownedRule xmi:id="_39eZca8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_39eZb68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZcq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__dmXTa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__dmXS68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmXTq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.include->union(self.include->collect(in | in.allIncludedUseCases()))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_39eZc68aEdqf6aL57Hh6KQ" type="_39eZSq8aEdqf6aL57Hh6KQ" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZdK8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZda8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__dmXT68kEdqRKeAGm8hhTw" type="__dmXJq8kEdqRKeAGm8hhTw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXUK8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXUa8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39eZdq8aEdqf6aL57Hh6KQ" name="ExtensionPoint">

-    <ownedComment xmi:id="_39eZd68aEdqf6aL57Hh6KQ" annotatedElement="_39eZdq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dmXUq8kEdqRKeAGm8hhTw" name="ExtensionPoint">

+    <ownedComment xmi:id="__dmXU68kEdqRKeAGm8hhTw" annotatedElement="__dmXUq8kEdqRKeAGm8hhTw">

       <body>An ExtensionPoint is a feature of a use case that identifies a point where the behavior of a use case can be augmented with elements of another (extending) use case.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39eZeK8aEdqf6aL57Hh6KQ" name="must_have_name" constrainedElement="_39eZdq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZea8aEdqf6aL57Hh6KQ" annotatedElement="_39eZeK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dmXVK8kEdqRKeAGm8hhTw" name="must_have_name" constrainedElement="__dmXUq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXVa8kEdqRKeAGm8hhTw" annotatedElement="__dmXVK8kEdqRKeAGm8hhTw">

         <body>An ExtensionPoint must have a name.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39eZeq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dmXVq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.name->notEmpty ()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39eZe68aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39eZfK8aEdqf6aL57Hh6KQ" name="useCase" type="_39eZSq8aEdqf6aL57Hh6KQ" association="_39ni6K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_39eZfa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39eZfq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__dmXV68kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dmXWK8kEdqRKeAGm8hhTw" name="useCase" type="__dmXJq8kEdqRKeAGm8hhTw" association="__dwH_a8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dmXWa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dmXWq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39eZf68aEdqf6aL57Hh6KQ" annotatedElement="_39eZfK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dmXW68kEdqRKeAGm8hhTw" annotatedElement="__dmXWK8kEdqRKeAGm8hhTw">

         <body>References the use case that owns this extension point.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZgK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZga8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXXK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXXa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eZja8aEdqf6aL57Hh6KQ" name="A_includingCase_include" memberEnd="_39eZWa8aEdqf6aL57Hh6KQ _39eZQK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39eZjq8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_39eZj68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dmXaa8kEdqRKeAGm8hhTw" name="A_includingCase_include" memberEnd="__dmXNa8kEdqRKeAGm8hhTw __dmXHK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dmXaq8kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__dmXa68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39eZkK8aEdqf6aL57Hh6KQ" name="A_addition_include" memberEnd="_39eZkq8aEdqf6aL57Hh6KQ _39eZRq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39eZka8aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39eZkq8aEdqf6aL57Hh6KQ" type="_39eZPK8aEdqf6aL57Hh6KQ" association="_39eZkK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZk68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZlK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dwH8K8kEdqRKeAGm8hhTw" name="A_addition_include" memberEnd="__dmXIq8kEdqRKeAGm8hhTw __dwH8q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dwH8a8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dwH8q8kEdqRKeAGm8hhTw" type="__dmXGK8kEdqRKeAGm8hhTw" association="__dwH8K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwH868kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwH9K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39ni4K8aEdqf6aL57Hh6KQ" name="A_extendedCase_extend" memberEnd="_39eZKK8aEdqf6aL57Hh6KQ _39ni4q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39ni4a8aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39ni4q8aEdqf6aL57Hh6KQ" type="_39eZIa8aEdqf6aL57Hh6KQ" association="_39ni4K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39ni468aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39ni5K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dwH9a8kEdqRKeAGm8hhTw" name="A_extendedCase_extend" memberEnd="__dmXBK8kEdqRKeAGm8hhTw __dwH968kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dwH9q8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dwH968kEdqRKeAGm8hhTw" type="__dmW_a8kEdqRKeAGm8hhTw" association="__dwH9a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwH-K8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwH-a8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39ni5a8aEdqf6aL57Hh6KQ" name="A_extension_extend" memberEnd="_39eZLK8aEdqf6aL57Hh6KQ _39eZX68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39ni5q8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_39ni568aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dwH-q8kEdqRKeAGm8hhTw" name="A_extension_extend" memberEnd="__dmXCK8kEdqRKeAGm8hhTw __dmXO68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dwH-68kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__dwH_K8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39ni6K8aEdqf6aL57Hh6KQ" name="A_extensionPoint_useCase" memberEnd="_39eZfK8aEdqf6aL57Hh6KQ _39eZZa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39ni6a8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dwH_a8kEdqRKeAGm8hhTw" name="A_extensionPoint_useCase" memberEnd="__dmXQa8kEdqRKeAGm8hhTw __dmXWK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dwH_q8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39ni6q8aEdqf6aL57Hh6KQ" name="A_condition_extend" memberEnd="_39eZMq8aEdqf6aL57Hh6KQ _39ni7K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39ni668aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39ni7K8aEdqf6aL57Hh6KQ" type="_39eZIa8aEdqf6aL57Hh6KQ" association="_39ni6q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39ni7a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39ni7q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dwH_68kEdqRKeAGm8hhTw" name="A_condition_extend" memberEnd="__dmXDq8kEdqRKeAGm8hhTw __dwIAa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dwIAK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dwIAa8kEdqRKeAGm8hhTw" type="__dmW_a8kEdqRKeAGm8hhTw" association="__dwH_68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIAq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIA68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39ni768aEdqf6aL57Hh6KQ" name="A_extensionLocation_extension" memberEnd="_39ni8K8aEdqf6aL57Hh6KQ _39eZOK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39ni8K8aEdqf6aL57Hh6KQ" name="extension" type="_39eZIa8aEdqf6aL57Hh6KQ" association="_39ni768aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39ni8a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39ni8q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dwIBK8kEdqRKeAGm8hhTw" name="A_extensionLocation_extension" memberEnd="__dmXFK8kEdqRKeAGm8hhTw __dwIBa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__dwIBa8kEdqRKeAGm8hhTw" name="extension" type="__dmW_a8kEdqRKeAGm8hhTw" association="__dwIBK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIBq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIB68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39ni868aEdqf6aL57Hh6KQ" name="A_ownedUseCase_classifier" memberEnd="_39eZg68aEdqf6aL57Hh6KQ _39ni9a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39ni9K8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39ni9a8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" association="_39ni868aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39ni9q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39ni968aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__dwICK8kEdqRKeAGm8hhTw" name="A_ownedUseCase_classifier" memberEnd="__dmXX68kEdqRKeAGm8hhTw __dwICq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__dwICa8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__dwICq8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" association="__dwICK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIC68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIDK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39ni-K8aEdqf6aL57Hh6KQ" name="A_subject_useCase" memberEnd="_39eZa68aEdqf6aL57Hh6KQ _39eZia8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39ni_68aEdqf6aL57Hh6KQ" name="CallEvent">

-    <ownedComment xmi:id="_39njAK8aEdqf6aL57Hh6KQ" annotatedElement="_39ni_68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__dwIDa8kEdqRKeAGm8hhTw" name="A_subject_useCase" memberEnd="__dmXZa8kEdqRKeAGm8hhTw __dmXR68kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Class" xmi:id="__dwIFK8kEdqRKeAGm8hhTw" name="CallEvent">

+    <ownedComment xmi:id="__dwIFa8kEdqRKeAGm8hhTw" annotatedElement="__dwIFK8kEdqRKeAGm8hhTw">

       <body>A call event represents the reception of a request to invoke a specific operation. A call event is distinct from the call action that caused it. A call event may cause the invocation of a behavior that is the method of the operation referenced by the call request, if that operation is owned or inherited by the classifier that specified the receiver object.</body>

     </ownedComment>

-    <generalization xmi:id="_39njAa8aEdqf6aL57Hh6KQ" general="_39njTq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39njAq8aEdqf6aL57Hh6KQ" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" association="_39xT7K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39njA68aEdqf6aL57Hh6KQ" annotatedElement="_39njAq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dwIFq8kEdqRKeAGm8hhTw" general="__dwIY68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dwIF68kEdqRKeAGm8hhTw" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" association="__d55Ca8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dwIGK8kEdqRKeAGm8hhTw" annotatedElement="__dwIF68kEdqRKeAGm8hhTw">

         <body>Designates the operation whose invocation raised the call event.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39njBK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39njBa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIGa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIGq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39njBq8aEdqf6aL57Hh6KQ" name="ChangeEvent">

-    <ownedComment xmi:id="_39njB68aEdqf6aL57Hh6KQ" annotatedElement="_39njBq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dwIG68kEdqRKeAGm8hhTw" name="ChangeEvent">

+    <ownedComment xmi:id="__dwIHK8kEdqRKeAGm8hhTw" annotatedElement="__dwIG68kEdqRKeAGm8hhTw">

       <body>A change event occurs when a Boolean-valued expression becomes true, for example, as a result of a change in the value held in a slot corresponding to an attribute, or a change in the value referenced by a link corresponding to an association. A change event is raised implicitly and is not the result of an explicit action.</body>

     </ownedComment>

-    <generalization xmi:id="_39njCK8aEdqf6aL57Hh6KQ" general="_39njWq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39njCa8aEdqf6aL57Hh6KQ" name="changeExpression" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39xUA68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39njCq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39njC68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dwIHa8kEdqRKeAGm8hhTw" general="__d54-a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dwIHq8kEdqRKeAGm8hhTw" name="changeExpression" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__d55IK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dwIH68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dwIIK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39njDK8aEdqf6aL57Hh6KQ" annotatedElement="_39njCa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dwIIa8kEdqRKeAGm8hhTw" annotatedElement="__dwIHq8kEdqRKeAGm8hhTw">

         <body>A Boolean-valued expression that will result in a change event whenever its value changes from false to true.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39njDa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39njDq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIIq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwII68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39njK68aEdqf6aL57Hh6KQ" name="Reception">

-    <ownedComment xmi:id="_39njLK8aEdqf6aL57Hh6KQ" annotatedElement="_39njK68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dwIQK8kEdqRKeAGm8hhTw" name="Reception">

+    <ownedComment xmi:id="__dwIQa8kEdqRKeAGm8hhTw" annotatedElement="__dwIQK8kEdqRKeAGm8hhTw">

       <body>A reception is a declaration stating that a classifier is prepared to react to the receipt of a signal. A reception designates a signal and specifies the expected behavioral response. The details of handling a signal are specified by the behavior associated with the reception or the classifier itself.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39njLa8aEdqf6aL57Hh6KQ" name="not_query" constrainedElement="_39njK68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39njLq8aEdqf6aL57Hh6KQ" annotatedElement="_39njLa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dwIQq8kEdqRKeAGm8hhTw" name="not_query" constrainedElement="__dwIQK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dwIQ68kEdqRKeAGm8hhTw" annotatedElement="__dwIQq8kEdqRKeAGm8hhTw">

         <body>A Reception can not be a query.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39njL68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dwIRK8kEdqRKeAGm8hhTw" language="OCL">

         <body>not self.isQuery</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39njMK8aEdqf6aL57Hh6KQ" general="_rHT3YKOsEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_39njMa8aEdqf6aL57Hh6KQ" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_39xT6K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39njMq8aEdqf6aL57Hh6KQ" annotatedElement="_39njMa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dwIRa8kEdqRKeAGm8hhTw" general="_rHT3YKOsEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__dwIRq8kEdqRKeAGm8hhTw" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="__d55Ba8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dwIR68kEdqRKeAGm8hhTw" annotatedElement="__dwIRq8kEdqRKeAGm8hhTw">

         <body>The signal that this reception handles.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39njM68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39njNK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwISK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwISa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_Pu3O0HL0EdqziYxiZo0YtA" name="Signal">

-    <ownedComment xmi:id="_39njNa8aEdqf6aL57Hh6KQ" annotatedElement="_Pu3O0HL0EdqziYxiZo0YtA">

+    <ownedComment xmi:id="__dwISq8kEdqRKeAGm8hhTw" annotatedElement="_Pu3O0HL0EdqziYxiZo0YtA">

       <body>A signal is a specification of send request instances communicated between objects. The receiving object handles the received request instances as specified by its receptions. The data carried by a send request (which was passed to it by the send invocation occurrence that caused that request) are represented as attributes of the signal. A signal is defined independently of the classifiers handling the signal occurrence.</body>

     </ownedComment>

-    <generalization xmi:id="_39njNq8aEdqf6aL57Hh6KQ" general="_6UV2QGwJEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_39njN68aEdqf6aL57Hh6KQ" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_326d8K8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_39xUCK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39njOK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39njOa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dwIS68kEdqRKeAGm8hhTw" general="_6UV2QGwJEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__dwITK8kEdqRKeAGm8hhTw" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__Xyp6K8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__d55Ja8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dwITa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dwITq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39njOq8aEdqf6aL57Hh6KQ" annotatedElement="_39njN68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dwIT68kEdqRKeAGm8hhTw" annotatedElement="__dwITK8kEdqRKeAGm8hhTw">

         <body>The attributes owned by the signal.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39njO68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39njPK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIUK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIUa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_YIM4UHL0EdqziYxiZo0YtA" name="createOwnedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA">

       <returnResult xmi:id="_YIM4UXL0EdqziYxiZo0YtA" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>

@@ -4322,79 +4322,79 @@
       <ownedParameter xmi:id="_YIM4VXL0EdqziYxiZo0YtA" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39njPa8aEdqf6aL57Hh6KQ" name="SignalEvent">

-    <ownedComment xmi:id="_39njPq8aEdqf6aL57Hh6KQ" annotatedElement="_39njPa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dwIUq8kEdqRKeAGm8hhTw" name="SignalEvent">

+    <ownedComment xmi:id="__dwIU68kEdqRKeAGm8hhTw" annotatedElement="__dwIUq8kEdqRKeAGm8hhTw">

       <body>A signal event represents the receipt of an asynchronous signal. A signal event may cause a response, such as a state machine transition as specified in the classifier behavior of the classifier that specified the receiver object, if the signal referenced by the send request is mentioned in a reception owned or inherited by the classifier that specified the receiver object.</body>

     </ownedComment>

-    <generalization xmi:id="_39njP68aEdqf6aL57Hh6KQ" general="_39njTq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39njQK8aEdqf6aL57Hh6KQ" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_39xT8K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39njQa8aEdqf6aL57Hh6KQ" annotatedElement="_39njQK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dwIVK8kEdqRKeAGm8hhTw" general="__dwIY68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dwIVa8kEdqRKeAGm8hhTw" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="__d55Da8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dwIVq8kEdqRKeAGm8hhTw" annotatedElement="__dwIVa8kEdqRKeAGm8hhTw">

         <body>The specific signal that is associated with this event.</body>

       </ownedComment>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39njTq8aEdqf6aL57Hh6KQ" name="MessageEvent" isAbstract="true">

-    <ownedComment xmi:id="_39njT68aEdqf6aL57Hh6KQ" annotatedElement="_39njTq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dwIY68kEdqRKeAGm8hhTw" name="MessageEvent" isAbstract="true">

+    <ownedComment xmi:id="__dwIZK8kEdqRKeAGm8hhTw" annotatedElement="__dwIY68kEdqRKeAGm8hhTw">

       <body>A message event specifies the receipt by an object of either a call or a signal. MessageEvent is an abstract metaclass.</body>

     </ownedComment>

-    <generalization xmi:id="_39njUK8aEdqf6aL57Hh6KQ" general="_39njWq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dwIZa8kEdqRKeAGm8hhTw" general="__d54-a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39njUa8aEdqf6aL57Hh6KQ" name="AnyReceiveEvent">

-    <ownedComment xmi:id="_39njUq8aEdqf6aL57Hh6KQ" annotatedElement="_39njUa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__d548K8kEdqRKeAGm8hhTw" name="AnyReceiveEvent">

+    <ownedComment xmi:id="__d548a8kEdqRKeAGm8hhTw" annotatedElement="__d548K8kEdqRKeAGm8hhTw">

       <body>A transition trigger associated with AnyReceiveEvent specifies that the transition is to be triggered by the receipt of any message that is not explicitly referenced in another transition from the same vertex.</body>

     </ownedComment>

-    <generalization xmi:id="_39njU68aEdqf6aL57Hh6KQ" general="_39njTq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__d548q8kEdqRKeAGm8hhTw" general="__dwIY68kEdqRKeAGm8hhTw"/>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_iY7sMGvsEdqG6fBIPwe-mw" name="BehavioredClassifier" isAbstract="true">

-    <ownedComment xmi:id="_38lBN68aEdqf6aL57Hh6KQ" annotatedElement="_iY7sMGvsEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__c2wG68kEdqRKeAGm8hhTw" annotatedElement="_iY7sMGvsEdqG6fBIPwe-mw">

       <body>A BehavioredClassifier may have an interface realization.</body>

     </ownedComment>

-    <ownedComment xmi:id="_371aUa8aEdqf6aL57Hh6KQ" annotatedElement="_iY7sMGvsEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__cHJX68kEdqRKeAGm8hhTw" annotatedElement="_iY7sMGvsEdqG6fBIPwe-mw">

       <body>A classifier can have behavior specifications defined in its namespace. One of these may specify the behavior of the classifier itself.</body>

     </ownedComment>

-    <ownedRule xmi:id="_371aUq8aEdqf6aL57Hh6KQ" name="class_behavior" constrainedElement="_iY7sMGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_371aU68aEdqf6aL57Hh6KQ" annotatedElement="_371aUq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJYK8kEdqRKeAGm8hhTw" name="class_behavior" constrainedElement="_iY7sMGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__cHJYa8kEdqRKeAGm8hhTw" annotatedElement="__cHJYK8kEdqRKeAGm8hhTw">

         <body>If a behavior is classifier behavior, it does not have a specification.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_371aVK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJYq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.classifierBehavior.notEmpty() implies self.specification.isEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_371aVa8aEdqf6aL57Hh6KQ" general="_6UV2QGwJEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_371aVq8aEdqf6aL57Hh6KQ" name="ownedBehavior" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_371aka8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_371aV68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_371aWK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cHJY68kEdqRKeAGm8hhTw" general="_6UV2QGwJEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__cHJZK8kEdqRKeAGm8hhTw" name="ownedBehavior" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__cHJn68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cHJZa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cHJZq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371aWa8aEdqf6aL57Hh6KQ" annotatedElement="_371aVq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cHJZ68kEdqRKeAGm8hhTw" annotatedElement="__cHJZK8kEdqRKeAGm8hhTw">

         <body>References behavior specifications owned by a classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aWq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aW68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJaK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJaa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aXK8aEdqf6aL57Hh6KQ" name="classifierBehavior" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_371aVq8aEdqf6aL57Hh6KQ" association="_371alq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371aXa8aEdqf6aL57Hh6KQ" annotatedElement="_371aXK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cHJaq8kEdqRKeAGm8hhTw" name="classifierBehavior" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__cHJZK8kEdqRKeAGm8hhTw" association="__cHJpK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJa68kEdqRKeAGm8hhTw" annotatedElement="__cHJaq8kEdqRKeAGm8hhTw">

         <body>A behavior specification that specifies the behavior of the classifier itself.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aXq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aX68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJbK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJba8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38lBOa8aEdqf6aL57Hh6KQ" name="interfaceRealization" type="_l2mXcHLzEdqziYxiZo0YtA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ _38bQTK8aEdqf6aL57Hh6KQ" association="_38lBVa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38lBOq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38lBO68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__c2wHa8kEdqRKeAGm8hhTw" name="interfaceRealization" type="_l2mXcHLzEdqziYxiZo0YtA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw __ctmO68kEdqRKeAGm8hhTw" association="__c2wOa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__c2wHq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wH68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38lBPK8aEdqf6aL57Hh6KQ" annotatedElement="_38lBOa8aEdqf6aL57Hh6KQ"/>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBPa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBPq8aEdqf6aL57Hh6KQ"/>

+      <ownedComment xmi:id="__c2wIK8kEdqRKeAGm8hhTw" annotatedElement="__c2wHa8kEdqRKeAGm8hhTw"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wIa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wIq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39njVK8aEdqf6aL57Hh6KQ" name="ownedTrigger" type="_39njHa8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_39xUDq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39njVa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39njVq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__d54868kEdqRKeAGm8hhTw" name="ownedTrigger" type="__dwIMq8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__d55K68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__d549K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__d549a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39njV68aEdqf6aL57Hh6KQ" annotatedElement="_39njVK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__d549q8kEdqRKeAGm8hhTw" annotatedElement="__d54868kEdqRKeAGm8hhTw">

         <body>References Trigger descriptions owned by a Classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39njWK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39njWa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d54968kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d54-K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_dx6lQK69EdqjppZik4kD8A" name="getImplementedInterfaces" type="_8Ugn8GvtEdqG6fBIPwe-mw">

       <returnResult xmi:id="_gSQbEK69EdqjppZik4kD8A" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

@@ -4409,14 +4409,14 @@
       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39njWq8aEdqf6aL57Hh6KQ" name="Event" isAbstract="true">

-    <ownedComment xmi:id="_39njW68aEdqf6aL57Hh6KQ" annotatedElement="_39njWq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__d54-a8kEdqRKeAGm8hhTw" name="Event" isAbstract="true">

+    <ownedComment xmi:id="__d54-q8kEdqRKeAGm8hhTw" annotatedElement="__d54-a8kEdqRKeAGm8hhTw">

       <body>An event is the specification of some occurrence that may potentially trigger effects by an object.</body>

     </ownedComment>

-    <generalization xmi:id="_39njXK8aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__d54-68kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_39xT4K8aEdqf6aL57Hh6KQ" name="CallConcurrencyKind">

-    <ownedComment xmi:id="_39xT4a8aEdqf6aL57Hh6KQ" annotatedElement="_39xT4K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__d54_a8kEdqRKeAGm8hhTw" name="CallConcurrencyKind">

+    <ownedComment xmi:id="__d54_q8kEdqRKeAGm8hhTw" annotatedElement="__d54_a8kEdqRKeAGm8hhTw">

       <body>CallConcurrencyKind is an enumeration with the following literals:

 

 • sequential No concurrency management mechanism is associated with the operation and, therefore, concurrency conflicts may occur. Instances that invoke a behavioral feature need to coordinate so that only one invocation to a target on any behavioral feature occurs at once.

@@ -4429,763 +4429,763 @@
 

 </body>

     </ownedComment>

-    <ownedLiteral xmi:id="_39xT4q8aEdqf6aL57Hh6KQ" name="sequential">

-      <ownedComment xmi:id="_39xT468aEdqf6aL57Hh6KQ" annotatedElement="_39xT4q8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__d54_68kEdqRKeAGm8hhTw" name="sequential">

+      <ownedComment xmi:id="__d55AK8kEdqRKeAGm8hhTw" annotatedElement="__d54_68kEdqRKeAGm8hhTw">

         <body>No concurrency management mechanism is associated with the operation and, therefore, concurrency conflicts may occur. Instances that invoke a behavioral feature need to coordinate so that only one invocation to a target on any behavioral feature occurs at once.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39xT5K8aEdqf6aL57Hh6KQ" name="guarded">

-      <ownedComment xmi:id="_39xT5a8aEdqf6aL57Hh6KQ" annotatedElement="_39xT5K8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__d55Aa8kEdqRKeAGm8hhTw" name="guarded">

+      <ownedComment xmi:id="__d55Aq8kEdqRKeAGm8hhTw" annotatedElement="__d55Aa8kEdqRKeAGm8hhTw">

         <body>Multiple invocations of a behavioral feature may occur simultaneously to one instance, but only one is allowed to commence. The others are blocked until the performance of the first behavioral feature is complete. It is the responsibility of the system designer to ensure that deadlocks do not occur due to simultaneous blocks.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_39xT5q8aEdqf6aL57Hh6KQ" name="concurrent">

-      <ownedComment xmi:id="_39xT568aEdqf6aL57Hh6KQ" annotatedElement="_39xT5q8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__d55A68kEdqRKeAGm8hhTw" name="concurrent">

+      <ownedComment xmi:id="__d55BK8kEdqRKeAGm8hhTw" annotatedElement="__d55A68kEdqRKeAGm8hhTw">

         <body>Multiple invocations of a behavioral feature may occur simultaneously to one instance and all of them may proceed concurrently.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xT6K8aEdqf6aL57Hh6KQ" name="A_reception_signal" memberEnd="_39xT6a8aEdqf6aL57Hh6KQ _39njMa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39xT6a8aEdqf6aL57Hh6KQ" type="_39njK68aEdqf6aL57Hh6KQ" association="_39xT6K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xT6q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xT668aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55Ba8kEdqRKeAGm8hhTw" name="A_reception_signal" memberEnd="__dwIRq8kEdqRKeAGm8hhTw __d55Bq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__d55Bq8kEdqRKeAGm8hhTw" type="__dwIQK8kEdqRKeAGm8hhTw" association="__d55Ba8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d55B68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d55CK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xT7K8aEdqf6aL57Hh6KQ" name="A_operation_callEvent" memberEnd="_39njAq8aEdqf6aL57Hh6KQ _39xT7a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39xT7a8aEdqf6aL57Hh6KQ" type="_39ni_68aEdqf6aL57Hh6KQ" association="_39xT7K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xT7q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xT768aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55Ca8kEdqRKeAGm8hhTw" name="A_operation_callEvent" memberEnd="__d55Cq8kEdqRKeAGm8hhTw __dwIF68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__d55Cq8kEdqRKeAGm8hhTw" type="__dwIFK8kEdqRKeAGm8hhTw" association="__d55Ca8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d55C68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d55DK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xT8K8aEdqf6aL57Hh6KQ" name="A_signal_signalEvent" memberEnd="_39njQK8aEdqf6aL57Hh6KQ _39xT8a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39xT8a8aEdqf6aL57Hh6KQ" type="_39njPa8aEdqf6aL57Hh6KQ" association="_39xT8K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xT8q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xT868aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55Da8kEdqRKeAGm8hhTw" name="A_signal_signalEvent" memberEnd="__dwIVa8kEdqRKeAGm8hhTw __d55Dq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__d55Dq8kEdqRKeAGm8hhTw" type="__dwIUq8kEdqRKeAGm8hhTw" association="__d55Da8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d55D68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d55EK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xT9K8aEdqf6aL57Hh6KQ" name="A_ownedReception_interface" memberEnd="_39njJa8aEdqf6aL57Hh6KQ _39xT968aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39xT9a8aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_39xT9q8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39xT968aEdqf6aL57Hh6KQ" type="_8Ugn8GvtEdqG6fBIPwe-mw" association="_39xT9K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xT-K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xT-a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55Ea8kEdqRKeAGm8hhTw" name="A_ownedReception_interface" memberEnd="__dwIOq8kEdqRKeAGm8hhTw __d55FK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__d55Eq8kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__d55E68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__d55FK8kEdqRKeAGm8hhTw" type="_8Ugn8GvtEdqG6fBIPwe-mw" association="__d55Ea8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d55Fa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d55Fq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xT-q8aEdqf6aL57Hh6KQ" name="A_ownedReception_class" memberEnd="_39njF68aEdqf6aL57Hh6KQ _39xT_a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39xT-68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_39xT_K8aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39xT_a8aEdqf6aL57Hh6KQ" type="_00owUGvdEdq4DLWZOhbdEA" association="_39xT-q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xT_q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xT_68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55F68kEdqRKeAGm8hhTw" name="A_ownedReception_class" memberEnd="__dwILK8kEdqRKeAGm8hhTw __d55Gq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__d55GK8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__d55Ga8kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__d55Gq8kEdqRKeAGm8hhTw" type="_00owUGvdEdq4DLWZOhbdEA" association="__d55F68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d55G68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d55HK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xUA68aEdqf6aL57Hh6KQ" name="A_changeExpression_changeEvent" memberEnd="_39njCa8aEdqf6aL57Hh6KQ _39xUBa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39xUBK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39xUBa8aEdqf6aL57Hh6KQ" type="_39njBq8aEdqf6aL57Hh6KQ" association="_39xUA68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55IK8kEdqRKeAGm8hhTw" name="A_changeExpression_changeEvent" memberEnd="__dwIHq8kEdqRKeAGm8hhTw __d55Iq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__d55Ia8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__d55Iq8kEdqRKeAGm8hhTw" type="__dwIG68kEdqRKeAGm8hhTw" association="__d55IK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_342Xpa8aEdqf6aL57Hh6KQ" name="A_raisedException_behavioralFeature" memberEnd="_34Qh0a8aEdqf6aL57Hh6KQ _342Xpq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_342Xpq8aEdqf6aL57Hh6KQ" type="_rHT3YKOsEdqi_5gqUMOQtA" association="_342Xpa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUBq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUB68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__Zbosq8kEdqRKeAGm8hhTw" name="A_raisedException_behavioralFeature" memberEnd="__Y-80a8kEdqRKeAGm8hhTw __Zbos68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__Zbos68kEdqRKeAGm8hhTw" type="_rHT3YKOsEdqi_5gqUMOQtA" association="__Zbosq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d55I68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d55JK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xUCK8aEdqf6aL57Hh6KQ" name="A_ownedAttribute_owningSignal" memberEnd="_39xUC68aEdqf6aL57Hh6KQ _39njN68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39xUCa8aEdqf6aL57Hh6KQ" general="_34tNsK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_39xUCq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39xUC68aEdqf6aL57Hh6KQ" name="owningSignal" type="_Pu3O0HL0EdqziYxiZo0YtA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ _34tNs68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ" association="_39xUCK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUDK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUDa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55Ja8kEdqRKeAGm8hhTw" name="A_ownedAttribute_owningSignal" memberEnd="__dwITK8kEdqRKeAGm8hhTw __d55KK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__d55Jq8kEdqRKeAGm8hhTw" general="__ZR36q8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__d55J68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__d55KK8kEdqRKeAGm8hhTw" name="owningSignal" type="_Pu3O0HL0EdqziYxiZo0YtA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw __ZR37a8kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw" association="__d55Ja8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d55Ka8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d55Kq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xUDq8aEdqf6aL57Hh6KQ" name="A_ownedTrigger_behavioredClassifier" memberEnd="_39xUEK8aEdqf6aL57Hh6KQ _39njVK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39xUD68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39xUEK8aEdqf6aL57Hh6KQ" type="_iY7sMGvsEdqG6fBIPwe-mw" association="_39xUDq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUEa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUEq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55K68kEdqRKeAGm8hhTw" name="A_ownedTrigger_behavioredClassifier" memberEnd="__d55La8kEdqRKeAGm8hhTw __d54868kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__d55LK8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__d55La8kEdqRKeAGm8hhTw" type="_iY7sMGvsEdqG6fBIPwe-mw" association="__d55K68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__d55Lq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__d55L68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xUE68aEdqf6aL57Hh6KQ" name="A_event_trigger" memberEnd="_39njIK8aEdqf6aL57Hh6KQ _39xUFK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_39xUFK8aEdqf6aL57Hh6KQ" type="_39njHa8aEdqf6aL57Hh6KQ" association="_39xUE68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55MK8kEdqRKeAGm8hhTw" name="A_event_trigger" memberEnd="__dwINa8kEdqRKeAGm8hhTw __d55Ma8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__d55Ma8kEdqRKeAGm8hhTw" type="__dwIMq8kEdqRKeAGm8hhTw" association="__d55MK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39xUFa8aEdqf6aL57Hh6KQ" name="ForkNode">

-    <ownedComment xmi:id="_39xUFq8aEdqf6aL57Hh6KQ" annotatedElement="_39xUFa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__d55Mq8kEdqRKeAGm8hhTw" name="ForkNode">

+    <ownedComment xmi:id="__d55M68kEdqRKeAGm8hhTw" annotatedElement="__d55Mq8kEdqRKeAGm8hhTw">

       <body>A fork node has one incoming edge and multiple outgoing edges.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39xUF68aEdqf6aL57Hh6KQ" name="one_incoming_edge" constrainedElement="_39xUFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUGK8aEdqf6aL57Hh6KQ" annotatedElement="_39xUF68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__d55NK8kEdqRKeAGm8hhTw" name="one_incoming_edge" constrainedElement="__d55Mq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__d55Na8kEdqRKeAGm8hhTw" annotatedElement="__d55NK8kEdqRKeAGm8hhTw">

         <body>A fork node has one incoming edge.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39xUGa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__d55Nq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39xUGq8aEdqf6aL57Hh6KQ" name="edges" constrainedElement="_39xUFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUG68aEdqf6aL57Hh6KQ" annotatedElement="_39xUGq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__d55N68kEdqRKeAGm8hhTw" name="edges" constrainedElement="__d55Mq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__d55OK8kEdqRKeAGm8hhTw" annotatedElement="__d55N68kEdqRKeAGm8hhTw">

         <body>The edges coming into and out of a fork node must be either all object flows or all control flows.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39xUHK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__d55Oa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39xUHa8aEdqf6aL57Hh6KQ" general="_3838VK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__d55Oq8kEdqRKeAGm8hhTw" general="__dAhc68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39xUHq8aEdqf6aL57Hh6KQ" name="FlowFinalNode">

-    <ownedComment xmi:id="_39xUH68aEdqf6aL57Hh6KQ" annotatedElement="_39xUHq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__d55O68kEdqRKeAGm8hhTw" name="FlowFinalNode">

+    <ownedComment xmi:id="__d55PK8kEdqRKeAGm8hhTw" annotatedElement="__d55O68kEdqRKeAGm8hhTw">

       <body>A flow final destroys all tokens that arrive at it. It has no effect on other flows in the activity.</body>

     </ownedComment>

-    <generalization xmi:id="_39xUIK8aEdqf6aL57Hh6KQ" general="_397FAa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__d55Pa8kEdqRKeAGm8hhTw" general="__eDDPa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39xUIa8aEdqf6aL57Hh6KQ" name="CentralBufferNode">

-    <ownedComment xmi:id="_39xUIq8aEdqf6aL57Hh6KQ" annotatedElement="_39xUIa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eDC4K8kEdqRKeAGm8hhTw" name="CentralBufferNode">

+    <ownedComment xmi:id="__eDC4a8kEdqRKeAGm8hhTw" annotatedElement="__eDC4K8kEdqRKeAGm8hhTw">

       <body>A central buffer node accepts tokens from upstream objects nodes and passes them along to downstream object nodes. They act as a buffer for multiple in flows and out flows from other object nodes. They do not connect directly to actions.</body>

     </ownedComment>

-    <generalization xmi:id="_39xUI68aEdqf6aL57Hh6KQ" general="_3838Sq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eDC4q8kEdqRKeAGm8hhTw" general="__dAhaa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39xUJK8aEdqf6aL57Hh6KQ" name="ActivityPartition">

-    <ownedComment xmi:id="_39xUJa8aEdqf6aL57Hh6KQ" annotatedElement="_39xUJK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eDC468kEdqRKeAGm8hhTw" name="ActivityPartition">

+    <ownedComment xmi:id="__eDC5K8kEdqRKeAGm8hhTw" annotatedElement="__eDC468kEdqRKeAGm8hhTw">

       <body>Partitions divide the nodes and edges to constrain and show a view of the contained nodes. Partitions can share contents. They often correspond to organizational units in a business model. They may be used to allocate characteristics or resources among the nodes of an activity.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39xUJq8aEdqf6aL57Hh6KQ" name="dimension_not_contained" constrainedElement="_39xUJK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUJ68aEdqf6aL57Hh6KQ" annotatedElement="_39xUJq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDC5a8kEdqRKeAGm8hhTw" name="dimension_not_contained" constrainedElement="__eDC468kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDC5q8kEdqRKeAGm8hhTw" annotatedElement="__eDC5a8kEdqRKeAGm8hhTw">

         <body>A partition with isDimension = true may not be contained by another partition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39xUKK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDC568kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39xUKa8aEdqf6aL57Hh6KQ" name="represents_part" constrainedElement="_39xUJK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUKq8aEdqf6aL57Hh6KQ" annotatedElement="_39xUKa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDC6K8kEdqRKeAGm8hhTw" name="represents_part" constrainedElement="__eDC468kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDC6a8kEdqRKeAGm8hhTw" annotatedElement="__eDC6K8kEdqRKeAGm8hhTw">

         <body>If a partition represents a part, then all the non-external partitions in the same dimension and at the same level of nesting in that dimension must represent parts directly contained in the internal structure of the same classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39xUK68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDC6q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39xULK8aEdqf6aL57Hh6KQ" name="represents_classifier" constrainedElement="_39xUJK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xULa8aEdqf6aL57Hh6KQ" annotatedElement="_39xULK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDC668kEdqRKeAGm8hhTw" name="represents_classifier" constrainedElement="__eDC468kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDC7K8kEdqRKeAGm8hhTw" annotatedElement="__eDC668kEdqRKeAGm8hhTw">

         <body>If a non-external partition represents a classifier and is contained in another partition, then the containing partition must represent a classifier, and the classifier of the subpartition must be nested in the classifier represented by the containing partition, or be at the contained end of a strong composition association with the classifier represented by the containing partition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39xULq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDC7a8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39xUL68aEdqf6aL57Hh6KQ" name="represents_part_and_is_contained" constrainedElement="_39xUJK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUMK8aEdqf6aL57Hh6KQ" annotatedElement="_39xUL68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDC7q8kEdqRKeAGm8hhTw" name="represents_part_and_is_contained" constrainedElement="__eDC468kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDC768kEdqRKeAGm8hhTw" annotatedElement="__eDC7q8kEdqRKeAGm8hhTw">

         <body>If a partition represents a part and is contained by another partition, then the part must be of a classifier represented by the containing partition, or of a classifier that is the type of a part representing the containing partition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39xUMa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDC8K8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39xUMq8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <generalization xmi:id="_39xUM68aEdqf6aL57Hh6KQ" general="_38IVLa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39xUNK8aEdqf6aL57Hh6KQ" name="isDimension" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_39xUNa8aEdqf6aL57Hh6KQ" annotatedElement="_39xUNK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eDC8a8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <generalization xmi:id="__eDC8q8kEdqRKeAGm8hhTw" general="__caEOq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eDC868kEdqRKeAGm8hhTw" name="isDimension" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__eDC9K8kEdqRKeAGm8hhTw" annotatedElement="__eDC868kEdqRKeAGm8hhTw">

         <body>Tells whether the partition groups other partitions along a dimension.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_39xUNq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__eDC9a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39xUN68aEdqf6aL57Hh6KQ" name="isExternal" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_39xUOK8aEdqf6aL57Hh6KQ" annotatedElement="_39xUN68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eDC9q8kEdqRKeAGm8hhTw" name="isExternal" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__eDC968kEdqRKeAGm8hhTw" annotatedElement="__eDC9q8kEdqRKeAGm8hhTw">

         <body>Tells whether the partition represents an entity to which the partitioning structure does not apply.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_39xUOa8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__eDC-K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39xUOq8aEdqf6aL57Hh6KQ" name="edge" type="_3838V68aEdqf6aL57Hh6KQ" subsettedProperty="_3838n68aEdqf6aL57Hh6KQ" association="_397FFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUO68aEdqf6aL57Hh6KQ" annotatedElement="_39xUOq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eDC-a8kEdqRKeAGm8hhTw" name="edge" type="__dAhdq8kEdqRKeAGm8hhTw" subsettedProperty="__dJrFa8kEdqRKeAGm8hhTw" association="__eDDUa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDC-q8kEdqRKeAGm8hhTw" annotatedElement="__eDC-a8kEdqRKeAGm8hhTw">

         <body>Edges immediately contained in the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUPK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUPa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDC-68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDC_K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39xUPq8aEdqf6aL57Hh6KQ" name="node" type="_38IVSq8aEdqf6aL57Hh6KQ" subsettedProperty="_38IVMK8aEdqf6aL57Hh6KQ" association="_397FF68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUP68aEdqf6aL57Hh6KQ" annotatedElement="_39xUPq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eDC_a8kEdqRKeAGm8hhTw" name="node" type="__caEV68kEdqRKeAGm8hhTw" subsettedProperty="__caEPa8kEdqRKeAGm8hhTw" association="__eDDU68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDC_q8kEdqRKeAGm8hhTw" annotatedElement="__eDC_a8kEdqRKeAGm8hhTw">

         <body>Nodes immediately contained in the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUQK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUQa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDC_68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDAK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39xUQq8aEdqf6aL57Hh6KQ" name="subpartition" type="_39xUJK8aEdqf6aL57Hh6KQ" subsettedProperty="_38IVPK8aEdqf6aL57Hh6KQ" association="_397FGa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39xUQ68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39xURK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eDDAa8kEdqRKeAGm8hhTw" name="subpartition" type="__eDC468kEdqRKeAGm8hhTw" subsettedProperty="__caESa8kEdqRKeAGm8hhTw" association="__eDDVa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eDDAq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eDDA68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39xURa8aEdqf6aL57Hh6KQ" annotatedElement="_39xUQq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eDDBK8kEdqRKeAGm8hhTw" annotatedElement="__eDDAa8kEdqRKeAGm8hhTw">

         <body>Partitions immediately contained in the partition. Specialized from Activity-Group::subgroup.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xURq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUR68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDBa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDBq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39xUSK8aEdqf6aL57Hh6KQ" name="superPartition" type="_39xUJK8aEdqf6aL57Hh6KQ" subsettedProperty="_38IVQq8aEdqf6aL57Hh6KQ" association="_397FGa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_39xUSa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39xUSq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__eDDB68kEdqRKeAGm8hhTw" name="superPartition" type="__eDC468kEdqRKeAGm8hhTw" subsettedProperty="__caET68kEdqRKeAGm8hhTw" association="__eDDVa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eDDCK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eDDCa8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39xUS68aEdqf6aL57Hh6KQ" annotatedElement="_39xUSK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eDDCq8kEdqRKeAGm8hhTw" annotatedElement="__eDDB68kEdqRKeAGm8hhTw">

         <body>Partition immediately containing the partition.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUTK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUTa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDC68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDDK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39xUTq8aEdqf6aL57Hh6KQ" name="represents" type="_kl90MGvbEdq4DLWZOhbdEA" association="_397FG68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUT68aEdqf6aL57Hh6KQ" annotatedElement="_39xUTq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eDDDa8kEdqRKeAGm8hhTw" name="represents" type="_kl90MGvbEdq4DLWZOhbdEA" association="__eDDV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDDq8kEdqRKeAGm8hhTw" annotatedElement="__eDDDa8kEdqRKeAGm8hhTw">

         <body>An element constraining behaviors invoked by nodes in the partition.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUUK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUUa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDD68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDEK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_397E6K8aEdqf6aL57Hh6KQ" name="MergeNode">

-    <ownedComment xmi:id="_397E6a8aEdqf6aL57Hh6KQ" annotatedElement="_397E6K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eDDJK8kEdqRKeAGm8hhTw" name="MergeNode">

+    <ownedComment xmi:id="__eDDJa8kEdqRKeAGm8hhTw" annotatedElement="__eDDJK8kEdqRKeAGm8hhTw">

       <body>A merge node has multiple incoming edges and a single outgoing edge.</body>

     </ownedComment>

-    <ownedRule xmi:id="_397E6q8aEdqf6aL57Hh6KQ" name="one_outgoing_edge" constrainedElement="_397E6K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397E668aEdqf6aL57Hh6KQ" annotatedElement="_397E6q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDDJq8kEdqRKeAGm8hhTw" name="one_outgoing_edge" constrainedElement="__eDDJK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDJ68kEdqRKeAGm8hhTw" annotatedElement="__eDDJq8kEdqRKeAGm8hhTw">

         <body>A merge node has one outgoing edge.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397E7K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDDKK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397E7a8aEdqf6aL57Hh6KQ" name="edges" constrainedElement="_397E6K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397E7q8aEdqf6aL57Hh6KQ" annotatedElement="_397E7a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDDKa8kEdqRKeAGm8hhTw" name="edges" constrainedElement="__eDDJK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDKq8kEdqRKeAGm8hhTw" annotatedElement="__eDDKa8kEdqRKeAGm8hhTw">

         <body>The edges coming into and out of a merge node must be either all object flows or all control flows.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397E768aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDDK68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_397E8K8aEdqf6aL57Hh6KQ" general="_3838VK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eDDLK8kEdqRKeAGm8hhTw" general="__dAhc68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_397E8a8aEdqf6aL57Hh6KQ" name="DecisionNode">

-    <ownedComment xmi:id="_397E8q8aEdqf6aL57Hh6KQ" annotatedElement="_397E8a8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eDDLa8kEdqRKeAGm8hhTw" name="DecisionNode">

+    <ownedComment xmi:id="__eDDLq8kEdqRKeAGm8hhTw" annotatedElement="__eDDLa8kEdqRKeAGm8hhTw">

       <body>A decision node has one incoming edge and multiple outgoing activity edges.</body>

     </ownedComment>

-    <ownedRule xmi:id="_397E868aEdqf6aL57Hh6KQ" name="one_incoming_edge" constrainedElement="_397E8a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397E9K8aEdqf6aL57Hh6KQ" annotatedElement="_397E868aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDDL68kEdqRKeAGm8hhTw" name="one_incoming_edge" constrainedElement="__eDDLa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDMK8kEdqRKeAGm8hhTw" annotatedElement="__eDDL68kEdqRKeAGm8hhTw">

         <body>A decision node has one incoming edge.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397E9a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDDMa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397E9q8aEdqf6aL57Hh6KQ" name="input_parameter" constrainedElement="_397E8a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397E968aEdqf6aL57Hh6KQ" annotatedElement="_397E9q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDDMq8kEdqRKeAGm8hhTw" name="input_parameter" constrainedElement="__eDDLa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDM68kEdqRKeAGm8hhTw" annotatedElement="__eDDMq8kEdqRKeAGm8hhTw">

         <body>A decision input behavior has zero or one input parameter and one output parameter. Any input parameter must be the same as or a supertype of the type of object tokens coming along the incoming edge. The behavior cannot have side effects.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397E-K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDDNK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397E-a8aEdqf6aL57Hh6KQ" name="edges" constrainedElement="_397E8a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397E-q8aEdqf6aL57Hh6KQ" annotatedElement="_397E-a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDDNa8kEdqRKeAGm8hhTw" name="edges" constrainedElement="__eDDLa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDNq8kEdqRKeAGm8hhTw" annotatedElement="__eDDNa8kEdqRKeAGm8hhTw">

         <body>The edges coming into and out of a decision node must be either all object flows or all control flows.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397E-68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDDN68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_397E_K8aEdqf6aL57Hh6KQ" general="_3838VK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_397E_a8aEdqf6aL57Hh6KQ" name="decisionInput" type="_TUPtYGveEdq4DLWZOhbdEA" association="_397FIq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397E_q8aEdqf6aL57Hh6KQ" annotatedElement="_397E_a8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eDDOK8kEdqRKeAGm8hhTw" general="__dAhc68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eDDOa8kEdqRKeAGm8hhTw" name="decisionInput" type="_TUPtYGveEdq4DLWZOhbdEA" association="__eDDXq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDOq8kEdqRKeAGm8hhTw" annotatedElement="__eDDOa8kEdqRKeAGm8hhTw">

         <body>Provides input to guard specifications on edges outgoing from the decision node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397E_68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FAK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDO68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDPK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_397FAa8aEdqf6aL57Hh6KQ" name="FinalNode" isAbstract="true">

-    <ownedComment xmi:id="_397FAq8aEdqf6aL57Hh6KQ" annotatedElement="_397FAa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eDDPa8kEdqRKeAGm8hhTw" name="FinalNode" isAbstract="true">

+    <ownedComment xmi:id="__eDDPq8kEdqRKeAGm8hhTw" annotatedElement="__eDDPa8kEdqRKeAGm8hhTw">

       <body>A final node is an abstract control node at which a flow in an activity stops.</body>

     </ownedComment>

-    <ownedRule xmi:id="_397FA68aEdqf6aL57Hh6KQ" name="no_outgoing_edges" constrainedElement="_397FAa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397FBK8aEdqf6aL57Hh6KQ" annotatedElement="_397FA68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eDDP68kEdqRKeAGm8hhTw" name="no_outgoing_edges" constrainedElement="__eDDPa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDQK8kEdqRKeAGm8hhTw" annotatedElement="__eDDP68kEdqRKeAGm8hhTw">

         <body>A final node has no outgoing edges.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397FBa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eDDQa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_397FBq8aEdqf6aL57Hh6KQ" general="_3838VK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eDDQq8kEdqRKeAGm8hhTw" general="__dAhc68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838k68aEdqf6aL57Hh6KQ" name="ActivityFinalNode">

-    <ownedComment xmi:id="_3838lK8aEdqf6aL57Hh6KQ" annotatedElement="_3838k68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dJrCa8kEdqRKeAGm8hhTw" name="ActivityFinalNode">

+    <ownedComment xmi:id="__dJrCq8kEdqRKeAGm8hhTw" annotatedElement="__dJrCa8kEdqRKeAGm8hhTw">

       <body>An activity may have more than one activity final node. The first one reached stops all flows in the activity.</body>

     </ownedComment>

-    <generalization xmi:id="_397FB68aEdqf6aL57Hh6KQ" general="_397FAa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eDDQ68kEdqRKeAGm8hhTw" general="__eDDPa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_397FFa8aEdqf6aL57Hh6KQ" name="A_edge_inPartition" memberEnd="_39xUUq8aEdqf6aL57Hh6KQ _39xUOq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_397FFq8aEdqf6aL57Hh6KQ" general="_39BtO68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eDDUa8kEdqRKeAGm8hhTw" name="A_edge_inPartition" memberEnd="__eDC-a8kEdqRKeAGm8hhTw __eDDEa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eDDUq8kEdqRKeAGm8hhTw" general="__dJrVq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_397FF68aEdqf6aL57Hh6KQ" name="A_inPartition_node" memberEnd="_397E4q8aEdqf6aL57Hh6KQ _39xUPq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_397FGK8aEdqf6aL57Hh6KQ" general="_38IVW68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eDDU68kEdqRKeAGm8hhTw" name="A_inPartition_node" memberEnd="__eDC_a8kEdqRKeAGm8hhTw __eDDHq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eDDVK8kEdqRKeAGm8hhTw" general="__caEaK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_397FGa8aEdqf6aL57Hh6KQ" name="A_subpartition_superPartition" memberEnd="_39xUQq8aEdqf6aL57Hh6KQ _39xUSK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_397FGq8aEdqf6aL57Hh6KQ" general="_38IVXq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eDDVa8kEdqRKeAGm8hhTw" name="A_subpartition_superPartition" memberEnd="__eDDAa8kEdqRKeAGm8hhTw __eDDB68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eDDVq8kEdqRKeAGm8hhTw" general="__caEa68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_397FG68aEdqf6aL57Hh6KQ" name="A_represents_activityPartition" memberEnd="_39xUTq8aEdqf6aL57Hh6KQ _397FHK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_397FHK8aEdqf6aL57Hh6KQ" type="_39xUJK8aEdqf6aL57Hh6KQ" association="_397FG68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FHa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FHq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eDDV68kEdqRKeAGm8hhTw" name="A_represents_activityPartition" memberEnd="__eDDDa8kEdqRKeAGm8hhTw __eDDWK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eDDWK8kEdqRKeAGm8hhTw" type="__eDC468kEdqRKeAGm8hhTw" association="__eDDV68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDWa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDWq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_397FH68aEdqf6aL57Hh6KQ" name="A_activityEdge_guard" memberEnd="_397FIa8aEdqf6aL57Hh6KQ _39xUVq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_397FIK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_397FIa8aEdqf6aL57Hh6KQ" type="_3838V68aEdqf6aL57Hh6KQ" association="_397FH68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eDDW68kEdqRKeAGm8hhTw" name="A_activityEdge_guard" memberEnd="__eDDXa8kEdqRKeAGm8hhTw __eDDFa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eDDXK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eDDXa8kEdqRKeAGm8hhTw" type="__dAhdq8kEdqRKeAGm8hhTw" association="__eDDW68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_397FIq8aEdqf6aL57Hh6KQ" name="A_decisionInput_decisionNode" memberEnd="_397E_a8aEdqf6aL57Hh6KQ _397FI68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_397FI68aEdqf6aL57Hh6KQ" type="_397E8a8aEdqf6aL57Hh6KQ" association="_397FIq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FJK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FJa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eDDXq8kEdqRKeAGm8hhTw" name="A_decisionInput_decisionNode" memberEnd="__eDDOa8kEdqRKeAGm8hhTw __eDDX68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eDDX68kEdqRKeAGm8hhTw" type="__eDDLa8kEdqRKeAGm8hhTw" association="__eDDXq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDYK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDYa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_397FJq8aEdqf6aL57Hh6KQ" name="A_partition_activity" memberEnd="_397FD68aEdqf6aL57Hh6KQ _397FKK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_397FJ68aEdqf6aL57Hh6KQ" general="_38IVXK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_397FKK8aEdqf6aL57Hh6KQ" type="_37_L168aEdqf6aL57Hh6KQ" association="_397FJq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FKa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FKq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eMz4K8kEdqRKeAGm8hhTw" name="A_partition_activity" memberEnd="__eDDS68kEdqRKeAGm8hhTw __eMz4q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eMz4a8kEdqRKeAGm8hhTw" general="__caEaa8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eMz4q8kEdqRKeAGm8hhTw" type="__caEKK8kEdqRKeAGm8hhTw" association="__eMz4K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eMz468kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eMz5K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38IVXK8aEdqf6aL57Hh6KQ" name="A_group_inActivity" memberEnd="_38IVJ68aEdqf6aL57Hh6KQ _38IVNq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_38IVXa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__caEaa8kEdqRKeAGm8hhTw" name="A_group_inActivity" memberEnd="__caENK8kEdqRKeAGm8hhTw __caEQ68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__caEaq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_397FT68aEdqf6aL57Hh6KQ" name="EncapsulatedClassifier" isAbstract="true">

-    <ownedComment xmi:id="_397FUK8aEdqf6aL57Hh6KQ" annotatedElement="_397FT68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eM0Ca8kEdqRKeAGm8hhTw" name="EncapsulatedClassifier" isAbstract="true">

+    <ownedComment xmi:id="__eM0Cq8kEdqRKeAGm8hhTw" annotatedElement="__eM0Ca8kEdqRKeAGm8hhTw">

       <body>Extends a classifier with the ability to own ports as specific and type checked interaction points.</body>

     </ownedComment>

-    <generalization xmi:id="_397FUa8aEdqf6aL57Hh6KQ" general="_FQiVsGwYEdqHKKVoxc0dlA"/>

-    <ownedAttribute xmi:id="_397FUq8aEdqf6aL57Hh6KQ" name="ownedPort" type="_ZAuvEGveEdq4DLWZOhbdEA" isDerived="true" subsettedProperty="_38uyP68aEdqf6aL57Hh6KQ" association="_3-EO1K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_397FU68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_397FVK8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__eM0C68kEdqRKeAGm8hhTw" general="_FQiVsGwYEdqHKKVoxc0dlA"/>

+    <ownedAttribute xmi:id="__eM0DK8kEdqRKeAGm8hhTw" name="ownedPort" type="_ZAuvEGveEdq4DLWZOhbdEA" isDerived="true" subsettedProperty="__c2wd68kEdqRKeAGm8hhTw" association="__eM0H68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eM0Da8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eM0Dq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_397FVa8aEdqf6aL57Hh6KQ" annotatedElement="_397FUq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eM0D68kEdqRKeAGm8hhTw" annotatedElement="__eM0DK8kEdqRKeAGm8hhTw">

         <body>References a set of ports that an encapsulated classifier owns.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FVq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FV68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0EK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0Ea8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_aOgw0GveEdq4DLWZOhbdEA" name="ConnectorEnd">

-    <ownedComment xmi:id="_38lBY68aEdqf6aL57Hh6KQ" annotatedElement="_aOgw0GveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__c2wR68kEdqRKeAGm8hhTw" annotatedElement="_aOgw0GveEdq4DLWZOhbdEA">

       <body>A connector end is an endpoint of a connector, which attaches the connector to a connectable element. Each connector end is part of one connector.</body>

     </ownedComment>

-    <ownedRule xmi:id="_38uyEK8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_38uyEa8aEdqf6aL57Hh6KQ" annotatedElement="_38uyEK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__c2wSK8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__c2wSa8kEdqRKeAGm8hhTw" annotatedElement="__c2wSK8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the connector end may not be more general than the multiplicity of the association typing the owning connector.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38uyEq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__c2wSq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397FWK8aEdqf6aL57Hh6KQ" name="part_with_port_empty" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_397FWa8aEdqf6aL57Hh6KQ" annotatedElement="_397FWK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eM0Eq8kEdqRKeAGm8hhTw" name="part_with_port_empty" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__eM0E68kEdqRKeAGm8hhTw" annotatedElement="__eM0Eq8kEdqRKeAGm8hhTw">

         <body>If a connector end is attached to a port of the containing classifier, partWithPort will be empty.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397FWq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0FK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397FW68aEdqf6aL57Hh6KQ" name="role_and_part_with_port" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_397FXK8aEdqf6aL57Hh6KQ" annotatedElement="_397FW68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eM0Fa8kEdqRKeAGm8hhTw" name="role_and_part_with_port" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__eM0Fq8kEdqRKeAGm8hhTw" annotatedElement="__eM0Fa8kEdqRKeAGm8hhTw">

         <body>If a connector end references both a role and a partWithPort, then the role must be a port that is defined by the type of the partWithPort.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397FXa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0F68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397FXq8aEdqf6aL57Hh6KQ" name="self_part_with_port" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_397FX68aEdqf6aL57Hh6KQ" annotatedElement="_397FXq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eM0GK8kEdqRKeAGm8hhTw" name="self_part_with_port" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__eM0Ga8kEdqRKeAGm8hhTw" annotatedElement="__eM0GK8kEdqRKeAGm8hhTw">

         <body>The property held in self.partWithPort must not be a Port.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397FYK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0Gq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38uyE68aEdqf6aL57Hh6KQ" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_38uyFK8aEdqf6aL57Hh6KQ" name="definingEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_38uyhq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38uyFa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38uyFq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__c2wS68kEdqRKeAGm8hhTw" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__c2wTK8kEdqRKeAGm8hhTw" name="definingEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="__dAhGq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__c2wTa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wTq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38uyF68aEdqf6aL57Hh6KQ" annotatedElement="_38uyFK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__c2wT68kEdqRKeAGm8hhTw" annotatedElement="__c2wTK8kEdqRKeAGm8hhTw">

         <body>A derived association referencing the corresponding association end on the association which types the connector owing this connector end. This association is derived by selecting the association end at the same place in the ordering of association ends as this connector end.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyGK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyGa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wUK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wUa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38uyGq8aEdqf6aL57Hh6KQ" name="role" type="_38uyV68aEdqf6aL57Hh6KQ" association="_38uyiq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38uyG68aEdqf6aL57Hh6KQ" annotatedElement="_38uyGq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__c2wUq8kEdqRKeAGm8hhTw" name="role" type="__c2wj68kEdqRKeAGm8hhTw" association="__dAhHq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__c2wU68kEdqRKeAGm8hhTw" annotatedElement="__c2wUq8kEdqRKeAGm8hhTw">

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

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyHK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyHa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wVK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wVa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-EO0K8aEdqf6aL57Hh6KQ" name="partWithPort" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_3-EO568aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EO0a8aEdqf6aL57Hh6KQ" annotatedElement="_3-EO0K8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eM0G68kEdqRKeAGm8hhTw" name="partWithPort" type="_Jp_1oGveEdq4DLWZOhbdEA" association="__eM0Mq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eM0HK8kEdqRKeAGm8hhTw" annotatedElement="__eM0G68kEdqRKeAGm8hhTw">

         <body>Indicates the role of the internal structure of a classifier with the port to which the connector end is attached.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EO0q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EO068aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0Ha8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0Hq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_QT7XMFYKEdqrn7iZ0eqieg" name="getDefiningEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true">

       <returnResult xmi:id="_VkstQFYKEdqrn7iZ0eqieg" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EO1K8aEdqf6aL57Hh6KQ" name="A_encapsulatedClassifier_ownedPort" memberEnd="_397FUq8aEdqf6aL57Hh6KQ _3-EO168aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-EO1q8aEdqf6aL57Hh6KQ" general="_38uyZa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-EO168aEdqf6aL57Hh6KQ" type="_397FT68aEdqf6aL57Hh6KQ" redefinedProperty="_38uyaa8aEdqf6aL57Hh6KQ" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_3-EO1K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EO2K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EO2a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eM0H68kEdqRKeAGm8hhTw" name="A_encapsulatedClassifier_ownedPort" memberEnd="__eM0Iq8kEdqRKeAGm8hhTw __eM0DK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eM0Ia8kEdqRKeAGm8hhTw" general="__c2wna8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eM0Iq8kEdqRKeAGm8hhTw" type="__eM0Ca8kEdqRKeAGm8hhTw" redefinedProperty="__c2woa8kEdqRKeAGm8hhTw" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__eM0H68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0I68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0JK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EO2q8aEdqf6aL57Hh6KQ" name="A_required_port" memberEnd="_397FP68aEdqf6aL57Hh6KQ _3-EO268aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-EO268aEdqf6aL57Hh6KQ" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_3-EO2q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EO3K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EO3a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eM0Ja8kEdqRKeAGm8hhTw" name="A_required_port" memberEnd="__eMz-a8kEdqRKeAGm8hhTw __eM0Jq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eM0Jq8kEdqRKeAGm8hhTw" type="_ZAuvEGveEdq4DLWZOhbdEA" association="__eM0Ja8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0J68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0KK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EO3q8aEdqf6aL57Hh6KQ" name="A_redefinedPort_port" memberEnd="_3-EO4K8aEdqf6aL57Hh6KQ _397FRa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-EO368aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-EO4K8aEdqf6aL57Hh6KQ" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_3-EO3q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EO4a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EO4q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eM0Ka8kEdqRKeAGm8hhTw" name="A_redefinedPort_port" memberEnd="__eMz_68kEdqRKeAGm8hhTw __eM0K68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eM0Kq8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eM0K68kEdqRKeAGm8hhTw" type="_ZAuvEGveEdq4DLWZOhbdEA" association="__eM0Ka8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0LK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0La8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EO468aEdqf6aL57Hh6KQ" name="A_provided_port" memberEnd="_3-EO5K8aEdqf6aL57Hh6KQ _397FSa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-EO5K8aEdqf6aL57Hh6KQ" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_3-EO468aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EO5a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EO5q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eM0Lq8kEdqRKeAGm8hhTw" name="A_provided_port" memberEnd="__eM0A68kEdqRKeAGm8hhTw __eM0L68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eM0L68kEdqRKeAGm8hhTw" type="_ZAuvEGveEdq4DLWZOhbdEA" association="__eM0Lq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0MK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0Ma8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EO568aEdqf6aL57Hh6KQ" name="A_partWithPort_connectorEnd" memberEnd="_3-EO0K8aEdqf6aL57Hh6KQ _3-EO6K8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-EO6K8aEdqf6aL57Hh6KQ" type="_aOgw0GveEdq4DLWZOhbdEA" association="_3-EO568aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eM0Mq8kEdqRKeAGm8hhTw" name="A_partWithPort_connectorEnd" memberEnd="__eM0M68kEdqRKeAGm8hhTw __eM0G68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eM0M68kEdqRKeAGm8hhTw" type="_aOgw0GveEdq4DLWZOhbdEA" association="__eM0Mq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-EPI68aEdqf6aL57Hh6KQ" name="ComponentRealization">

-    <ownedComment xmi:id="_3-EPJK8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPI68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eM0bq8kEdqRKeAGm8hhTw" name="ComponentRealization">

+    <ownedComment xmi:id="__eM0b68kEdqRKeAGm8hhTw" annotatedElement="__eM0bq8kEdqRKeAGm8hhTw">

       <body>In the metamodel, a ComponentRealization is a subtype of Dependencies::Realization.</body>

     </ownedComment>

-    <generalization xmi:id="_3-EPJa8aEdqf6aL57Hh6KQ" general="_38bQNa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-EPJq8aEdqf6aL57Hh6KQ" name="abstraction" type="_DAbfwa69EdqjppZik4kD8A" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ _38bQMa8aEdqf6aL57Hh6KQ" association="_3-EPVK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-EPJ68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-EPKK8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__eM0cK8kEdqRKeAGm8hhTw" general="__ctmJK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eM0ca8kEdqRKeAGm8hhTw" name="abstraction" type="_DAbfwa69EdqjppZik4kD8A" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw __ctmIK8kEdqRKeAGm8hhTw" association="__eV97a8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eM0cq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eM0c68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-EPKa8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPJq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eM0dK8kEdqRKeAGm8hhTw" annotatedElement="__eM0ca8kEdqRKeAGm8hhTw">

         <body>The Component that owns this ComponentRealization and which is implemented by its realizing classifiers.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPKq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPK68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0da8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0dq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-EPLK8aEdqf6aL57Hh6KQ" name="realizingClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_38bQLa8aEdqf6aL57Hh6KQ" association="_3-EPV68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPLa8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPLK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eM0d68kEdqRKeAGm8hhTw" name="realizingClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="__cj1jq8kEdqRKeAGm8hhTw" association="__eV98K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eM0eK8kEdqRKeAGm8hhTw" annotatedElement="__eM0d68kEdqRKeAGm8hhTw">

         <body>A classifier that is involved in the implementation of the Component that owns this ComponentRealization.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPLq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPL68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0ea8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0eq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38uyHq8aEdqf6aL57Hh6KQ" name="Connector">

-    <ownedComment xmi:id="_38uyH68aEdqf6aL57Hh6KQ" annotatedElement="_38uyHq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__c2wVq8kEdqRKeAGm8hhTw" name="Connector">

+    <ownedComment xmi:id="__c2wV68kEdqRKeAGm8hhTw" annotatedElement="__c2wVq8kEdqRKeAGm8hhTw">

       <body>Each connector may be attached to two or more connectable elements, each representing a set of instances. Each connector end is distinct in the sense that it plays a distinct role in the communication realized over a connector. The communications realized over a connector may be constrained by various constraints (including type constraints) that apply to the attached connectable elements.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3-EPMK8aEdqf6aL57Hh6KQ" annotatedElement="_38uyHq8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__eM0e68kEdqRKeAGm8hhTw" annotatedElement="__c2wVq8kEdqRKeAGm8hhTw">

       <body>In the metamodel, a connector kind attribute is added to the Connector metaclass. Its value is an enumeration type with valid values 'assembly' or 'delegation'.</body>

     </ownedComment>

-    <ownedRule xmi:id="_38uyIK8aEdqf6aL57Hh6KQ" name="types" constrainedElement="_38uyHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38uyIa8aEdqf6aL57Hh6KQ" annotatedElement="_38uyIK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__c2wWK8kEdqRKeAGm8hhTw" name="types" constrainedElement="__c2wVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__c2wWa8kEdqRKeAGm8hhTw" annotatedElement="__c2wWK8kEdqRKeAGm8hhTw">

         <body>The types of the connectable elements that the ends of a connector are attached to must conform to the types of the association ends of the association that types the connector, if any.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38uyIq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__c2wWq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_38uyI68aEdqf6aL57Hh6KQ" name="compatible" constrainedElement="_38uyHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38uyJK8aEdqf6aL57Hh6KQ" annotatedElement="_38uyI68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__c2wW68kEdqRKeAGm8hhTw" name="compatible" constrainedElement="__c2wVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__c2wXK8kEdqRKeAGm8hhTw" annotatedElement="__c2wW68kEdqRKeAGm8hhTw">

         <body>The connectable elements attached to the ends of a connector must be compatible.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38uyJa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__c2wXa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_38uyJq8aEdqf6aL57Hh6KQ" name="roles" constrainedElement="_38uyHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38uyJ68aEdqf6aL57Hh6KQ" annotatedElement="_38uyJq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__c2wXq8kEdqRKeAGm8hhTw" name="roles" constrainedElement="__c2wVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__c2wX68kEdqRKeAGm8hhTw" annotatedElement="__c2wXq8kEdqRKeAGm8hhTw">

         <body>The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38uyKK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__c2wYK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-EPMa8aEdqf6aL57Hh6KQ" name="between_interfaces_ports" constrainedElement="_38uyHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPMq8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPMa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eM0fK8kEdqRKeAGm8hhTw" name="between_interfaces_ports" constrainedElement="__c2wVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eM0fa8kEdqRKeAGm8hhTw" annotatedElement="__eM0fK8kEdqRKeAGm8hhTw">

         <body>A delegation connector must only be defined between used Interfaces or Ports of the same kind, e.g. between two provided Ports or between two required Ports.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPM68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0fq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-EPNK8aEdqf6aL57Hh6KQ" name="between_interface_port_implements" constrainedElement="_38uyHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPNa8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPNK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eM0f68kEdqRKeAGm8hhTw" name="between_interface_port_implements" constrainedElement="__c2wVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eM0gK8kEdqRKeAGm8hhTw" annotatedElement="__eM0f68kEdqRKeAGm8hhTw">

         <body>If a delegation connector is defined between a used Interface or Port and an internal Part Classifier, then that Classifier must have an 'implements' relationship to the Interface type of that Port.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPNq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0ga8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-EPN68aEdqf6aL57Hh6KQ" name="between_interface_port_signature" constrainedElement="_38uyHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPOK8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPN68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eV90K8kEdqRKeAGm8hhTw" name="between_interface_port_signature" constrainedElement="__c2wVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eV90a8kEdqRKeAGm8hhTw" annotatedElement="__eV90K8kEdqRKeAGm8hhTw">

         <body>If a delegation connector is defined between a source Interface or Port and a target Interface or Port, then the target Interface must support a signature compatible subset of Operations of the source Interface or Port.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPOa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eV90q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-EPOq8aEdqf6aL57Hh6KQ" name="union_signature_compatible" constrainedElement="_38uyHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPO68aEdqf6aL57Hh6KQ" annotatedElement="_3-EPOq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eV9068kEdqRKeAGm8hhTw" name="union_signature_compatible" constrainedElement="__c2wVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eV91K8kEdqRKeAGm8hhTw" annotatedElement="__eV9068kEdqRKeAGm8hhTw">

         <body>In a complete model, if a source Port has delegation connectors to a set of delegated target Ports, then the union of the Interfaces of these target Ports must be signature compatible with the Interface that types the source Port.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPPK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eV91a8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-EPPa8aEdqf6aL57Hh6KQ" name="assembly_connector" constrainedElement="_38uyHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPPq8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPPa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eV91q8kEdqRKeAGm8hhTw" name="assembly_connector" constrainedElement="__c2wVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eV9168kEdqRKeAGm8hhTw" annotatedElement="__eV91q8kEdqRKeAGm8hhTw">

         <body>An assembly connector must only be defined from a required Interface or Ports to a provided Interface or Port.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPP68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eV92K8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38uyKa8aEdqf6aL57Hh6KQ" general="_33OAIq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38uyKq8aEdqf6aL57Hh6KQ" name="type" type="_AwvxoGwNEdq7X4sGURiZYA" association="_38uyYa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38uyK68aEdqf6aL57Hh6KQ" annotatedElement="_38uyKq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__c2wYa8kEdqRKeAGm8hhTw" general="__YFlAa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__c2wYq8kEdqRKeAGm8hhTw" name="type" type="_AwvxoGwNEdq7X4sGURiZYA" association="__c2wma8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__c2wY68kEdqRKeAGm8hhTw" annotatedElement="__c2wYq8kEdqRKeAGm8hhTw">

         <body>An optional association that specifies the link corresponding to this connector.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyLK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyLa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wZK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wZa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38uyLq8aEdqf6aL57Hh6KQ" name="redefinedConnector" type="_38uyHq8aEdqf6aL57Hh6KQ" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_38uyfK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38uyL68aEdqf6aL57Hh6KQ" annotatedElement="_38uyLq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__c2wZq8kEdqRKeAGm8hhTw" name="redefinedConnector" type="__c2wVq8kEdqRKeAGm8hhTw" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__dAhEK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__c2wZ68kEdqRKeAGm8hhTw" annotatedElement="__c2wZq8kEdqRKeAGm8hhTw">

         <body>A connector may be redefined when its containing classifier is specialized. The redefining connector may have a type that specializes the type of the redefined connector.

 

 The types of the connector ends of the redefining connector may specialize the types of the connector ends of the redefined connector. The properties of the connector ends of the redefining connector may be replaced.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyMK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyMa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2waK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2waa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38uyMq8aEdqf6aL57Hh6KQ" name="end" type="_aOgw0GveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_38uyga8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38uyM68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38uyNK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__c2waq8kEdqRKeAGm8hhTw" name="end" type="_aOgw0GveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__dAhFa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__c2wa68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wbK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38uyNa8aEdqf6aL57Hh6KQ" annotatedElement="_38uyMq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__c2wba8kEdqRKeAGm8hhTw" annotatedElement="__c2waq8kEdqRKeAGm8hhTw">

         <body>A connector consists of at least two connector ends, each representing the participation of instances of the classifiers typing the connectable elements attached to this end. The set of connector ends is ordered.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyNq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyN68aEdqf6aL57Hh6KQ" value="2"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wbq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wb68kEdqRKeAGm8hhTw" value="2"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-EPQK8aEdqf6aL57Hh6KQ" name="kind" type="_3-EPSq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-EPQa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_3-EPQq8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__eV92a8kEdqRKeAGm8hhTw" name="kind" type="__eV9468kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eV92q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__eV9268kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-EPQ68aEdqf6aL57Hh6KQ" annotatedElement="_3-EPQK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV93K8kEdqRKeAGm8hhTw" annotatedElement="__eV92a8kEdqRKeAGm8hhTw">

         <body>Indicates the kind of connector.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPRK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPRa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV93a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV93q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-EPRq8aEdqf6aL57Hh6KQ" name="contract" type="_TUPtYGveEdq4DLWZOhbdEA" association="_3-EPWq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPR68aEdqf6aL57Hh6KQ" annotatedElement="_3-EPRq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eV9368kEdqRKeAGm8hhTw" name="contract" type="_TUPtYGveEdq4DLWZOhbdEA" association="__eV9868kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eV94K8kEdqRKeAGm8hhTw" annotatedElement="__eV9368kEdqRKeAGm8hhTw">

         <body>The set of Behaviors that specify the valid interaction patterns across the connector.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPSK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPSa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV94a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV94q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_3-EPSq8aEdqf6aL57Hh6KQ" name="ConnectorKind">

-    <ownedComment xmi:id="_3-EPS68aEdqf6aL57Hh6KQ" annotatedElement="_3-EPSq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__eV9468kEdqRKeAGm8hhTw" name="ConnectorKind">

+    <ownedComment xmi:id="__eV95K8kEdqRKeAGm8hhTw" annotatedElement="__eV9468kEdqRKeAGm8hhTw">

       <body>ConnectorKind is an enumeration of the following literal values:

 • assembly Indicates that the connector is an assembly connector.

 • delegation Indicates that the connector is a delegation connector.

 </body>

     </ownedComment>

-    <ownedLiteral xmi:id="_3-EPTK8aEdqf6aL57Hh6KQ" name="assembly">

-      <ownedComment xmi:id="_3-EPTa8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPTK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__eV95a8kEdqRKeAGm8hhTw" name="assembly">

+      <ownedComment xmi:id="__eV95q8kEdqRKeAGm8hhTw" annotatedElement="__eV95a8kEdqRKeAGm8hhTw">

         <body>Indicates that the connector is an assembly connector.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-EPTq8aEdqf6aL57Hh6KQ" name="delegation">

-      <ownedComment xmi:id="_3-EPT68aEdqf6aL57Hh6KQ" annotatedElement="_3-EPTq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__eV9568kEdqRKeAGm8hhTw" name="delegation">

+      <ownedComment xmi:id="__eV96K8kEdqRKeAGm8hhTw" annotatedElement="__eV9568kEdqRKeAGm8hhTw">

         <body>Indicates that the connector is a delegation connector.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EPUK8aEdqf6aL57Hh6KQ" name="A_required_component" memberEnd="_3-EO8a8aEdqf6aL57Hh6KQ _3-EPUa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-EPUa8aEdqf6aL57Hh6KQ" type="_DAbfwa69EdqjppZik4kD8A" association="_3-EPUK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV96a8kEdqRKeAGm8hhTw" name="A_required_component" memberEnd="__eM0PK8kEdqRKeAGm8hhTw __eV96q8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eV96q8kEdqRKeAGm8hhTw" type="_DAbfwa69EdqjppZik4kD8A" association="__eV96a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EPUq8aEdqf6aL57Hh6KQ" name="A_provided_component" memberEnd="_3-EPU68aEdqf6aL57Hh6KQ _3-EO968aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-EPU68aEdqf6aL57Hh6KQ" type="_DAbfwa69EdqjppZik4kD8A" association="_3-EPUq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV9668kEdqRKeAGm8hhTw" name="A_provided_component" memberEnd="__eM0Qq8kEdqRKeAGm8hhTw __eV97K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eV97K8kEdqRKeAGm8hhTw" type="_DAbfwa69EdqjppZik4kD8A" association="__eV9668kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EPVK8aEdqf6aL57Hh6KQ" name="A_realization_abstraction" memberEnd="_3-EO_a8aEdqf6aL57Hh6KQ _3-EPJq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-EPVa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-EPVq8aEdqf6aL57Hh6KQ" general="_38bQaK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV97a8kEdqRKeAGm8hhTw" name="A_realization_abstraction" memberEnd="__eM0SK8kEdqRKeAGm8hhTw __eM0ca8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eV97q8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__eV9768kEdqRKeAGm8hhTw" general="__ctmV68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EPV68aEdqf6aL57Hh6KQ" name="A_realizingClassifier_componentRealization" memberEnd="_3-EPLK8aEdqf6aL57Hh6KQ _3-EPWa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-EPWK8aEdqf6aL57Hh6KQ" general="_38bQYq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-EPWa8aEdqf6aL57Hh6KQ" type="_3-EPI68aEdqf6aL57Hh6KQ" redefinedProperty="_342X068aEdqf6aL57Hh6KQ" association="_3-EPV68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV98K8kEdqRKeAGm8hhTw" name="A_realizingClassifier_componentRealization" memberEnd="__eM0d68kEdqRKeAGm8hhTw __eV98q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eV98a8kEdqRKeAGm8hhTw" general="__ctmUa8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eV98q8kEdqRKeAGm8hhTw" type="__eM0bq8kEdqRKeAGm8hhTw" redefinedProperty="__Zkytq8kEdqRKeAGm8hhTw" association="__eV98K8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-EPWq8aEdqf6aL57Hh6KQ" name="A_contract_connector" memberEnd="_3-EPW68aEdqf6aL57Hh6KQ _3-EPRq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-EPW68aEdqf6aL57Hh6KQ" type="_38uyHq8aEdqf6aL57Hh6KQ" association="_3-EPWq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPXK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPXa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV9868kEdqRKeAGm8hhTw" name="A_contract_connector" memberEnd="__eV9368kEdqRKeAGm8hhTw __eV99K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eV99K8kEdqRKeAGm8hhTw" type="__c2wVq8kEdqRKeAGm8hhTw" association="__eV9868kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV99a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV99q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-N_4q8aEdqf6aL57Hh6KQ" name="Manifestation">

-    <ownedComment xmi:id="_3-N_468aEdqf6aL57Hh6KQ" annotatedElement="_3-N_4q8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eV-GK8kEdqRKeAGm8hhTw" name="Manifestation">

+    <ownedComment xmi:id="__eV-Ga8kEdqRKeAGm8hhTw" annotatedElement="__eV-GK8kEdqRKeAGm8hhTw">

       <body>In the metamodel, a Manifestation is a subtype of Abstraction. A Manifestation is owned by an Artifact.</body>

     </ownedComment>

-    <generalization xmi:id="_3-N_5K8aEdqf6aL57Hh6KQ" general="_38bQIa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-N_5a8aEdqf6aL57Hh6KQ" name="utilizedElement" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="_38bQLa8aEdqf6aL57Hh6KQ" association="_3-N_6a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-N_5q8aEdqf6aL57Hh6KQ" annotatedElement="_3-N_5a8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eV-Gq8kEdqRKeAGm8hhTw" general="__cj1gq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eV-G68kEdqRKeAGm8hhTw" name="utilizedElement" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="__cj1jq8kEdqRKeAGm8hhTw" association="__eV-H68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eV-HK8kEdqRKeAGm8hhTw" annotatedElement="__eV-G68kEdqRKeAGm8hhTw">

         <body>The model element that is utilized in the manifestation in an Artifact.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-N_568aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-N_6K8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Ha8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-Hq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-N_6a8aEdqf6aL57Hh6KQ" name="A_utilizedElement_manifestation" memberEnd="_3-N_5a8aEdqf6aL57Hh6KQ _3-N_668aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-N_6q8aEdqf6aL57Hh6KQ" general="_38bQYq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-N_668aEdqf6aL57Hh6KQ" type="_3-N_4q8aEdqf6aL57Hh6KQ" association="_3-N_6a8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-N_7K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-N_7a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV-H68kEdqRKeAGm8hhTw" name="A_utilizedElement_manifestation" memberEnd="__eV-G68kEdqRKeAGm8hhTw __eV-Ia8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eV-IK8kEdqRKeAGm8hhTw" general="__ctmUa8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eV-Ia8kEdqRKeAGm8hhTw" type="__eV-GK8kEdqRKeAGm8hhTw" association="__eV-H68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Iq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-I68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-N_7q8aEdqf6aL57Hh6KQ" name="A_nestedArtifact_artifact" memberEnd="_3-EPZ68aEdqf6aL57Hh6KQ _3-N_8K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-N_768aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-N_8K8aEdqf6aL57Hh6KQ" type="_-lGRgHLzEdqziYxiZo0YtA" redefinedProperty="_342X568aEdqf6aL57Hh6KQ" association="_3-N_7q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV-JK8kEdqRKeAGm8hhTw" name="A_nestedArtifact_artifact" memberEnd="__eV-AK8kEdqRKeAGm8hhTw __eV-Jq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eV-Ja8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eV-Jq8kEdqRKeAGm8hhTw" type="_-lGRgHLzEdqziYxiZo0YtA" redefinedProperty="__Zkyyq8kEdqRKeAGm8hhTw" association="__eV-JK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-N_8a8aEdqf6aL57Hh6KQ" name="A_manifestation_artifact" memberEnd="_3-N_0K8aEdqf6aL57Hh6KQ _3-N_9K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-N_8q8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-N_868aEdqf6aL57Hh6KQ" general="_38bQaK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-N_9K8aEdqf6aL57Hh6KQ" type="_-lGRgHLzEdqziYxiZo0YtA" association="_3-N_8a8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-N_9a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-N_9q8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV-J68kEdqRKeAGm8hhTw" name="A_manifestation_artifact" memberEnd="__eV-Bq8kEdqRKeAGm8hhTw __eV-Kq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eV-KK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__eV-Ka8kEdqRKeAGm8hhTw" general="__ctmV68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eV-Kq8kEdqRKeAGm8hhTw" type="_-lGRgHLzEdqziYxiZo0YtA" association="__eV-J68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-K68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-LK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-N_968aEdqf6aL57Hh6KQ" name="A_ownedOperation_artifact" memberEnd="_3-N_-68aEdqf6aL57Hh6KQ _3-N_1q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-N_-K8aEdqf6aL57Hh6KQ" general="_342X2K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-N_-a8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-N_-q8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-N_-68aEdqf6aL57Hh6KQ" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ" association="_3-N_968aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-N__K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-N__a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV-La8kEdqRKeAGm8hhTw" name="A_ownedOperation_artifact" memberEnd="__eV-DK8kEdqRKeAGm8hhTw __eV-Ma8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eV-Lq8kEdqRKeAGm8hhTw" general="__Zkyu68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__eV-L68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__eV-MK8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eV-Ma8kEdqRKeAGm8hhTw" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw" association="__eV-La8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Mq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-M68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-N__q8aEdqf6aL57Hh6KQ" name="A_ownedAttribute_artifact" memberEnd="_3-OAAa8aEdqf6aL57Hh6KQ _3-N_3K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-N__68aEdqf6aL57Hh6KQ" general="_34tNsK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-OAAK8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-OAAa8aEdqf6aL57Hh6KQ" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ _34tNs68aEdqf6aL57Hh6KQ" association="_3-N__q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-OAAq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-OAA68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eV-NK8kEdqRKeAGm8hhTw" name="A_ownedAttribute_artifact" memberEnd="__eV-Eq8kEdqRKeAGm8hhTw __eV-N68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__eV-Na8kEdqRKeAGm8hhTw" general="__ZR36q8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__eV-Nq8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__eV-N68kEdqRKeAGm8hhTw" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw __ZR37a8kEdqRKeAGm8hhTw" association="__eV-NK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-OK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-Oa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-OAEa8aEdqf6aL57Hh6KQ" name="Node">

-    <ownedComment xmi:id="_3-OAEq8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAEa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eV-R68kEdqRKeAGm8hhTw" name="Node">

+    <ownedComment xmi:id="__eV-SK8kEdqRKeAGm8hhTw" annotatedElement="__eV-R68kEdqRKeAGm8hhTw">

       <body>In the metamodel, a Node is a subclass of Class. It is associated with a Deployment of an Artifact. It is also associated with a set of Elements that are deployed on it. This is a derived association in that these PackageableElements are involved in a Manifestation of an Artifact that is deployed on the Node. Nodes may have an internal structure defined in terms of parts and connectors associated with them for advanced modeling applications.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-OAE68aEdqf6aL57Hh6KQ" name="internal_structure" constrainedElement="_3-OAEa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-OAFK8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAE68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eV-Sa8kEdqRKeAGm8hhTw" name="internal_structure" constrainedElement="__eV-R68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eV-Sq8kEdqRKeAGm8hhTw" annotatedElement="__eV-Sa8kEdqRKeAGm8hhTw">

         <body>The internal structure of a Node (if defined) consists solely of parts of type Node.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-OAFa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eV-S68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-OAFq8aEdqf6aL57Hh6KQ" general="_00owUGvdEdq4DLWZOhbdEA"/>

-    <generalization xmi:id="_3-OAF68aEdqf6aL57Hh6KQ" general="_3-OAJK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-OAGK8aEdqf6aL57Hh6KQ" name="nestedNode" type="_3-OAEa8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3-OAXK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-OAGa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-OAGq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eV-TK8kEdqRKeAGm8hhTw" general="_00owUGvdEdq4DLWZOhbdEA"/>

+    <generalization xmi:id="__eV-Ta8kEdqRKeAGm8hhTw" general="__eV-Wq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eV-Tq8kEdqRKeAGm8hhTw" name="nestedNode" type="__eV-R68kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__efu7q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eV-T68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eV-UK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-OAG68aEdqf6aL57Hh6KQ" annotatedElement="_3-OAGK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV-Ua8kEdqRKeAGm8hhTw" annotatedElement="__eV-Tq8kEdqRKeAGm8hhTw">

         <body>The Nodes that are defined (nested) within the Node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-OAHK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-OAHa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Uq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-U68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-OAHq8aEdqf6aL57Hh6KQ" name="Device">

-    <ownedComment xmi:id="_3-OAH68aEdqf6aL57Hh6KQ" annotatedElement="_3-OAHq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eV-VK8kEdqRKeAGm8hhTw" name="Device">

+    <ownedComment xmi:id="__eV-Va8kEdqRKeAGm8hhTw" annotatedElement="__eV-VK8kEdqRKeAGm8hhTw">

       <body>A Device is a physical computational resource with processing capability upon which artifacts may be deployed for execution. Devices may be complex, i.e. they may consist of other devices. In the metamodel, a Device is a subclass of Node.</body>

     </ownedComment>

-    <generalization xmi:id="_3-OAIK8aEdqf6aL57Hh6KQ" general="_3-OAEa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eV-Vq8kEdqRKeAGm8hhTw" general="__eV-R68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-OAIa8aEdqf6aL57Hh6KQ" name="ExecutionEnvironment">

-    <ownedComment xmi:id="_3-OAIq8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAIa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eV-V68kEdqRKeAGm8hhTw" name="ExecutionEnvironment">

+    <ownedComment xmi:id="__eV-WK8kEdqRKeAGm8hhTw" annotatedElement="__eV-V68kEdqRKeAGm8hhTw">

       <body>In the metamodel, a ExecutionEnvironment is a subclass of Node. It is usually part of a general Node, representing the physical hardware environment on which the ExecutionEnvironment resides. In that environment, the ExecutionEnvironment implements a standard set of services that Components require at execution time (at the modeling level these services are usually implicit). For each component Deployment, aspects of these services may be determined by properties in a DeploymentSpecification for a particular kind of ExecutionEnvironment.</body>

     </ownedComment>

-    <generalization xmi:id="_3-OAI68aEdqf6aL57Hh6KQ" general="_3-OAEa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eV-Wa8kEdqRKeAGm8hhTw" general="__eV-R68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-OAJK8aEdqf6aL57Hh6KQ" name="DeploymentTarget" isAbstract="true">

-    <ownedComment xmi:id="_3-OAJa8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAJK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eV-Wq8kEdqRKeAGm8hhTw" name="DeploymentTarget" isAbstract="true">

+    <ownedComment xmi:id="__eV-W68kEdqRKeAGm8hhTw" annotatedElement="__eV-Wq8kEdqRKeAGm8hhTw">

       <body>In the metamodel, DeploymentTarget is an abstract metaclass that is a specialization of NamedElement. A DeploymentTarget owns a set of Deployments.</body>

     </ownedComment>

-    <generalization xmi:id="_3-OAJq8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_3-OAJ68aEdqf6aL57Hh6KQ" name="deployment" type="_3-OABK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ _38bQTK8aEdqf6aL57Hh6KQ" association="_3-OAWa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-OAKK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-OAKa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eV-XK8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__eV-Xa8kEdqRKeAGm8hhTw" name="deployment" type="__eV-Oq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw __ctmO68kEdqRKeAGm8hhTw" association="__efu668kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eV-Xq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eV-X68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-OAKq8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAJ68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV-YK8kEdqRKeAGm8hhTw" annotatedElement="__eV-Xa8kEdqRKeAGm8hhTw">

         <body>The set of Deployments for a DeploymentTarget.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-OAK68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-OALK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Ya8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-Yq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-OALa8aEdqf6aL57Hh6KQ" name="deployedElement" type="_jKxnwGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="_3-Xw0K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-OALq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-OAL68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__eV-Y68kEdqRKeAGm8hhTw" name="deployedElement" type="_jKxnwGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="__efu8a8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eV-ZK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eV-Za8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-OAMK8aEdqf6aL57Hh6KQ" annotatedElement="_3-OALa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV-Zq8kEdqRKeAGm8hhTw" annotatedElement="__eV-Y68kEdqRKeAGm8hhTw">

         <body>The set of elements that are manifested in an Artifact that is involved in Deployment to a DeploymentTarget.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-OAMa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-OAMq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Z68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-aK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_3-OAM68aEdqf6aL57Hh6KQ" name="deployedElement" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="_3-OANq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-OANK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_3-OANa8aEdqf6aL57Hh6KQ" operationName="getDeployedElements"/>

+    <ownedOperation xmi:id="__eV-aa8kEdqRKeAGm8hhTw" name="deployedElement" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="__eV-bK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eV-aq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__eV-a68kEdqRKeAGm8hhTw" operationName="getDeployedElements"/>

       </eAnnotations>

-      <ownedRule xmi:id="_3-OANq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3-OAM68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-OAN68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__eV-bK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__eV-aa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__eV-ba8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = ((self.deployment->collect(deployedArtifact))->collect(manifestation))->collect(utilizedElement)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3-OAOK8aEdqf6aL57Hh6KQ" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-OAOa8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-OAOq8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__eV-bq8kEdqRKeAGm8hhTw" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-b68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-cK8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-OAO68aEdqf6aL57Hh6KQ" name="DeployedArtifact" isAbstract="true">

-    <ownedComment xmi:id="_3-OAPK8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAO68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eV-ca8kEdqRKeAGm8hhTw" name="DeployedArtifact" isAbstract="true">

+    <ownedComment xmi:id="__eV-cq8kEdqRKeAGm8hhTw" annotatedElement="__eV-ca8kEdqRKeAGm8hhTw">

       <body>In the metamodel, DeployedArtifact is an abstract metaclass that is a specialization of NamedElement. A DeployedArtifact is involved in one or more Deployments to a DeploymentTarget.</body>

     </ownedComment>

-    <generalization xmi:id="_3-OAPa8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <generalization xmi:id="__eV-c68kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-OAPq8aEdqf6aL57Hh6KQ" name="CommunicationPath">

-    <ownedComment xmi:id="_3-OAP68aEdqf6aL57Hh6KQ" annotatedElement="_3-OAPq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__efu0K8kEdqRKeAGm8hhTw" name="CommunicationPath">

+    <ownedComment xmi:id="__efu0a8kEdqRKeAGm8hhTw" annotatedElement="__efu0K8kEdqRKeAGm8hhTw">

       <body>In the metamodel, CommunicationPath is a subclass of Association.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-OAQK8aEdqf6aL57Hh6KQ" name="association_ends" constrainedElement="_3-OAPq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-OAQa8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAQK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efu0q8kEdqRKeAGm8hhTw" name="association_ends" constrainedElement="__efu0K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efu068kEdqRKeAGm8hhTw" annotatedElement="__efu0q8kEdqRKeAGm8hhTw">

         <body>The association ends of a CommunicationPath are typed by DeploymentTargets.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-OAQq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efu1K8kEdqRKeAGm8hhTw" language="OCL">

         <body>result = self.endType->forAll (t | t.oclIsKindOf(DeploymentTarget))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-OAQ68aEdqf6aL57Hh6KQ" general="_AwvxoGwNEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__efu1a8kEdqRKeAGm8hhTw" general="_AwvxoGwNEdq7X4sGURiZYA"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_36WMmq8aEdqf6aL57Hh6KQ" name="InstanceSpecification">

-    <ownedComment xmi:id="_36WMm68aEdqf6aL57Hh6KQ" annotatedElement="_36WMmq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__a62b68kEdqRKeAGm8hhTw" name="InstanceSpecification">

+    <ownedComment xmi:id="__a62cK8kEdqRKeAGm8hhTw" annotatedElement="__a62b68kEdqRKeAGm8hhTw">

       <body>An instance specification specifies existence of an entity in a modeled system and completely or partially describes the entity.

 

 The description may include:

@@ -5206,138 +5206,138 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_3-OASa8aEdqf6aL57Hh6KQ" annotatedElement="_36WMmq8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__efu268kEdqRKeAGm8hhTw" annotatedElement="__a62b68kEdqRKeAGm8hhTw">

       <body>In the metamodel, InstanceSpecification is a specialization of DeploymentTarget and DeployedArtifact.</body>

     </ownedComment>

-    <ownedRule xmi:id="_36WMnK8aEdqf6aL57Hh6KQ" name="defining_feature" constrainedElement="_36WMmq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_36WMna8aEdqf6aL57Hh6KQ" annotatedElement="_36WMnK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__a62ca8kEdqRKeAGm8hhTw" name="defining_feature" constrainedElement="__a62b68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__a62cq8kEdqRKeAGm8hhTw" annotatedElement="__a62ca8kEdqRKeAGm8hhTw">

         <body>The defining feature of each slot is a structural feature (directly or inherited) of a classifier of the instance specification.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36WMnq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__a62c68kEdqRKeAGm8hhTw" language="OCL">

         <body>slot->forAll(s | classifier->exists (c | c.allFeatures()->includes (s.definingFeature)))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_36WMn68aEdqf6aL57Hh6KQ" name="structural_feature" constrainedElement="_36WMmq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_36WMoK8aEdqf6aL57Hh6KQ" annotatedElement="_36WMn68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__a62dK8kEdqRKeAGm8hhTw" name="structural_feature" constrainedElement="__a62b68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__a62da8kEdqRKeAGm8hhTw" annotatedElement="__a62dK8kEdqRKeAGm8hhTw">

         <body>One structural feature (including the same feature inherited from multiple classifiers) is the defining feature of at most one slot in an instance specification.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36WMoa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__a62dq8kEdqRKeAGm8hhTw" language="OCL">

         <body>classifier->forAll(c | (c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() &lt;= 1)))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-OASq8aEdqf6aL57Hh6KQ" name="deployment_target" constrainedElement="_36WMmq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-OAS68aEdqf6aL57Hh6KQ" annotatedElement="_3-OASq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efu3K8kEdqRKeAGm8hhTw" name="deployment_target" constrainedElement="__a62b68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efu3a8kEdqRKeAGm8hhTw" annotatedElement="__efu3K8kEdqRKeAGm8hhTw">

         <body>An InstanceSpecification can be a DeploymentTarget if it is the instance specification of a Node and functions as a part in the internal structure of an encompassing Node.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-OATK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efu3q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-OATa8aEdqf6aL57Hh6KQ" name="deployment_artifact" constrainedElement="_36WMmq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-OATq8aEdqf6aL57Hh6KQ" annotatedElement="_3-OATa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efu368kEdqRKeAGm8hhTw" name="deployment_artifact" constrainedElement="__a62b68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efu4K8kEdqRKeAGm8hhTw" annotatedElement="__efu368kEdqRKeAGm8hhTw">

         <body>An InstanceSpecification can be a DeployedArtifact if it is the instance specification of an Artifact.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-OAT68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efu4a8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_36WMoq8aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

-    <generalization xmi:id="_3-OAUK8aEdqf6aL57Hh6KQ" general="_3-OAJK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-OAUa8aEdqf6aL57Hh6KQ" general="_3-OAO68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_36WMo68aEdqf6aL57Hh6KQ" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="_37ifSK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_36WMpK8aEdqf6aL57Hh6KQ" annotatedElement="_36WMo68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__a62d68kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__efu4q8kEdqRKeAGm8hhTw" general="__eV-Wq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__efu468kEdqRKeAGm8hhTw" general="__eV-ca8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__a62eK8kEdqRKeAGm8hhTw" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="__bqdfq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__a62ea8kEdqRKeAGm8hhTw" annotatedElement="__a62eK8kEdqRKeAGm8hhTw">

         <body>The classifier or classifiers of the represented instance. If multiple classifiers are specified, the instance is classified by all of them.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMpa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMpq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62eq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62e68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36WMp68aEdqf6aL57Hh6KQ" name="slot" type="_36WMs68aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37ifSq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_36WMqK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36WMqa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__a62fK8kEdqRKeAGm8hhTw" name="slot" type="__a62iK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__bqdgK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__a62fa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__a62fq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36WMqq8aEdqf6aL57Hh6KQ" annotatedElement="_36WMp68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__a62f68kEdqRKeAGm8hhTw" annotatedElement="__a62fK8kEdqRKeAGm8hhTw">

         <body>A slot giving the value or values of a structural feature of the instance. An instance specification can have one slot per structural feature of its classifiers, including inherited features. It is not necessary to model a slot for each structural feature, in which case the instance specification is a partial description.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMq68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMrK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62gK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62ga8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36WMra8aEdqf6aL57Hh6KQ" name="specification" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37rpQa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_36WMrq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36WMr68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__a62gq8kEdqRKeAGm8hhTw" name="specification" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__b9YUK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__a62g68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__a62hK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36WMsK8aEdqf6aL57Hh6KQ" annotatedElement="_36WMra8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__a62ha8kEdqRKeAGm8hhTw" annotatedElement="__a62gq8kEdqRKeAGm8hhTw">

         <body>A specification of how to compute, derive, or construct the instance.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMsa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMsq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62hq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62h68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_-lGRgHLzEdqziYxiZo0YtA" name="Artifact">

-    <ownedComment xmi:id="_3-EPXq8aEdqf6aL57Hh6KQ" annotatedElement="_-lGRgHLzEdqziYxiZo0YtA">

+    <ownedComment xmi:id="__eV9968kEdqRKeAGm8hhTw" annotatedElement="_-lGRgHLzEdqziYxiZo0YtA">

       <body>In the metamodel, an Artifact is a Classifier that represents a physical entity. Artifacts may have Properties that represent features of the Artifact, and Operations that can be performed on its instances. Artifacts can be involved in Associations to other Artifacts, e.g. composition associations. Artifacts can be instantiated to represent detailed copy semantics, where different instances of the same Artifact may be deployed to various Node instances (and each may have separate property values, e.g. for a 'time-stamp' property.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3-OAUq8aEdqf6aL57Hh6KQ" annotatedElement="_-lGRgHLzEdqziYxiZo0YtA">

+    <ownedComment xmi:id="__efu5K8kEdqRKeAGm8hhTw" annotatedElement="_-lGRgHLzEdqziYxiZo0YtA">

       <body>As part of the Nodes package, an Artifact is extended to become the source of a deployment to a Node. This is achieved by specializing the abstract superclass.</body>

     </ownedComment>

-    <generalization xmi:id="_3-EPX68aEdqf6aL57Hh6KQ" general="_6UV2QGwJEdq7X4sGURiZYA"/>

-    <generalization xmi:id="_3-OAU68aEdqf6aL57Hh6KQ" general="_3-OAO68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-EPYa8aEdqf6aL57Hh6KQ" name="fileName" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_3-EPYq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_3-EPY68aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <generalization xmi:id="__eV9-K8kEdqRKeAGm8hhTw" general="_6UV2QGwJEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__efu5a8kEdqRKeAGm8hhTw" general="__eV-ca8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eV9-q8kEdqRKeAGm8hhTw" name="fileName" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__eV9-68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__eV9_K8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-EPZK8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPYa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV9_a8kEdqRKeAGm8hhTw" annotatedElement="__eV9-q8kEdqRKeAGm8hhTw">

         <body>A concrete name that is used to refer to the Artifact in a physical context. Example: file system name, universal resource locator.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPZa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPZq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV9_q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV9_68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-EPZ68aEdqf6aL57Hh6KQ" name="nestedArtifact" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3-N_7q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-EPaK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-EPaa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eV-AK8kEdqRKeAGm8hhTw" name="nestedArtifact" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__eV-JK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eV-Aa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eV-Aq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-EPaq8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPZ68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV-A68kEdqRKeAGm8hhTw" annotatedElement="__eV-AK8kEdqRKeAGm8hhTw">

         <body>The Artifacts that are defined (nested) within the Artifact.

 

 The association is a specialization of the ownedMember association from Namespace to NamedElement.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPa68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPbK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-BK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-Ba8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-N_0K8aEdqf6aL57Hh6KQ" name="manifestation" type="_3-N_4q8aEdqf6aL57Hh6KQ" subsettedProperty="_38bQTK8aEdqf6aL57Hh6KQ _33OABK8aEdqf6aL57Hh6KQ" association="_3-N_8a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-N_0a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-N_0q8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eV-Bq8kEdqRKeAGm8hhTw" name="manifestation" type="__eV-GK8kEdqRKeAGm8hhTw" subsettedProperty="__ctmO68kEdqRKeAGm8hhTw __YFk468kEdqRKeAGm8hhTw" association="__eV-J68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eV-B68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eV-CK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-N_068aEdqf6aL57Hh6KQ" annotatedElement="_3-N_0K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV-Ca8kEdqRKeAGm8hhTw" annotatedElement="__eV-Bq8kEdqRKeAGm8hhTw">

         <body>The set of model elements that are manifested in the Artifact. That is, these model elements are utilized in the construction (or generation) of the artifact.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-N_1K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-N_1a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Cq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-C68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-N_1q8aEdqf6aL57Hh6KQ" name="ownedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_326d9q8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_3-N_968aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-N_168aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-N_2K8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eV-DK8kEdqRKeAGm8hhTw" name="ownedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__Xyp7q8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__eV-La8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eV-Da8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eV-Dq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-N_2a8aEdqf6aL57Hh6KQ" annotatedElement="_3-N_1q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV-D68kEdqRKeAGm8hhTw" annotatedElement="__eV-DK8kEdqRKeAGm8hhTw">

         <body>The Operations defined for the Artifact. The association is a specialization of the ownedMember association.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-N_2q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-N_268aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-EK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-Ea8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-N_3K8aEdqf6aL57Hh6KQ" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_326d8K8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_3-N__q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-N_3a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-N_3q8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eV-Eq8kEdqRKeAGm8hhTw" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__Xyp6K8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__eV-NK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eV-E68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eV-FK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-N_368aEdqf6aL57Hh6KQ" annotatedElement="_3-N_3K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV-Fa8kEdqRKeAGm8hhTw" annotatedElement="__eV-Eq8kEdqRKeAGm8hhTw">

         <body>The attributes or association ends defined for the Artifact.

 

 The association is a specialization of the ownedMember association.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-N_4K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-N_4a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Fq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-F68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_C-IuUHL0EdqziYxiZo0YtA" name="createOwnedOperation" type="_M4X2IGveEdq4DLWZOhbdEA">

       <returnResult xmi:id="_C-IuUXL0EdqziYxiZo0YtA" type="_M4X2IGveEdq4DLWZOhbdEA" direction="return"/>

@@ -5372,29 +5372,29 @@
       <ownedParameter xmi:id="_U7wxhXL0EdqziYxiZo0YtA" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-OAVK8aEdqf6aL57Hh6KQ" name="A_deployedArtifact_deployment" memberEnd="_3-OAB68aEdqf6aL57Hh6KQ _3-OAVq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-OAVa8aEdqf6aL57Hh6KQ" general="_38bQYq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-OAVq8aEdqf6aL57Hh6KQ" type="_3-OABK8aEdqf6aL57Hh6KQ" association="_3-OAVK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-OAV68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-OAWK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__efu5q8kEdqRKeAGm8hhTw" name="A_deployedArtifact_deployment" memberEnd="__efu6K8kEdqRKeAGm8hhTw __eV-Pa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__efu568kEdqRKeAGm8hhTw" general="__ctmUa8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__efu6K8kEdqRKeAGm8hhTw" type="__eV-Oq8kEdqRKeAGm8hhTw" association="__efu5q8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efu6a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efu6q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-OAWa8aEdqf6aL57Hh6KQ" name="A_deployment_location" memberEnd="_3-OAJ68aEdqf6aL57Hh6KQ _3-OAC68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-OAWq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-OAW68aEdqf6aL57Hh6KQ" general="_38bQaK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__efu668kEdqRKeAGm8hhTw" name="A_deployment_location" memberEnd="__eV-Xa8kEdqRKeAGm8hhTw __eV-Qa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__efu7K8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__efu7a8kEdqRKeAGm8hhTw" general="__ctmV68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-OAXK8aEdqf6aL57Hh6KQ" name="A_nestedNode_node" memberEnd="_3-OAXq8aEdqf6aL57Hh6KQ _3-OAGK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-OAXa8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-OAXq8aEdqf6aL57Hh6KQ" type="_3-OAEa8aEdqf6aL57Hh6KQ" redefinedProperty="_342X568aEdqf6aL57Hh6KQ" association="_3-OAXK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__efu7q8kEdqRKeAGm8hhTw" name="A_nestedNode_node" memberEnd="__efu8K8kEdqRKeAGm8hhTw __eV-Tq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__efu768kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__efu8K8kEdqRKeAGm8hhTw" type="__eV-R68kEdqRKeAGm8hhTw" redefinedProperty="__Zkyyq8kEdqRKeAGm8hhTw" association="__efu7q8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-Xw0K8aEdqf6aL57Hh6KQ" name="A_deployedElement_deploymentTarget" isDerived="true" memberEnd="_3-OALa8aEdqf6aL57Hh6KQ _3-Xw0a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-Xw0a8aEdqf6aL57Hh6KQ" type="_3-OAJK8aEdqf6aL57Hh6KQ" association="_3-Xw0K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-Xw0q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-Xw068aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__efu8a8kEdqRKeAGm8hhTw" name="A_deployedElement_deploymentTarget" isDerived="true" memberEnd="__efu8q8kEdqRKeAGm8hhTw __eV-Y68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__efu8q8kEdqRKeAGm8hhTw" type="__eV-Wq8kEdqRKeAGm8hhTw" association="__efu8a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efu868kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efu9K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-Xw1K8aEdqf6aL57Hh6KQ" name="InteractionUse">

-    <ownedComment xmi:id="_3-Xw1a8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw1K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__efu9a8kEdqRKeAGm8hhTw" name="InteractionUse">

+    <ownedComment xmi:id="__efu9q8kEdqRKeAGm8hhTw" annotatedElement="__efu9a8kEdqRKeAGm8hhTw">

       <body>An InteractionUse refers to an Interaction. The InteractionUse is a shorthand for copying the contents of the referred Interaction where the InteractionUse is. To be accurate the copying must take into account substituting parameters with arguments and connect the formal gates with the actual ones.

 

 

@@ -5403,69 +5403,69 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3-Xw1q8aEdqf6aL57Hh6KQ" name="gates_match" constrainedElement="_3-Xw1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xw168aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw1q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efu968kEdqRKeAGm8hhTw" name="gates_match" constrainedElement="__efu9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efu-K8kEdqRKeAGm8hhTw" annotatedElement="__efu968kEdqRKeAGm8hhTw">

         <body>Actual Gates of the InteractionUse must match Formal Gates of the referred Interaction. Gates match when their names are equal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xw2K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efu-a8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-Xw2a8aEdqf6aL57Hh6KQ" name="all_lifelines" constrainedElement="_3-Xw1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xw2q8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw2a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efu-q8kEdqRKeAGm8hhTw" name="all_lifelines" constrainedElement="__efu9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efu-68kEdqRKeAGm8hhTw" annotatedElement="__efu-q8kEdqRKeAGm8hhTw">

         <body>The InteractionUse must cover all Lifelines of the enclosing Interaction which appear within the referred Interaction.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xw268aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efu_K8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-Xw3K8aEdqf6aL57Hh6KQ" name="arguments_correspond_to_parameters" constrainedElement="_3-Xw1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xw3a8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw3K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efu_a8kEdqRKeAGm8hhTw" name="arguments_correspond_to_parameters" constrainedElement="__efu9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efu_q8kEdqRKeAGm8hhTw" annotatedElement="__efu_a8kEdqRKeAGm8hhTw">

         <body>The arguments of the InteractionUse must correspond to parameters of the referred Interaction</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xw3q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efu_68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-Xw368aEdqf6aL57Hh6KQ" name="arguments_are_constants" constrainedElement="_3-Xw1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xw4K8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw368aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvAK8kEdqRKeAGm8hhTw" name="arguments_are_constants" constrainedElement="__efu9a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvAa8kEdqRKeAGm8hhTw" annotatedElement="__efvAK8kEdqRKeAGm8hhTw">

         <body>The arguments must only be constants, parameters of the enclosing Interaction or attributes of the classifier owning the enclosing Interaction.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xw4a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvAq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-Xw4q8aEdqf6aL57Hh6KQ" general="_39BthK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-Xw468aEdqf6aL57Hh6KQ" name="refersTo" type="_39BtSK8aEdqf6aL57Hh6KQ" association="_3-g6868aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xw5K8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw468aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__efvA68kEdqRKeAGm8hhTw" general="__dTcIK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__efvBK8kEdqRKeAGm8hhTw" name="refersTo" type="__dJrY68kEdqRKeAGm8hhTw" association="__epgI68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvBa8kEdqRKeAGm8hhTw" annotatedElement="__efvBK8kEdqRKeAGm8hhTw">

         <body>Refers to the Interaction that defines its meaning</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-Xw5a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-Xw5q8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvBq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvB68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-Xw568aEdqf6aL57Hh6KQ" name="actualGate" type="_3-XxNq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3-g6_K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-Xw6K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-Xw6a8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__efvCK8kEdqRKeAGm8hhTw" name="actualGate" type="__efvV68kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__epgLK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__efvCa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__efvCq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-Xw6q8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw568aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__efvC68kEdqRKeAGm8hhTw" annotatedElement="__efvCK8kEdqRKeAGm8hhTw">

         <body>The actual gates of the InteractionUse</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-Xw668aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-Xw7K8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvDK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvDa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-Xw7a8aEdqf6aL57Hh6KQ" name="argument" type="_37_LkK8aEdqf6aL57Hh6KQ" isOrdered="true" association="_3-g7DK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-Xw7q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-Xw768aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__efvDq8kEdqRKeAGm8hhTw" name="argument" type="__cQ6la8kEdqRKeAGm8hhTw" isOrdered="true" association="__epgPK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__efvD68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__efvEK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-Xw8K8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw7a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__efvEa8kEdqRKeAGm8hhTw" annotatedElement="__efvDq8kEdqRKeAGm8hhTw">

         <body>The actual arguments of the Interaction</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-Xw8a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-Xw8q8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvEq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvE68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-Xw868aEdqf6aL57Hh6KQ" name="PartDecomposition">

-    <ownedComment xmi:id="_3-Xw9K8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw868aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__efvFK8kEdqRKeAGm8hhTw" name="PartDecomposition">

+    <ownedComment xmi:id="__efvFa8kEdqRKeAGm8hhTw" annotatedElement="__efvFK8kEdqRKeAGm8hhTw">

       <body>PartDecomposition is a description of the internal interactions of one Lifeline relative to an Interaction.

 

 

@@ -5478,16 +5478,16 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3-Xw9a8aEdqf6aL57Hh6KQ" name="parts_of_internal_structures" constrainedElement="_3-Xw868aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xw9q8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw9a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvFq8kEdqRKeAGm8hhTw" name="parts_of_internal_structures" constrainedElement="__efvFK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvF68kEdqRKeAGm8hhTw" annotatedElement="__efvFq8kEdqRKeAGm8hhTw">

         <body>PartDecompositions apply only to Parts that are Parts of Internal Structures not to Parts of Collaborations.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xw968aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvGK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-Xw-K8aEdqf6aL57Hh6KQ" name="assume" constrainedElement="_3-Xw868aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xw-a8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw-K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvGa8kEdqRKeAGm8hhTw" name="assume" constrainedElement="__efvFK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvGq8kEdqRKeAGm8hhTw" annotatedElement="__efvGa8kEdqRKeAGm8hhTw">

         <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Within X there is a sequence of constructs along L (such constructs are CombinedFragments, InteractionUse and (plain) OccurrenceSpecifications). Then a corresponding sequence of constructs must appear within D, matched one-to-one in the same order.

 

 

@@ -5500,26 +5500,26 @@
 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xw-q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvG68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-Xw-68aEdqf6aL57Hh6KQ" name="commutativity_of_decomposition" constrainedElement="_3-Xw868aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xw_K8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw-68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvHK8kEdqRKeAGm8hhTw" name="commutativity_of_decomposition" constrainedElement="__efvFK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvHa8kEdqRKeAGm8hhTw" annotatedElement="__efvHK8kEdqRKeAGm8hhTw">

         <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Assume also that there is within X an

 

 InteractionUse (say) U that covers L. According to the constraint above U will have a counterpart CU within D. Within the Interaction referenced by U, L should also be decomposed, and the decomposition should reference CU. (This rule is called commutativity of decomposition)

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xw_a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvHq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-Xw_q8aEdqf6aL57Hh6KQ" general="_3-Xw1K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__efvH68kEdqRKeAGm8hhTw" general="__efu9a8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-Xw_68aEdqf6aL57Hh6KQ" name="InteractionOperand">

-    <ownedComment xmi:id="_3-XxAK8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xw_68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__efvIK8kEdqRKeAGm8hhTw" name="InteractionOperand">

+    <ownedComment xmi:id="__efvIa8kEdqRKeAGm8hhTw" annotatedElement="__efvIK8kEdqRKeAGm8hhTw">

       <body>An InteractionOperand is contained in a CombinedFragment. An InteractionOperand represents one operand of the expression given by the enclosing CombinedFragment. 

 

 

@@ -5536,269 +5536,269 @@
 

 In Sequence Diagrams these InteractionFragments are ordered according to their geometrical position vertically. The geometrical position of the InteractionFragment is given by the topmost vertical coordinate of its contained OccurrenceSpecifications or symbols.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-XxAa8aEdqf6aL57Hh6KQ" name="guard_directly_prior" constrainedElement="_3-Xw_68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxAq8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxAa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvIq8kEdqRKeAGm8hhTw" name="guard_directly_prior" constrainedElement="__efvIK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvI68kEdqRKeAGm8hhTw" annotatedElement="__efvIq8kEdqRKeAGm8hhTw">

         <body>The guard must be placed directly prior to (above) the OccurrenceSpecification that will become the first OccurrenceSpecification within this InteractionOperand.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxA68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvJK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxBK8aEdqf6aL57Hh6KQ" name="guard_contain_references" constrainedElement="_3-Xw_68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxBa8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxBK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvJa8kEdqRKeAGm8hhTw" name="guard_contain_references" constrainedElement="__efvIK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvJq8kEdqRKeAGm8hhTw" annotatedElement="__efvJa8kEdqRKeAGm8hhTw">

         <body>The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxBq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvJ68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-XxB68aEdqf6aL57Hh6KQ" general="_39BthK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-XxCK8aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_3-XxCa8aEdqf6aL57Hh6KQ" name="guard" type="_3-XxFa8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3-g66a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-XxCq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-XxC68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__efvKK8kEdqRKeAGm8hhTw" general="__dTcIK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__efvKa8kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__efvKq8kEdqRKeAGm8hhTw" name="guard" type="__efvNq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__epgGa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__efvK68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__efvLK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-XxDK8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxCa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__efvLa8kEdqRKeAGm8hhTw" annotatedElement="__efvKq8kEdqRKeAGm8hhTw">

         <body>Constraint of the operand.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-XxDa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxDq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvLq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvL68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-XxD68aEdqf6aL57Hh6KQ" name="fragment" type="_39BthK8aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3-g7EK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-XxEK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-XxEa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__efvMK8kEdqRKeAGm8hhTw" name="fragment" type="__dTcIK8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__epgQK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__efvMa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__efvMq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-XxEq8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxD68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__efvM68kEdqRKeAGm8hhTw" annotatedElement="__efvMK8kEdqRKeAGm8hhTw">

         <body>The fragments of the operand.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-XxE68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxFK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvNK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvNa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-XxFa8aEdqf6aL57Hh6KQ" name="InteractionConstraint">

-    <ownedComment xmi:id="_3-XxFq8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxFa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__efvNq8kEdqRKeAGm8hhTw" name="InteractionConstraint">

+    <ownedComment xmi:id="__efvN68kEdqRKeAGm8hhTw" annotatedElement="__efvNq8kEdqRKeAGm8hhTw">

       <body>An InteractionConstraint is a Boolean expression that guards an operand in a CombinedFragment. InteractionConstraint is a specialization of Constraint. Furthermore the InteractionConstraint contains two expressions designating the minimum and maximum number of times a loop CombinedFragment should execute.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-XxF68aEdqf6aL57Hh6KQ" name="dynamic_variables" constrainedElement="_3-XxFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxGK8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxF68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvOK8kEdqRKeAGm8hhTw" name="dynamic_variables" constrainedElement="__efvNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvOa8kEdqRKeAGm8hhTw" annotatedElement="__efvOK8kEdqRKeAGm8hhTw">

         <body>The dynamic variables that take part in the constraint must be owned by the ConnectableElement corresponding to the covered Lifeline.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxGa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvOq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxGq8aEdqf6aL57Hh6KQ" name="global_data" constrainedElement="_3-XxFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxG68aEdqf6aL57Hh6KQ" annotatedElement="_3-XxGq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvO68kEdqRKeAGm8hhTw" name="global_data" constrainedElement="__efvNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvPK8kEdqRKeAGm8hhTw" annotatedElement="__efvO68kEdqRKeAGm8hhTw">

         <body>The constraint may contain references to global data or write-once data.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxHK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvPa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxHa8aEdqf6aL57Hh6KQ" name="minint_maxint" constrainedElement="_3-XxFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxHq8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxHa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvPq8kEdqRKeAGm8hhTw" name="minint_maxint" constrainedElement="__efvNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvP68kEdqRKeAGm8hhTw" annotatedElement="__efvPq8kEdqRKeAGm8hhTw">

         <body>Minint/maxint can only be present if the InteractionConstraint is associated with the operand of a loop CombinedFragment.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxH68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvQK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxIK8aEdqf6aL57Hh6KQ" name="minint_non_negative" constrainedElement="_3-XxFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxIa8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxIK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvQa8kEdqRKeAGm8hhTw" name="minint_non_negative" constrainedElement="__efvNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvQq8kEdqRKeAGm8hhTw" annotatedElement="__efvQa8kEdqRKeAGm8hhTw">

         <body>If minint is specified, then the expression must evaluate to a non-negative integer.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxIq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvQ68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxI68aEdqf6aL57Hh6KQ" name="maxint_positive" constrainedElement="_3-XxFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxJK8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxI68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvRK8kEdqRKeAGm8hhTw" name="maxint_positive" constrainedElement="__efvNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvRa8kEdqRKeAGm8hhTw" annotatedElement="__efvRK8kEdqRKeAGm8hhTw">

         <body>If maxint is specified, then the expression must evaluate to a positive integer.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxJa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvRq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxJq8aEdqf6aL57Hh6KQ" name="maxint_greater_equal_minint" constrainedElement="_3-XxFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxJ68aEdqf6aL57Hh6KQ" annotatedElement="_3-XxJq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvR68kEdqRKeAGm8hhTw" name="maxint_greater_equal_minint" constrainedElement="__efvNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvSK8kEdqRKeAGm8hhTw" annotatedElement="__efvR68kEdqRKeAGm8hhTw">

         <body>If maxint is specified, then minint must be specified and the evaluation of maxint must be >= the evaluation of minint</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxKK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvSa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-XxKa8aEdqf6aL57Hh6KQ" general="_33z2DK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-XxKq8aEdqf6aL57Hh6KQ" name="minint" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3-g7Bq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-XxK68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-XxLK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__efvSq8kEdqRKeAGm8hhTw" general="__YsB9a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__efvS68kEdqRKeAGm8hhTw" name="minint" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__epgNq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__efvTK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__efvTa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-XxLa8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxKq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__efvTq8kEdqRKeAGm8hhTw" annotatedElement="__efvS68kEdqRKeAGm8hhTw">

         <body>The minimum number of iterations of a loop</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-XxLq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxL68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvT68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvUK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-XxMK8aEdqf6aL57Hh6KQ" name="maxint" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3-g7Ca8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-XxMa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-XxMq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__efvUa8kEdqRKeAGm8hhTw" name="maxint" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__epgOa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__efvUq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__efvU68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-XxM68aEdqf6aL57Hh6KQ" annotatedElement="_3-XxMK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__efvVK8kEdqRKeAGm8hhTw" annotatedElement="__efvUa8kEdqRKeAGm8hhTw">

         <body>The maximum number of iterations of a loop</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-XxNK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxNa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvVa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvVq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-XxNq8aEdqf6aL57Hh6KQ" name="Gate">

-    <ownedComment xmi:id="_3-XxN68aEdqf6aL57Hh6KQ" annotatedElement="_3-XxNq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__efvV68kEdqRKeAGm8hhTw" name="Gate">

+    <ownedComment xmi:id="__efvWK8kEdqRKeAGm8hhTw" annotatedElement="__efvV68kEdqRKeAGm8hhTw">

       <body>A Gate is a connection point for relating a Message outside an InteractionFragment with a Message inside the InteractionFragment. Gate is a specialization of MessageEnd. Gates are connected through Messages. A Gate is actually a representative of an OccurrenceSpecification that is not in the same scope as the Gate. Gates play different roles: we have formal gates on Interactions, actual gates on InteractionUses, expression gates on CombinedFragments.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-XxOK8aEdqf6aL57Hh6KQ" name="messages_actual_gate" constrainedElement="_3-XxNq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxOa8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxOK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvWa8kEdqRKeAGm8hhTw" name="messages_actual_gate" constrainedElement="__efvV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvWq8kEdqRKeAGm8hhTw" annotatedElement="__efvWa8kEdqRKeAGm8hhTw">

         <body>The message leading to/from an actualGate of an InteractionUse must correspond to the message leading from/to the formalGate with the same name of the Interaction referenced by the InteractionUse.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxOq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvW68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxO68aEdqf6aL57Hh6KQ" name="messages_combined_fragment" constrainedElement="_3-XxNq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxPK8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxO68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvXK8kEdqRKeAGm8hhTw" name="messages_combined_fragment" constrainedElement="__efvV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvXa8kEdqRKeAGm8hhTw" annotatedElement="__efvXK8kEdqRKeAGm8hhTw">

         <body>The message leading to/from an (expression) Gate within a CombinedFragment must correspond to the message leading from/to the CombinedFragment on its outside.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxPa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvXq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-XxPq8aEdqf6aL57Hh6KQ" general="_39LeSK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__efvX68kEdqRKeAGm8hhTw" general="__dTcnK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-XxP68aEdqf6aL57Hh6KQ" name="CombinedFragment">

-    <ownedComment xmi:id="_3-XxQK8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxP68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__efvYK8kEdqRKeAGm8hhTw" name="CombinedFragment">

+    <ownedComment xmi:id="__efvYa8kEdqRKeAGm8hhTw" annotatedElement="__efvYK8kEdqRKeAGm8hhTw">

       <body>A combined fragment defines an expression of interaction fragments. A combined fragment is defined by an interaction operator and corresponding interaction operands. Through the use of CombinedFragments the user will be able to describe a number of traces in a compact and concise manner. CombinedFragment is a specialization of InteractionFragment.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-XxQa8aEdqf6aL57Hh6KQ" name="opt_loop_break_neg" constrainedElement="_3-XxP68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxQq8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxQa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvYq8kEdqRKeAGm8hhTw" name="opt_loop_break_neg" constrainedElement="__efvYK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvY68kEdqRKeAGm8hhTw" annotatedElement="__efvYq8kEdqRKeAGm8hhTw">

         <body>If the interactionOperator is opt, loop, break, or neg there must be exactly one operand</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxQ68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvZK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxRK8aEdqf6aL57Hh6KQ" name="minint_and_maxint" constrainedElement="_3-XxP68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxRa8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxRK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvZa8kEdqRKeAGm8hhTw" name="minint_and_maxint" constrainedElement="__efvYK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvZq8kEdqRKeAGm8hhTw" annotatedElement="__efvZa8kEdqRKeAGm8hhTw">

         <body>The InteractionConstraint with minint and maxint only apply when attached to an InteractionOperand where the interactionOperator is loop.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxRq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvZ68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxR68aEdqf6aL57Hh6KQ" name="break" constrainedElement="_3-XxP68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxSK8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxR68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efvaK8kEdqRKeAGm8hhTw" name="break" constrainedElement="__efvYK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvaa8kEdqRKeAGm8hhTw" annotatedElement="__efvaK8kEdqRKeAGm8hhTw">

         <body>If the interactionOperator is break, the corresponding InteractionOperand must cover all Lifelines within the enclosing InteractionFragment.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxSa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvaq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxSq8aEdqf6aL57Hh6KQ" name="consider_and_ignore" constrainedElement="_3-XxP68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxS68aEdqf6aL57Hh6KQ" annotatedElement="_3-XxSq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efva68kEdqRKeAGm8hhTw" name="consider_and_ignore" constrainedElement="__efvYK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvbK8kEdqRKeAGm8hhTw" annotatedElement="__efva68kEdqRKeAGm8hhTw">

         <body>The interaction operators 'consider' and 'ignore' can only be used for the CombineIgnoreFragment subtype of CombinedFragment</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxTK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efvba8kEdqRKeAGm8hhTw" language="OCL">

         <body>((interactionOperator = #consider) or (interactionOperator = #ignore)) implies oclsisTypeOf(CombineIgnoreFragment)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-XxTa8aEdqf6aL57Hh6KQ" general="_39BthK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-XxTq8aEdqf6aL57Hh6KQ" name="interactionOperator" type="_3-g6za8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxT68aEdqf6aL57Hh6KQ" annotatedElement="_3-XxTq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__efvbq8kEdqRKeAGm8hhTw" general="__dTcIK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__efvb68kEdqRKeAGm8hhTw" name="interactionOperator" type="__epf_a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__efvcK8kEdqRKeAGm8hhTw" annotatedElement="__efvb68kEdqRKeAGm8hhTw">

         <body>Specifies the operation which defines the semantics of this combination of InteractionFragments.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_3-XxUK8aEdqf6aL57Hh6KQ" type="_3-g6za8aEdqf6aL57Hh6KQ" instance="_3-g6z68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__efvca8kEdqRKeAGm8hhTw" type="__epf_a8kEdqRKeAGm8hhTw" instance="__epf_68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-XxUa8aEdqf6aL57Hh6KQ" name="operand" type="_3-Xw_68aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3-g67q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-XxUq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-XxU68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__efvcq8kEdqRKeAGm8hhTw" name="operand" type="__efvIK8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__epgHq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__efvc68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__efvdK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-XxVK8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxUa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__efvda8kEdqRKeAGm8hhTw" annotatedElement="__efvcq8kEdqRKeAGm8hhTw">

         <body>The set of operands of the combined fragment.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-XxVa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxVq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvdq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvd68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-XxV68aEdqf6aL57Hh6KQ" name="cfragmentGate" type="_3-XxNq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3-g6968aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-XxWK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-XxWa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__efveK8kEdqRKeAGm8hhTw" name="cfragmentGate" type="__efvV68kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__epgJ68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__efvea8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__efveq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-XxWq8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxV68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__efve68kEdqRKeAGm8hhTw" annotatedElement="__efveK8kEdqRKeAGm8hhTw">

         <body>Specifies the gates that form the interface between this CombinedFragment and its surroundings</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-XxW68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxXK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__efvfK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__efvfa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39BtSK8aEdqf6aL57Hh6KQ" name="Interaction">

-    <ownedComment xmi:id="_39BtSa8aEdqf6aL57Hh6KQ" annotatedElement="_39BtSK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dJrY68kEdqRKeAGm8hhTw" name="Interaction">

+    <ownedComment xmi:id="__dJrZK8kEdqRKeAGm8hhTw" annotatedElement="__dJrY68kEdqRKeAGm8hhTw">

       <body>An interaction is a unit of behavior that focuses on the observable exchange of information between ConnectableElements. An Interaction is a specialization of InteractionFragment and of Behavior.</body>

     </ownedComment>

-    <generalization xmi:id="_39BtSq8aEdqf6aL57Hh6KQ" general="_39BthK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_39BtS68aEdqf6aL57Hh6KQ" general="_TUPtYGveEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_39BtTK8aEdqf6aL57Hh6KQ" name="lifeline" type="_39BtZK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_39UoWa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39BtTa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39BtTq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__dJrZa8kEdqRKeAGm8hhTw" general="__dTcIK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__dJrZq8kEdqRKeAGm8hhTw" general="_TUPtYGveEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__dJrZ68kEdqRKeAGm8hhTw" name="lifeline" type="__dTcAK8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__ddNQa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dJraK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dJraa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39BtT68aEdqf6aL57Hh6KQ" annotatedElement="_39BtTK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dJraq8kEdqRKeAGm8hhTw" annotatedElement="__dJrZ68kEdqRKeAGm8hhTw">

         <body>Specifies the participants in this Interaction.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtUK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtUa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJra68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrbK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtUq8aEdqf6aL57Hh6KQ" name="message" type="_gfgNwGveEdq4DLWZOhbdEA" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_39Uoca8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39BtU68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39BtVK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dJrba8kEdqRKeAGm8hhTw" name="message" type="_gfgNwGveEdq4DLWZOhbdEA" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__ddNWa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dJrbq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dJrb68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39BtVa8aEdqf6aL57Hh6KQ" annotatedElement="_39BtUq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dJrcK8kEdqRKeAGm8hhTw" annotatedElement="__dJrba8kEdqRKeAGm8hhTw">

         <body>The Messages contained in this Interaction.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtVq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtV68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrca8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrcq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtWK8aEdqf6aL57Hh6KQ" name="fragment" type="_39BthK8aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_39Uoh68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39BtWa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39BtWq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dJrc68kEdqRKeAGm8hhTw" name="fragment" type="__dTcIK8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__ddNb68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dJrdK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dJrda8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39BtW68aEdqf6aL57Hh6KQ" annotatedElement="_39BtWK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dJrdq8kEdqRKeAGm8hhTw" annotatedElement="__dJrc68kEdqRKeAGm8hhTw">

         <body>The ordered set of fragments in the Interaction.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtXK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtXa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrd68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJreK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtXq8aEdqf6aL57Hh6KQ" name="action" type="_37_LkK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39eZAq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39BtX68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39BtYK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dJrea8kEdqRKeAGm8hhTw" name="action" type="__cQ6la8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ddNia8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dJreq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dJre68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39BtYa8aEdqf6aL57Hh6KQ" annotatedElement="_39BtXq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dJrfK8kEdqRKeAGm8hhTw" annotatedElement="__dJrea8kEdqRKeAGm8hhTw">

         <body>Actions owned by the Interaction.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtYq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtY68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrfa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrfq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-XxXa8aEdqf6aL57Hh6KQ" name="formalGate" type="_3-XxNq8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3-g7Aa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-XxXq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-XxX68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__epf0K8kEdqRKeAGm8hhTw" name="formalGate" type="__efvV68kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__epgMa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__epf0a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__epf0q8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-XxYK8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxXa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__epf068kEdqRKeAGm8hhTw" annotatedElement="__epf0K8kEdqRKeAGm8hhTw">

         <body>Specifies the gates that form the message interface between this Interaction and any InteractionUses which reference it.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-XxYa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxYq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epf1K8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epf1a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39BtZK8aEdqf6aL57Hh6KQ" name="Lifeline">

-    <ownedComment xmi:id="_39BtZa8aEdqf6aL57Hh6KQ" annotatedElement="_39BtZK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcAK8kEdqRKeAGm8hhTw" name="Lifeline">

+    <ownedComment xmi:id="__dTcAa8kEdqRKeAGm8hhTw" annotatedElement="__dTcAK8kEdqRKeAGm8hhTw">

       <body>A lifeline represents an individual participant in the Interaction. While Parts and StructuralFeatures may have multiplicity greater than 1, Lifelines represent only one interacting entity. Lifeline is a specialization of NamedElement. If the referenced ConnectableElement is multivalued (i.e. has a multiplicity > 1), then the Lifeline may have an expression (the 'selector') that specifies which particular part is represented by this Lifeline. If the selector is omitted this means that an arbitrary representative of the multivalued ConnectableElement is chosen.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3-XxY68aEdqf6aL57Hh6KQ" annotatedElement="_39BtZK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__epf1q8kEdqRKeAGm8hhTw" annotatedElement="__dTcAK8kEdqRKeAGm8hhTw">

       <body>A lifeline represents an individual participant in the Interaction. While Parts and StructuralFeatures may have multiplicity greater than 1, Lifelines represent only one interacting entity. Lifeline is a specialization of NamedElement.

 

 

@@ -5811,563 +5811,563 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_39BtZq8aEdqf6aL57Hh6KQ" name="interaction_uses_share_lifeline" constrainedElement="_39BtZK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtZ68aEdqf6aL57Hh6KQ" annotatedElement="_39BtZq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcAq8kEdqRKeAGm8hhTw" name="interaction_uses_share_lifeline" constrainedElement="__dTcAK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcA68kEdqRKeAGm8hhTw" annotatedElement="__dTcAq8kEdqRKeAGm8hhTw">

         <body>If two (or more) InteractionUses within one Interaction, refer to Interactions with 'common Lifelines,' those Lifelines must also appear in the Interaction with the InteractionUses. By common Lifelines we mean Lifelines with the same selector and represents associations.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtaK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcBK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39Btaa8aEdqf6aL57Hh6KQ" name="selector_specified" constrainedElement="_39BtZK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39Btaq8aEdqf6aL57Hh6KQ" annotatedElement="_39Btaa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcBa8kEdqRKeAGm8hhTw" name="selector_specified" constrainedElement="__dTcAK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcBq8kEdqRKeAGm8hhTw" annotatedElement="__dTcBa8kEdqRKeAGm8hhTw">

         <body>The selector for a Lifeline must only be specified if the referenced Part is multivalued.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39Bta68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcB68kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.selector->isEmpty() implies not self.represents.isMultivalued()) or

 (not self.selector->isEmpty() implies self.represents.isMultivalued())

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtbK8aEdqf6aL57Hh6KQ" name="same_classifier" constrainedElement="_39BtZK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39Btba8aEdqf6aL57Hh6KQ" annotatedElement="_39BtbK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dTcCK8kEdqRKeAGm8hhTw" name="same_classifier" constrainedElement="__dTcAK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcCa8kEdqRKeAGm8hhTw" annotatedElement="__dTcCK8kEdqRKeAGm8hhTw">

         <body>The classifier containing the referenced ConnectableElement must be the same classifier, or an ancestor, of the classifier that contains the interaction enclosing this lifeline.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39Btbq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dTcCq8kEdqRKeAGm8hhTw" language="OCL">

         <body>if (represents->notEmpty()) then

 (if selector->notEmpty() then represents.isMultivalued() else not represents.isMultivalued())

 </body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39Btb68aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39BtcK8aEdqf6aL57Hh6KQ" name="coveredBy" type="_39BthK8aEdqf6aL57Hh6KQ" association="_39UoSK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39Btca8aEdqf6aL57Hh6KQ" annotatedElement="_39BtcK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTcC68kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dTcDK8kEdqRKeAGm8hhTw" name="coveredBy" type="__dTcIK8kEdqRKeAGm8hhTw" association="__ddNMK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcDa8kEdqRKeAGm8hhTw" annotatedElement="__dTcDK8kEdqRKeAGm8hhTw">

         <body>References the InteractionFragments in which this Lifeline takes part.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Btcq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Btc68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcDq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcD68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtdK8aEdqf6aL57Hh6KQ" name="represents" type="_38uyV68aEdqf6aL57Hh6KQ" association="_39UoVK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39Btda8aEdqf6aL57Hh6KQ" annotatedElement="_39BtdK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dTcEK8kEdqRKeAGm8hhTw" name="represents" type="__c2wj68kEdqRKeAGm8hhTw" association="__ddNPK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcEa8kEdqRKeAGm8hhTw" annotatedElement="__dTcEK8kEdqRKeAGm8hhTw">

         <body>References the ConnectableElement within the classifier that contains the enclosing interaction.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Btdq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Btd68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcEq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcE68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BteK8aEdqf6aL57Hh6KQ" name="interaction" type="_39BtSK8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_39UoWa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_39Btea8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39Bteq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__dTcFK8kEdqRKeAGm8hhTw" name="interaction" type="__dJrY68kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__ddNQa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dTcFa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dTcFq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39Bte68aEdqf6aL57Hh6KQ" annotatedElement="_39BteK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcF68kEdqRKeAGm8hhTw" annotatedElement="__dTcFK8kEdqRKeAGm8hhTw">

         <body>References the Interaction enclosing this Lifeline.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtfK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Btfa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcGK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcGa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39Btfq8aEdqf6aL57Hh6KQ" name="selector" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39UoaK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39Btf68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39BtgK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dTcGq8kEdqRKeAGm8hhTw" name="selector" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ddNUK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dTcG68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dTcHK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39Btga8aEdqf6aL57Hh6KQ" annotatedElement="_39Btfq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcHa8kEdqRKeAGm8hhTw" annotatedElement="__dTcGq8kEdqRKeAGm8hhTw">

         <body>If the referenced ConnectableElement is multivalued, then this specifies the specific individual part within that set.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Btgq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Btg68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcHq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcH68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-XxZK8aEdqf6aL57Hh6KQ" name="decomposedAs" type="_3-Xw868aEdqf6aL57Hh6KQ" association="_3-g6568aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-XxZa8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxZK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__epf168kEdqRKeAGm8hhTw" name="decomposedAs" type="__efvFK8kEdqRKeAGm8hhTw" association="__epgF68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__epf2K8kEdqRKeAGm8hhTw" annotatedElement="__epf168kEdqRKeAGm8hhTw">

         <body>References the Interaction that represents the decomposition.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-XxZq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxZ68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epf2a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epf2q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-XxaK8aEdqf6aL57Hh6KQ" name="Continuation">

-    <ownedComment xmi:id="_3-Xxaa8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxaK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__epf268kEdqRKeAGm8hhTw" name="Continuation">

+    <ownedComment xmi:id="__epf3K8kEdqRKeAGm8hhTw" annotatedElement="__epf268kEdqRKeAGm8hhTw">

       <body>A Continuation is a syntactic way to define continuations of different branches of an Alternative CombinedFragment. Continuations is intuitively similar to labels representing intermediate points in a flow of control.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-Xxaq8aEdqf6aL57Hh6KQ" name="same_name" constrainedElement="_3-XxaK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xxa68aEdqf6aL57Hh6KQ" annotatedElement="_3-Xxaq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__epf3a8kEdqRKeAGm8hhTw" name="same_name" constrainedElement="__epf268kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__epf3q8kEdqRKeAGm8hhTw" annotatedElement="__epf3a8kEdqRKeAGm8hhTw">

         <body>Continuations with the same name may only cover the same set of Lifelines (within one Classifier).</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-XxbK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__epf368kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-Xxba8aEdqf6aL57Hh6KQ" name="global" constrainedElement="_3-XxaK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xxbq8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xxba8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__epf4K8kEdqRKeAGm8hhTw" name="global" constrainedElement="__epf268kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__epf4a8kEdqRKeAGm8hhTw" annotatedElement="__epf4K8kEdqRKeAGm8hhTw">

         <body>Continuations are always global in the enclosing InteractionFragment e.g. it always covers all Lifelines covered by the enclosing InteractionFragment.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xxb68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__epf4q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-XxcK8aEdqf6aL57Hh6KQ" name="first_or_last_interaction_fragment" constrainedElement="_3-XxaK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-Xxca8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxcK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__epf468kEdqRKeAGm8hhTw" name="first_or_last_interaction_fragment" constrainedElement="__epf268kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__epf5K8kEdqRKeAGm8hhTw" annotatedElement="__epf468kEdqRKeAGm8hhTw">

         <body>Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionFragment.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-Xxcq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__epf5a8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-Xxc68aEdqf6aL57Hh6KQ" general="_39BthK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-XxdK8aEdqf6aL57Hh6KQ" name="setting" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3-Xxda8aEdqf6aL57Hh6KQ" annotatedElement="_3-XxdK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__epf5q8kEdqRKeAGm8hhTw" general="__dTcIK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__epf568kEdqRKeAGm8hhTw" name="setting" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__epf6K8kEdqRKeAGm8hhTw" annotatedElement="__epf568kEdqRKeAGm8hhTw">

         <body>True: when the Continuation is at the end of the enclosing InteractionFragment and False when it is in the beginning.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3-Xxdq8aEdqf6aL57Hh6KQ" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__epf6a8kEdqRKeAGm8hhTw" value="true"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39BthK8aEdqf6aL57Hh6KQ" name="InteractionFragment" isAbstract="true">

-    <ownedComment xmi:id="_39Btha8aEdqf6aL57Hh6KQ" annotatedElement="_39BthK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dTcIK8kEdqRKeAGm8hhTw" name="InteractionFragment" isAbstract="true">

+    <ownedComment xmi:id="__dTcIa8kEdqRKeAGm8hhTw" annotatedElement="__dTcIK8kEdqRKeAGm8hhTw">

       <body>InteractionFragment is an abstract notion of the most general interaction unit. An interaction fragment is a piece of an interaction. Each interaction fragment is conceptually like an interaction by itself. InteractionFragment is an abstract class and a specialization of NamedElement.</body>

     </ownedComment>

-    <generalization xmi:id="_39Bthq8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39Bth68aEdqf6aL57Hh6KQ" name="covered" type="_39BtZK8aEdqf6aL57Hh6KQ" association="_39UoSK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtiK8aEdqf6aL57Hh6KQ" annotatedElement="_39Bth68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dTcIq8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dTcI68kEdqRKeAGm8hhTw" name="covered" type="__dTcAK8kEdqRKeAGm8hhTw" association="__ddNMK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dTcJK8kEdqRKeAGm8hhTw" annotatedElement="__dTcI68kEdqRKeAGm8hhTw">

         <body>References the Lifelines that the InteractionFragment involves.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Btia8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Btiq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcJa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcJq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39Bti68aEdqf6aL57Hh6KQ" name="generalOrdering" type="_39LeHK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39Uogq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39BtjK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39Btja8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dTcJ68kEdqRKeAGm8hhTw" name="generalOrdering" type="__dTccK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ddNaq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dTcKK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dTcKa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39Btjq8aEdqf6aL57Hh6KQ" annotatedElement="_39Bti68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcKq8kEdqRKeAGm8hhTw" annotatedElement="__dTcJ68kEdqRKeAGm8hhTw">

         <body>The general ordering relationships contained in this fragment.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Btj68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtkK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcK68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcLK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39Btka8aEdqf6aL57Hh6KQ" name="enclosingInteraction" type="_39BtSK8aEdqf6aL57Hh6KQ" association="_39Uoh68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_39Btkq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39Btk68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__dTcLa8kEdqRKeAGm8hhTw" name="enclosingInteraction" type="__dJrY68kEdqRKeAGm8hhTw" association="__ddNb68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dTcLq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dTcL68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39BtlK8aEdqf6aL57Hh6KQ" annotatedElement="_39Btka8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dTcMK8kEdqRKeAGm8hhTw" annotatedElement="__dTcLa8kEdqRKeAGm8hhTw">

         <body>The Interaction enclosing this InteractionFragment.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39Btla8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39Btlq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dTcMa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dTcMq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-Xxd68aEdqf6aL57Hh6KQ" name="enclosingOperand" type="_3-Xw_68aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_3-g7EK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-XxeK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-Xxea8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__epf6q8kEdqRKeAGm8hhTw" name="enclosingOperand" type="__efvIK8kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__epgQK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__epf668kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__epf7K8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-Xxeq8aEdqf6aL57Hh6KQ" annotatedElement="_3-Xxd68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__epf7a8kEdqRKeAGm8hhTw" annotatedElement="__epf6q8kEdqRKeAGm8hhTw">

         <body>The operand enclosing this InteractionFragment (they may nest recursively)</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-Xxe68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-XxfK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epf7q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epf768kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-g6wK8aEdqf6aL57Hh6KQ" name="ConsiderIgnoreFragment">

-    <ownedComment xmi:id="_3-g6wa8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6wK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__epf8K8kEdqRKeAGm8hhTw" name="ConsiderIgnoreFragment">

+    <ownedComment xmi:id="__epf8a8kEdqRKeAGm8hhTw" annotatedElement="__epf8K8kEdqRKeAGm8hhTw">

       <body>A ConsiderIgnoreFragment is a kind of combined fragment that is used for the consider and ignore cases, which require lists of pertinent messages to be specified.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-g6wq8aEdqf6aL57Hh6KQ" name="consider_or_ignore" constrainedElement="_3-g6wK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g6w68aEdqf6aL57Hh6KQ" annotatedElement="_3-g6wq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__epf8q8kEdqRKeAGm8hhTw" name="consider_or_ignore" constrainedElement="__epf8K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__epf868kEdqRKeAGm8hhTw" annotatedElement="__epf8q8kEdqRKeAGm8hhTw">

         <body>The interaction operator of a ConsiderIgnoreFragment must be either 'consider' or 'ignore'.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g6xK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__epf9K8kEdqRKeAGm8hhTw" language="OCL">

         <body>(interactionOperator = #consider) or (interactionOperator = #ignore)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-g6xa8aEdqf6aL57Hh6KQ" name="type" constrainedElement="_3-g6wK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g6xq8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6xa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__epf9a8kEdqRKeAGm8hhTw" name="type" constrainedElement="__epf8K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__epf9q8kEdqRKeAGm8hhTw" annotatedElement="__epf9a8kEdqRKeAGm8hhTw">

         <body>The NamedElements must be of a type of element that identifies a message (e.g., an Operation, Reception, or a Signal).</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g6x68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__epf968kEdqRKeAGm8hhTw" language="OCL">

         <body>message->forAll(m | m.oclIsKindOf(Operation) or m.oclIsKindOf(Reception) or m.oclIsKindOf(Signal))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-g6yK8aEdqf6aL57Hh6KQ" general="_3-XxP68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-g6ya8aEdqf6aL57Hh6KQ" name="message" type="_csVgUGvtEdqG6fBIPwe-mw" association="_3-g7Eq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g6yq8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6ya8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__epf-K8kEdqRKeAGm8hhTw" general="__efvYK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__epf-a8kEdqRKeAGm8hhTw" name="message" type="_csVgUGvtEdqG6fBIPwe-mw" association="__eypwK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__epf-q8kEdqRKeAGm8hhTw" annotatedElement="__epf-a8kEdqRKeAGm8hhTw">

         <body>The set of messages that apply to this fragment</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g6y68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g6zK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epf-68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epf_K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_3-g6za8aEdqf6aL57Hh6KQ" name="InteractionOperatorKind">

-    <ownedComment xmi:id="_3-g6zq8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6za8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__epf_a8kEdqRKeAGm8hhTw" name="InteractionOperatorKind">

+    <ownedComment xmi:id="__epf_q8kEdqRKeAGm8hhTw" annotatedElement="__epf_a8kEdqRKeAGm8hhTw">

       <body>InteractionOperatorKind is an enumeration designating the different kinds of operators of CombinedFragments. The InteractionOperand defines the type of operator of a CombinedFragment.</body>

     </ownedComment>

-    <ownedLiteral xmi:id="_3-g6z68aEdqf6aL57Hh6KQ" name="seq">

-      <ownedComment xmi:id="_3-g60K8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6z68aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epf_68kEdqRKeAGm8hhTw" name="seq">

+      <ownedComment xmi:id="__epgAK8kEdqRKeAGm8hhTw" annotatedElement="__epf_68kEdqRKeAGm8hhTw">

         <body>The interactionOperator seq designates that the CombinedFragment represents a weak sequencing between the behaviors of the operands.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g60a8aEdqf6aL57Hh6KQ" name="alt">

-      <ownedComment xmi:id="_3-g60q8aEdqf6aL57Hh6KQ" annotatedElement="_3-g60a8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgAa8kEdqRKeAGm8hhTw" name="alt">

+      <ownedComment xmi:id="__epgAq8kEdqRKeAGm8hhTw" annotatedElement="__epgAa8kEdqRKeAGm8hhTw">

         <body>The interactionOperator alt designates that the CombinedFragment represents a choice of behavior. At most one of the operands will be chosen. The chosen operand must have an explicit or implicit guard expression that evaluates to true at this point in the interaction. An implicit true guard is implied if the operand has no guard.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g6068aEdqf6aL57Hh6KQ" name="opt">

-      <ownedComment xmi:id="_3-g61K8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6068aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgA68kEdqRKeAGm8hhTw" name="opt">

+      <ownedComment xmi:id="__epgBK8kEdqRKeAGm8hhTw" annotatedElement="__epgA68kEdqRKeAGm8hhTw">

         <body>The interactionOperator opt designates that the CombinedFragment represents a choice of behavior where either the (sole) operand happens or nothing happens. An option is semantically equivalent to an alternative CombinedFragment where there is one operand with non-empty content and the second operand is empty.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g61a8aEdqf6aL57Hh6KQ" name="break">

-      <ownedComment xmi:id="_3-g61q8aEdqf6aL57Hh6KQ" annotatedElement="_3-g61a8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgBa8kEdqRKeAGm8hhTw" name="break">

+      <ownedComment xmi:id="__epgBq8kEdqRKeAGm8hhTw" annotatedElement="__epgBa8kEdqRKeAGm8hhTw">

         <body>The interactionOperator break designates that the CombinedFragment represents a breaking scenario in the sense that the operand is a scenario that is performed instead of the remainder of the enclosing InteractionFragment. A break operator with a guard is chosen when the guard is true and the rest of the enclosing Interaction Fragment is ignored. When the guard of the break operand is false, the break operand is ignored and the rest of the enclosing InteractionFragment is chosen. The choice between a break operand without a guard and the rest of the enclosing InteractionFragment is done non-deterministically.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g6168aEdqf6aL57Hh6KQ" name="par">

-      <ownedComment xmi:id="_3-g62K8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6168aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgB68kEdqRKeAGm8hhTw" name="par">

+      <ownedComment xmi:id="__epgCK8kEdqRKeAGm8hhTw" annotatedElement="__epgB68kEdqRKeAGm8hhTw">

         <body>The interactionOperator par designates that the CombinedFragment represents a parallel merge between the behaviors of the operands. The OccurrenceSpecifications of the different operands can be interleaved in any way as long as the ordering imposed by each operand as such is preserved.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g62a8aEdqf6aL57Hh6KQ" name="strict">

-      <ownedComment xmi:id="_3-g62q8aEdqf6aL57Hh6KQ" annotatedElement="_3-g62a8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgCa8kEdqRKeAGm8hhTw" name="strict">

+      <ownedComment xmi:id="__epgCq8kEdqRKeAGm8hhTw" annotatedElement="__epgCa8kEdqRKeAGm8hhTw">

         <body>The interactionOperator strict designates that the CombinedFragment represents a strict sequencing between the behaviors of the operands. The semantics of strict sequencing defines a strict ordering of the operands on the first level within the CombinedFragment with interactionOperator strict. Therefore OccurrenceSpecifications within contained CombinedFragment will not directly be compared with other OccurrenceSpecifications of the enclosing CombinedFragment.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g6268aEdqf6aL57Hh6KQ" name="loop">

-      <ownedComment xmi:id="_3-g63K8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6268aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgC68kEdqRKeAGm8hhTw" name="loop">

+      <ownedComment xmi:id="__epgDK8kEdqRKeAGm8hhTw" annotatedElement="__epgC68kEdqRKeAGm8hhTw">

         <body>The interactionOperator loop designates that the CombinedFragment represents a loop. The loop operand will be repeated a number of times.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g63a8aEdqf6aL57Hh6KQ" name="critical">

-      <ownedComment xmi:id="_3-g63q8aEdqf6aL57Hh6KQ" annotatedElement="_3-g63a8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgDa8kEdqRKeAGm8hhTw" name="critical">

+      <ownedComment xmi:id="__epgDq8kEdqRKeAGm8hhTw" annotatedElement="__epgDa8kEdqRKeAGm8hhTw">

         <body>The interactionOperator critical designates that the CombinedFragment represents a critical region. A critical region means that the traces of the region cannot be interleaved by other OccurrenceSpecifications (on those Lifelines covered by the region). This means that the region is treated atomically by the enclosing fragment when determining the set of valid traces. Even though enclosing CombinedFragments may imply that some OccurrenceSpecifications may interleave into the region, such as e.g. with par-operator, this is prevented by defining a region.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g6368aEdqf6aL57Hh6KQ" name="neg">

-      <ownedComment xmi:id="_3-g64K8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6368aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgD68kEdqRKeAGm8hhTw" name="neg">

+      <ownedComment xmi:id="__epgEK8kEdqRKeAGm8hhTw" annotatedElement="__epgD68kEdqRKeAGm8hhTw">

         <body>The interactionOperator neg designates that the CombinedFragment represents traces that are defined to be invalid.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g64a8aEdqf6aL57Hh6KQ" name="assert">

-      <ownedComment xmi:id="_3-g64q8aEdqf6aL57Hh6KQ" annotatedElement="_3-g64a8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgEa8kEdqRKeAGm8hhTw" name="assert">

+      <ownedComment xmi:id="__epgEq8kEdqRKeAGm8hhTw" annotatedElement="__epgEa8kEdqRKeAGm8hhTw">

         <body>The interactionOperator assert designates that the CombinedFragment represents an assertion. The sequences of the operand of the assertion are the only valid continuations. All other continuations result in an invalid trace.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g6468aEdqf6aL57Hh6KQ" name="ignore">

-      <ownedComment xmi:id="_3-g65K8aEdqf6aL57Hh6KQ" annotatedElement="_3-g6468aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgE68kEdqRKeAGm8hhTw" name="ignore">

+      <ownedComment xmi:id="__epgFK8kEdqRKeAGm8hhTw" annotatedElement="__epgE68kEdqRKeAGm8hhTw">

         <body>The interacionOperator ignore designates that there are some message types that are not shown within this combined fragment. These message types can be considered insignificant and are implicitly ignored if they appear in a corresponding execution. Alternatively, one can understand ignore to mean that the message types that are ignored can appear anywhere in the traces.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3-g65a8aEdqf6aL57Hh6KQ" name="consider">

-      <ownedComment xmi:id="_3-g65q8aEdqf6aL57Hh6KQ" annotatedElement="_3-g65a8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__epgFa8kEdqRKeAGm8hhTw" name="consider">

+      <ownedComment xmi:id="__epgFq8kEdqRKeAGm8hhTw" annotatedElement="__epgFa8kEdqRKeAGm8hhTw">

         <body>The interactionOperator consider designates which messages should be considered within this combined fragment. This is equivalent to defining every other message to be ignored.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g6568aEdqf6aL57Hh6KQ" name="A_lifeline_decomposedAs" memberEnd="_3-g66K8aEdqf6aL57Hh6KQ _3-XxZK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-g66K8aEdqf6aL57Hh6KQ" type="_39BtZK8aEdqf6aL57Hh6KQ" association="_3-g6568aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgF68kEdqRKeAGm8hhTw" name="A_lifeline_decomposedAs" memberEnd="__epf168kEdqRKeAGm8hhTw __epgGK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__epgGK8kEdqRKeAGm8hhTw" type="__dTcAK8kEdqRKeAGm8hhTw" association="__epgF68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g66a8aEdqf6aL57Hh6KQ" name="A_guard_interactionOperand" memberEnd="_3-g6668aEdqf6aL57Hh6KQ _3-XxCa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-g66q8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-g6668aEdqf6aL57Hh6KQ" type="_3-Xw_68aEdqf6aL57Hh6KQ" association="_3-g66a8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g67K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g67a8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgGa8kEdqRKeAGm8hhTw" name="A_guard_interactionOperand" memberEnd="__efvKq8kEdqRKeAGm8hhTw __epgG68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__epgGq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__epgG68kEdqRKeAGm8hhTw" type="__efvIK8kEdqRKeAGm8hhTw" association="__epgGa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epgHK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epgHa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g67q8aEdqf6aL57Hh6KQ" name="A_operand_combinedFragment" memberEnd="_3-g68K8aEdqf6aL57Hh6KQ _3-XxUa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-g6768aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-g68K8aEdqf6aL57Hh6KQ" type="_3-XxP68aEdqf6aL57Hh6KQ" association="_3-g67q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g68a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g68q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgHq8kEdqRKeAGm8hhTw" name="A_operand_combinedFragment" memberEnd="__epgIK8kEdqRKeAGm8hhTw __efvcq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__epgH68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__epgIK8kEdqRKeAGm8hhTw" type="__efvYK8kEdqRKeAGm8hhTw" association="__epgHq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epgIa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epgIq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g6868aEdqf6aL57Hh6KQ" name="A_refersTo_interactionUse" memberEnd="_3-Xw468aEdqf6aL57Hh6KQ _3-g69K8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-g69K8aEdqf6aL57Hh6KQ" type="_3-Xw1K8aEdqf6aL57Hh6KQ" association="_3-g6868aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g69a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g69q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgI68kEdqRKeAGm8hhTw" name="A_refersTo_interactionUse" memberEnd="__efvBK8kEdqRKeAGm8hhTw __epgJK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__epgJK8kEdqRKeAGm8hhTw" type="__efu9a8kEdqRKeAGm8hhTw" association="__epgI68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epgJa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epgJq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g6968aEdqf6aL57Hh6KQ" name="A_cfragmentGate_combinedFragment" memberEnd="_3-XxV68aEdqf6aL57Hh6KQ _3-g6-a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-g6-K8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-g6-a8aEdqf6aL57Hh6KQ" type="_3-XxP68aEdqf6aL57Hh6KQ" association="_3-g6968aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g6-q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g6-68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgJ68kEdqRKeAGm8hhTw" name="A_cfragmentGate_combinedFragment" memberEnd="__efveK8kEdqRKeAGm8hhTw __epgKa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__epgKK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__epgKa8kEdqRKeAGm8hhTw" type="__efvYK8kEdqRKeAGm8hhTw" association="__epgJ68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epgKq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epgK68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g6_K8aEdqf6aL57Hh6KQ" name="A_interactionUse_actualGate" memberEnd="_3-Xw568aEdqf6aL57Hh6KQ _3-g6_q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-g6_a8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-g6_q8aEdqf6aL57Hh6KQ" type="_3-Xw1K8aEdqf6aL57Hh6KQ" association="_3-g6_K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g6_68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7AK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgLK8kEdqRKeAGm8hhTw" name="A_interactionUse_actualGate" memberEnd="__epgLq8kEdqRKeAGm8hhTw __efvCK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__epgLa8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__epgLq8kEdqRKeAGm8hhTw" type="__efu9a8kEdqRKeAGm8hhTw" association="__epgLK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epgL68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epgMK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g7Aa8aEdqf6aL57Hh6KQ" name="A_formalGate_interaction" memberEnd="_3-XxXa8aEdqf6aL57Hh6KQ _3-g7A68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-g7Aq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-g7A68aEdqf6aL57Hh6KQ" type="_39BtSK8aEdqf6aL57Hh6KQ" association="_3-g7Aa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7BK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7Ba8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgMa8kEdqRKeAGm8hhTw" name="A_formalGate_interaction" memberEnd="__epgM68kEdqRKeAGm8hhTw __epf0K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__epgMq8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__epgM68kEdqRKeAGm8hhTw" type="__dJrY68kEdqRKeAGm8hhTw" association="__epgMa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epgNK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epgNa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g7Bq8aEdqf6aL57Hh6KQ" name="A_minint_interactionConstraint" memberEnd="_3-g7CK8aEdqf6aL57Hh6KQ _3-XxKq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-g7B68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-g7CK8aEdqf6aL57Hh6KQ" type="_3-XxFa8aEdqf6aL57Hh6KQ" association="_3-g7Bq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgNq8kEdqRKeAGm8hhTw" name="A_minint_interactionConstraint" memberEnd="__efvS68kEdqRKeAGm8hhTw __epgOK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__epgN68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__epgOK8kEdqRKeAGm8hhTw" type="__efvNq8kEdqRKeAGm8hhTw" association="__epgNq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g7Ca8aEdqf6aL57Hh6KQ" name="A_maxint_interactionConstraint" memberEnd="_3-XxMK8aEdqf6aL57Hh6KQ _3-g7C68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-g7Cq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-g7C68aEdqf6aL57Hh6KQ" type="_3-XxFa8aEdqf6aL57Hh6KQ" association="_3-g7Ca8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgOa8kEdqRKeAGm8hhTw" name="A_maxint_interactionConstraint" memberEnd="__efvUa8kEdqRKeAGm8hhTw __epgO68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__epgOq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__epgO68kEdqRKeAGm8hhTw" type="__efvNq8kEdqRKeAGm8hhTw" association="__epgOa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g7DK8aEdqf6aL57Hh6KQ" name="A_argument_interactionUse" memberEnd="_3-g7Da8aEdqf6aL57Hh6KQ _3-Xw7a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-g7Da8aEdqf6aL57Hh6KQ" type="_3-Xw1K8aEdqf6aL57Hh6KQ" association="_3-g7DK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7Dq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7D68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgPK8kEdqRKeAGm8hhTw" name="A_argument_interactionUse" memberEnd="__efvDq8kEdqRKeAGm8hhTw __epgPa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__epgPa8kEdqRKeAGm8hhTw" type="__efu9a8kEdqRKeAGm8hhTw" association="__epgPK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__epgPq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__epgP68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g7EK8aEdqf6aL57Hh6KQ" name="A_fragment_enclosingOperand" memberEnd="_3-XxD68aEdqf6aL57Hh6KQ _3-Xxd68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-g7Ea8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__epgQK8kEdqRKeAGm8hhTw" name="A_fragment_enclosingOperand" memberEnd="__efvMK8kEdqRKeAGm8hhTw __epf6q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__epgQa8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-g7Eq8aEdqf6aL57Hh6KQ" name="A_message_considerIgnoreFragment" memberEnd="_3-g7E68aEdqf6aL57Hh6KQ _3-g6ya8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-g7E68aEdqf6aL57Hh6KQ" type="_3-g6wK8aEdqf6aL57Hh6KQ" association="_3-g7Eq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7FK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7Fa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__eypwK8kEdqRKeAGm8hhTw" name="A_message_considerIgnoreFragment" memberEnd="__epf-a8kEdqRKeAGm8hhTw __eypwa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__eypwa8kEdqRKeAGm8hhTw" type="__epf8K8kEdqRKeAGm8hhTw" association="__eypwK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eypwq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eypw68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-g7Fq8aEdqf6aL57Hh6KQ" name="CreateObjectAction">

-    <ownedComment xmi:id="_3-g7F68aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Fq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eypxK8kEdqRKeAGm8hhTw" name="CreateObjectAction">

+    <ownedComment xmi:id="__eypxa8kEdqRKeAGm8hhTw" annotatedElement="__eypxK8kEdqRKeAGm8hhTw">

       <body>CreateObjectAction is an action that creates an object that conforms to a statically specified classifier and puts it on an output pin at runtime.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-g7GK8aEdqf6aL57Hh6KQ" name="classifier_not_abstract" constrainedElement="_3-g7Fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7Ga8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7GK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eypxq8kEdqRKeAGm8hhTw" name="classifier_not_abstract" constrainedElement="__eypxK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eypx68kEdqRKeAGm8hhTw" annotatedElement="__eypxq8kEdqRKeAGm8hhTw">

         <body>The classifier cannot be abstract.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7Gq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eypyK8kEdqRKeAGm8hhTw" language="OCL">

         <body>not (self.classifier.isAbstract = #true)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-g7G68aEdqf6aL57Hh6KQ" name="classifier_not_association_class" constrainedElement="_3-g7Fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7HK8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7G68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eypya8kEdqRKeAGm8hhTw" name="classifier_not_association_class" constrainedElement="__eypxK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eypyq8kEdqRKeAGm8hhTw" annotatedElement="__eypya8kEdqRKeAGm8hhTw">

         <body>The classifier cannot be an association class</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7Ha8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eypy68kEdqRKeAGm8hhTw" language="OCL">

         <body>not self.classifier.oclIsKindOf(AssociationClass)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-g7Hq8aEdqf6aL57Hh6KQ" name="same_type" constrainedElement="_3-g7Fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7H68aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Hq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eypzK8kEdqRKeAGm8hhTw" name="same_type" constrainedElement="__eypxK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eypza8kEdqRKeAGm8hhTw" annotatedElement="__eypzK8kEdqRKeAGm8hhTw">

         <body>The type of the result pin must be the same as the classifier of the action.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7IK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eypzq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type = self.classifier</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-g7Ia8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-g7Fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7Iq8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Ia8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eypz68kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__eypxK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyp0K8kEdqRKeAGm8hhTw" annotatedElement="__eypz68kEdqRKeAGm8hhTw">

         <body>The multiplicity of the output pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7I68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyp0a8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-g7JK8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-g7Ja8aEdqf6aL57Hh6KQ" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="_3-z2R68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7Jq8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Ja8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eyp0q8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eyp068kEdqRKeAGm8hhTw" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="__fGL9K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyp1K8kEdqRKeAGm8hhTw" annotatedElement="__eyp068kEdqRKeAGm8hhTw">

         <body>Classifier to be instantiated.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7J68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7KK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyp1a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyp1q8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-g7Ka8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_3-z2S68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-g7Kq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-g7K68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eyp168kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__fGL-K8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eyp2K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eyp2a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-g7LK8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Ka8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eyp2q8kEdqRKeAGm8hhTw" annotatedElement="__eyp168kEdqRKeAGm8hhTw">

         <body>Gives the output pin on which the result is put.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7La8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7Lq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyp268kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyp3K8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-g7L68aEdqf6aL57Hh6KQ" name="DestroyObjectAction">

-    <ownedComment xmi:id="_3-g7MK8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7L68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eyp3a8kEdqRKeAGm8hhTw" name="DestroyObjectAction">

+    <ownedComment xmi:id="__eyp3q8kEdqRKeAGm8hhTw" annotatedElement="__eyp3a8kEdqRKeAGm8hhTw">

       <body>This action destroys the object on its input pin at runtime. The object may be a link object, in which case the semantics of DestroyLinkAction also applies.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-g7Ma8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-g7L68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7Mq8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Ma8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyp368kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__eyp3a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyp4K8kEdqRKeAGm8hhTw" annotatedElement="__eyp368kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7M68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyp4a8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.target.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-g7NK8aEdqf6aL57Hh6KQ" name="no_type" constrainedElement="_3-g7L68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7Na8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7NK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyp4q8kEdqRKeAGm8hhTw" name="no_type" constrainedElement="__eyp3a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyp468kEdqRKeAGm8hhTw" annotatedElement="__eyp4q8kEdqRKeAGm8hhTw">

         <body>The input pin has no type.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7Nq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyp5K8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.target.type->size() = 0</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-g7N68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-g7OK8aEdqf6aL57Hh6KQ" name="isDestroyLinks" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3-g7Oa8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7OK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eyp5a8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eyp5q8kEdqRKeAGm8hhTw" name="isDestroyLinks" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__eyp568kEdqRKeAGm8hhTw" annotatedElement="__eyp5q8kEdqRKeAGm8hhTw">

         <body>Specifies whether links in which the object participates are destroyed along with the object.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3-g7Oq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__eyp6K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-g7O68aEdqf6aL57Hh6KQ" name="isDestroyOwnedObjects" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3-g7PK8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7O68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eyp6a8kEdqRKeAGm8hhTw" name="isDestroyOwnedObjects" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__eyp6q8kEdqRKeAGm8hhTw" annotatedElement="__eyp6a8kEdqRKeAGm8hhTw">

         <body>Specifies whether objects owned by the object are destroyed along with the object.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3-g7Pa8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__eyp668kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-g7Pq8aEdqf6aL57Hh6KQ" name="target" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-z2UK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-g7P68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-g7QK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eyp7K8kEdqRKeAGm8hhTw" name="target" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fGL_a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eyp7a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eyp7q8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-g7Qa8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Pq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eyp768kEdqRKeAGm8hhTw" annotatedElement="__eyp7K8kEdqRKeAGm8hhTw">

         <body>The input pin providing the object to be destroyed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7Qq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7Q68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyp8K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyp8a8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-g7RK8aEdqf6aL57Hh6KQ" name="TestIdentityAction">

-    <ownedComment xmi:id="_3-g7Ra8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7RK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eyp8q8kEdqRKeAGm8hhTw" name="TestIdentityAction">

+    <ownedComment xmi:id="__eyp868kEdqRKeAGm8hhTw" annotatedElement="__eyp8q8kEdqRKeAGm8hhTw">

       <body>This action returns true if the two input values are the same identity, false if they are not.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-g7Rq8aEdqf6aL57Hh6KQ" name="no_type" constrainedElement="_3-g7RK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7R68aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Rq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyp9K8kEdqRKeAGm8hhTw" name="no_type" constrainedElement="__eyp8q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyp9a8kEdqRKeAGm8hhTw" annotatedElement="__eyp9K8kEdqRKeAGm8hhTw">

         <body>The input pins have no type.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7SK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyp9q8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.first.type->size() = 0

 and self.second.type->size() = 0

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-g7Sa8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-g7RK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7Sq8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Sa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyp968kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__eyp8q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyp-K8kEdqRKeAGm8hhTw" annotatedElement="__eyp968kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pins is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7S68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyp-a8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.first.multiplicity.is(1,1)

 and self.second.multiplicity.is(1,1)

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-g7TK8aEdqf6aL57Hh6KQ" name="result_is_boolean" constrainedElement="_3-g7RK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-g7Ta8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7TK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyp-q8kEdqRKeAGm8hhTw" name="result_is_boolean" constrainedElement="__eyp8q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyp-68kEdqRKeAGm8hhTw" annotatedElement="__eyp-q8kEdqRKeAGm8hhTw">

         <body>The type of the result is Boolean.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-g7Tq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyp_K8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type.oclIsTypeOf(Boolean)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-g7T68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-g7UK8aEdqf6aL57Hh6KQ" name="first" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-z2Va8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-g7Ua8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-g7Uq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eyp_a8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eyp_q8kEdqRKeAGm8hhTw" name="first" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fGMAq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eyp_68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eyqAK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-g7U68aEdqf6aL57Hh6KQ" annotatedElement="_3-g7UK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eyqAa8kEdqRKeAGm8hhTw" annotatedElement="__eyp_q8kEdqRKeAGm8hhTw">

         <body>Gives the pin on which an object is placed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7VK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7Va8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyqAq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyqA68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-g7Vq8aEdqf6aL57Hh6KQ" name="second" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-z2Wq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-g7V68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-g7WK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eyqBK8kEdqRKeAGm8hhTw" name="second" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fPVsK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eyqBa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eyqBq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-g7Wa8aEdqf6aL57Hh6KQ" annotatedElement="_3-g7Vq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eyqB68kEdqRKeAGm8hhTw" annotatedElement="__eyqBK8kEdqRKeAGm8hhTw">

         <body>Gives the pin on which an object is placed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7Wq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7W68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyqCK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyqCa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-g7XK8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_3-9msK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-g7Xa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-g7Xq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eyqCq8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__fPVta8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eyqC68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eyqDK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-g7X68aEdqf6aL57Hh6KQ" annotatedElement="_3-g7XK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eyqDa8kEdqRKeAGm8hhTw" annotatedElement="__eyqCq8kEdqRKeAGm8hhTw">

         <body>Tells whether the two input objects are identical.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-g7YK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-g7Ya8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyqDq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyqD68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qrwK8aEdqf6aL57Hh6KQ" name="ReadSelfAction">

-    <ownedComment xmi:id="_3-qrwa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qrwK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eyqEK8kEdqRKeAGm8hhTw" name="ReadSelfAction">

+    <ownedComment xmi:id="__eyqEa8kEdqRKeAGm8hhTw" annotatedElement="__eyqEK8kEdqRKeAGm8hhTw">

       <body>Every action is ultimately a part of some behavior, which is in turn optionally attached in some way to the specification of a classifier; for example as the body of a method or as part of a state machine. When the behavior executes, it does so in the context of some specific host instance of that classifier. This action produces this host instance, if any, on its output pin. The type of the output pin is the classifier to which the behavior is associated in the user model.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-qrwq8aEdqf6aL57Hh6KQ" name="contained" constrainedElement="_3-qrwK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qrw68aEdqf6aL57Hh6KQ" annotatedElement="_3-qrwq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqEq8kEdqRKeAGm8hhTw" name="contained" constrainedElement="__eyqEK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqE68kEdqRKeAGm8hhTw" annotatedElement="__eyqEq8kEdqRKeAGm8hhTw">

         <body>The action must be contained in an behavior that has a host classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qrxK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqFK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.context->size() = 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qrxa8aEdqf6aL57Hh6KQ" name="not_static" constrainedElement="_3-qrwK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qrxq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qrxa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqFa8kEdqRKeAGm8hhTw" name="not_static" constrainedElement="__eyqEK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqFq8kEdqRKeAGm8hhTw" annotatedElement="__eyqFa8kEdqRKeAGm8hhTw">

         <body>If the action is contained in an behavior that is acting as the body of a method, then the operation of the method must not be static.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qrx68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqF68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qryK8aEdqf6aL57Hh6KQ" name="type" constrainedElement="_3-qrwK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qrya8aEdqf6aL57Hh6KQ" annotatedElement="_3-qryK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqGK8kEdqRKeAGm8hhTw" name="type" constrainedElement="__eyqEK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqGa8kEdqRKeAGm8hhTw" annotatedElement="__eyqGK8kEdqRKeAGm8hhTw">

         <body>The type of the result output pin is the host classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qryq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqGq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type = self.context</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qry68aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-qrwK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qrzK8aEdqf6aL57Hh6KQ" annotatedElement="_3-qry68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqG68kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__eyqEK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqHK8kEdqRKeAGm8hhTw" annotatedElement="__eyqG68kEdqRKeAGm8hhTw">

         <body>The multiplicity of the result output pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qrza8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqHa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-qrzq8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-qrz68aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_3-9mta8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-qr0K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-qr0a8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eyqHq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eyqH68kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__fPVuq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eyqIK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eyqIa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-qr0q8aEdqf6aL57Hh6KQ" annotatedElement="_3-qrz68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eyqIq8kEdqRKeAGm8hhTw" annotatedElement="__eyqH68kEdqRKeAGm8hhTw">

         <body>Gives the output pin on which the hosting object is placed.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qr068aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qr1K8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyqI68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyqJK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qr1a8aEdqf6aL57Hh6KQ" name="StructuralFeatureAction" isAbstract="true">

-    <ownedComment xmi:id="_3-qr1q8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr1a8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eyqJa8kEdqRKeAGm8hhTw" name="StructuralFeatureAction" isAbstract="true">

+    <ownedComment xmi:id="__eyqJq8kEdqRKeAGm8hhTw" annotatedElement="__eyqJa8kEdqRKeAGm8hhTw">

       <body>This abstract action class statically specifies the structural feature being accessed. The object to access is specified dynamically, by referring to an input pin on which the object will be placed at runtime. The type of the value of this pin is the classifier that owns the specified structural feature, and the value's multiplicity is 1..1.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-qr168aEdqf6aL57Hh6KQ" name="not_static" constrainedElement="_3-qr1a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qr2K8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr168aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqJ68kEdqRKeAGm8hhTw" name="not_static" constrainedElement="__eyqJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqKK8kEdqRKeAGm8hhTw" annotatedElement="__eyqJ68kEdqRKeAGm8hhTw">

         <body>The structural feature must not be static.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qr2a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqKa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.structuralFeature.isStatic = #false</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qr2q8aEdqf6aL57Hh6KQ" name="same_type" constrainedElement="_3-qr1a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qr268aEdqf6aL57Hh6KQ" annotatedElement="_3-qr2q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqKq8kEdqRKeAGm8hhTw" name="same_type" constrainedElement="__eyqJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqK68kEdqRKeAGm8hhTw" annotatedElement="__eyqKq8kEdqRKeAGm8hhTw">

         <body>The type of the object input pin is the same as the classifier of the object passed on this pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qr3K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqLK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qr3a8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-qr1a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qr3q8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr3a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqLa8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__eyqJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqLq8kEdqRKeAGm8hhTw" annotatedElement="__eyqLa8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pin must be 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qr368aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqL68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.object.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qr4K8aEdqf6aL57Hh6KQ" name="visibility" constrainedElement="_3-qr1a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qr4a8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr4K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqMK8kEdqRKeAGm8hhTw" name="visibility" constrainedElement="__eyqJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqMa8kEdqRKeAGm8hhTw" annotatedElement="__eyqMK8kEdqRKeAGm8hhTw">

         <body>Visibility of structural feature must allow access to the object performing the action.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qr4q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqMq8kEdqRKeAGm8hhTw" language="OCL">

         <body>let host : Classifier = self.context in

 self.structuralFeature.visibility = #public

 or host = self.structuralFeature.featuringClassifier.type

@@ -6376,109 +6376,109 @@
 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qr468aEdqf6aL57Hh6KQ" name="one_featuring_classifier" constrainedElement="_3-qr1a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qr5K8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr468aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqM68kEdqRKeAGm8hhTw" name="one_featuring_classifier" constrainedElement="__eyqJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqNK8kEdqRKeAGm8hhTw" annotatedElement="__eyqM68kEdqRKeAGm8hhTw">

         <body>A structural feature has exactly one featuringClassifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qr5a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqNa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.structuralFeature.featuringClassifier->size() = 1</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-qr5q8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-qr568aEdqf6aL57Hh6KQ" name="structuralFeature" type="_33g7Ca8aEdqf6aL57Hh6KQ" association="_3-9muq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qr6K8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr568aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eyqNq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eyqN68kEdqRKeAGm8hhTw" name="structuralFeature" type="__YYf6a8kEdqRKeAGm8hhTw" association="__fPVv68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqOK8kEdqRKeAGm8hhTw" annotatedElement="__eyqN68kEdqRKeAGm8hhTw">

         <body>Structural feature to be read.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qr6a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qr6q8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyqOa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyqOq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-qr668aEdqf6aL57Hh6KQ" name="object" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-9mvq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-qr7K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-qr7a8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eyqO68kEdqRKeAGm8hhTw" name="object" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fPVw68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eyqPK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eyqPa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-qr7q8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr668aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eyqPq8kEdqRKeAGm8hhTw" annotatedElement="__eyqO68kEdqRKeAGm8hhTw">

         <body>Gives the input pin from which the object whose structural feature is to be read or written is obtained.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qr768aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qr8K8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyqP68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyqQK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qr8a8aEdqf6aL57Hh6KQ" name="ReadStructuralFeatureAction">

-    <ownedComment xmi:id="_3-qr8q8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr8a8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eyqQa8kEdqRKeAGm8hhTw" name="ReadStructuralFeatureAction">

+    <ownedComment xmi:id="__eyqQq8kEdqRKeAGm8hhTw" annotatedElement="__eyqQa8kEdqRKeAGm8hhTw">

       <body>This action reads the values of a structural feature, in order if the structural feature is ordered.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-qr868aEdqf6aL57Hh6KQ" name="type_and_ordering" constrainedElement="_3-qr8a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qr9K8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr868aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqQ68kEdqRKeAGm8hhTw" name="type_and_ordering" constrainedElement="__eyqQa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqRK8kEdqRKeAGm8hhTw" annotatedElement="__eyqQ68kEdqRKeAGm8hhTw">

         <body>The type and ordering of the result output pin are the same as the type and ordering of the structural feature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qr9a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqRa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type = self.structuralFeature.type

 and self.result.ordering = self.structuralFeature.ordering

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qr9q8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-qr8a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qr968aEdqf6aL57Hh6KQ" annotatedElement="_3-qr9q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eyqRq8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__eyqQa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eyqR68kEdqRKeAGm8hhTw" annotatedElement="__eyqRq8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the structural feature must be compatible with the multiplicity of the output pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qr-K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eyqSK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.structuralFeature.multiplicity.compatibleWith(self.result.multiplicity)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-qr-a8aEdqf6aL57Hh6KQ" general="_3-qr1a8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-qr-q8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_3-9mw68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-qr-68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-qr_K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__eyqSa8kEdqRKeAGm8hhTw" general="__eyqJa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__eyqSq8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__fPVyK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eyqS68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eyqTK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-qr_a8aEdqf6aL57Hh6KQ" annotatedElement="_3-qr-q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eyqTa8kEdqRKeAGm8hhTw" annotatedElement="__eyqSq8kEdqRKeAGm8hhTw">

         <body>Gives the output pin on which the result is put.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qr_q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qr_68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eyqTq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eyqT68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qsAK8aEdqf6aL57Hh6KQ" name="WriteStructuralFeatureAction" isAbstract="true">

-    <ownedComment xmi:id="_3-qsAa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsAK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8awK8kEdqRKeAGm8hhTw" name="WriteStructuralFeatureAction" isAbstract="true">

+    <ownedComment xmi:id="__e8awa8kEdqRKeAGm8hhTw" annotatedElement="__e8awK8kEdqRKeAGm8hhTw">

       <body>A write structural feature action operates on a structural feature of an object to modify its values. It has an input pin on which the value that will be added or removed is put. Other aspects of write structural feature actions are inherited from StructuralFeatureAction.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-qsAq8aEdqf6aL57Hh6KQ" name="input_pin" constrainedElement="_3-qsAK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsA68aEdqf6aL57Hh6KQ" annotatedElement="_3-qsAq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8awq8kEdqRKeAGm8hhTw" name="input_pin" constrainedElement="__e8awK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8aw68kEdqRKeAGm8hhTw" annotatedElement="__e8awq8kEdqRKeAGm8hhTw">

         <body>The type input pin is the same as the classifier of the structural feature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsBK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8axK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value.type = self.structuralFeature.featuringClassifier</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qsBa8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-qsAK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsBq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsBa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8axa8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__e8awK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8axq8kEdqRKeAGm8hhTw" annotatedElement="__e8axa8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsB68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8ax68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-qsCK8aEdqf6aL57Hh6KQ" general="_3-qr1a8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-qsCa8aEdqf6aL57Hh6KQ" name="value" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-9myK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-qsCq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-qsC68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__e8ayK8kEdqRKeAGm8hhTw" general="__eyqJa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8aya8kEdqRKeAGm8hhTw" name="value" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fPVza8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8ayq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8ay68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-qsDK8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsCa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8azK8kEdqRKeAGm8hhTw" annotatedElement="__e8aya8kEdqRKeAGm8hhTw">

         <body>Value to be added or removed from the structural feature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qsDa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qsDq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8aza8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8azq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qsD68aEdqf6aL57Hh6KQ" name="ClearStructuralFeatureAction">

-    <ownedComment xmi:id="_3-qsEK8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsD68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8az68kEdqRKeAGm8hhTw" name="ClearStructuralFeatureAction">

+    <ownedComment xmi:id="__e8a0K8kEdqRKeAGm8hhTw" annotatedElement="__e8az68kEdqRKeAGm8hhTw">

       <body>This action removes all values of a structural feature.</body>

     </ownedComment>

-    <generalization xmi:id="_3-qsEa8aEdqf6aL57Hh6KQ" general="_3-qr1a8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__e8a0a8kEdqRKeAGm8hhTw" general="__eyqJa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qsEq8aEdqf6aL57Hh6KQ" name="RemoveStructuralFeatureValueAction">

-    <ownedComment xmi:id="_3-qsE68aEdqf6aL57Hh6KQ" annotatedElement="_3-qsEq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8a0q8kEdqRKeAGm8hhTw" name="RemoveStructuralFeatureValueAction">

+    <ownedComment xmi:id="__e8a068kEdqRKeAGm8hhTw" annotatedElement="__e8a0q8kEdqRKeAGm8hhTw">

       <body>The object to access is specified dynamically, by referring to an input pin on which the object will be placed at runtime. The type of the value of this pin is the classifier that owns the specified structural feature, and the value's multiplicity is 1..1.

 

 

@@ -6487,36 +6487,36 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3-qsFK8aEdqf6aL57Hh6KQ" name="non_unique_removal" constrainedElement="_3-qsEq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsFa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsFK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8a1K8kEdqRKeAGm8hhTw" name="non_unique_removal" constrainedElement="__e8a0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8a1a8kEdqRKeAGm8hhTw" annotatedElement="__e8a1K8kEdqRKeAGm8hhTw">

         <body>Actions removing a value from ordered nonunique structural features must have a single removeAt input pin if isRemoveDuplicates is false. It must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the action has no removeAt input pin.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsFq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8a1q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-qsF68aEdqf6aL57Hh6KQ" general="_3-qsAK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-qsGK8aEdqf6aL57Hh6KQ" name="isRemoveDuplicates" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3-qsGa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsGK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__e8a168kEdqRKeAGm8hhTw" general="__e8awK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8a2K8kEdqRKeAGm8hhTw" name="isRemoveDuplicates" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__e8a2a8kEdqRKeAGm8hhTw" annotatedElement="__e8a2K8kEdqRKeAGm8hhTw">

         <body>Specifies whether to remove duplicates of the value in nonunique structural features.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3-qsGq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__e8a2q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-qsG68aEdqf6aL57Hh6KQ" name="removeAt" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-9m_68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-qsHK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-qsHa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__e8a268kEdqRKeAGm8hhTw" name="removeAt" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fZGt68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8a3K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8a3a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-qsHq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsG68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8a3q8kEdqRKeAGm8hhTw" annotatedElement="__e8a268kEdqRKeAGm8hhTw">

         <body>Specifies the position of an existing value to remove in ordered nonunique structural features. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qsH68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qsIK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8a368kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8a4K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qsIa8aEdqf6aL57Hh6KQ" name="AddStructuralFeatureValueAction">

-    <ownedComment xmi:id="_3-qsIq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsIa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8a4a8kEdqRKeAGm8hhTw" name="AddStructuralFeatureValueAction">

+    <ownedComment xmi:id="__e8a4q8kEdqRKeAGm8hhTw" annotatedElement="__e8a4a8kEdqRKeAGm8hhTw">

       <body>Structural Features are potentially multi-valued and ordered, so the action supports specification of insertion points for new values. It also supports the removal of existing values of the structural feature before the new value is added.

 

 

@@ -6525,11 +6525,11 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3-qsI68aEdqf6aL57Hh6KQ" name="unlimited_natural_and_multiplicity" constrainedElement="_3-qsIa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsJK8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsI68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8a468kEdqRKeAGm8hhTw" name="unlimited_natural_and_multiplicity" constrainedElement="__e8a4a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8a5K8kEdqRKeAGm8hhTw" annotatedElement="__e8a468kEdqRKeAGm8hhTw">

         <body>Actions adding a value to ordered structural features must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsJa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8a5a8kEdqRKeAGm8hhTw" language="OCL">

         <body>let insertAtPins : Collection = self.insertAt in

 if self.structuralFeature.isOrdered = #false

 then insertAtPins->size() = 0

@@ -6541,49 +6541,49 @@
 </body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-qsJq8aEdqf6aL57Hh6KQ" general="_3-qsAK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-qsJ68aEdqf6aL57Hh6KQ" name="isReplaceAll" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3-qsKK8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsJ68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__e8a5q8kEdqRKeAGm8hhTw" general="__e8awK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8a568kEdqRKeAGm8hhTw" name="isReplaceAll" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__e8a6K8kEdqRKeAGm8hhTw" annotatedElement="__e8a568kEdqRKeAGm8hhTw">

         <body>Specifies whether existing values of the structural feature of the object should be removed before adding the new value.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3-qsKa8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__e8a6a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-qsKq8aEdqf6aL57Hh6KQ" name="insertAt" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-9mza8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-qsK68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-qsLK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__e8a6q8kEdqRKeAGm8hhTw" name="insertAt" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fPV0q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8a668kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8a7K8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-qsLa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsKq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8a7a8kEdqRKeAGm8hhTw" annotatedElement="__e8a6q8kEdqRKeAGm8hhTw">

         <body>Gives the position at which to insert a new value or move an existing value in ordered structural features. The type of the pin is UnlimitedNatural, but the value cannot be zero. This pin is omitted for unordered structural features.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qsLq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qsL68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8a7q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8a768kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qsMK8aEdqf6aL57Hh6KQ" name="LinkAction" isAbstract="true">

-    <ownedComment xmi:id="_3-qsMa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsMK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8a8K8kEdqRKeAGm8hhTw" name="LinkAction" isAbstract="true">

+    <ownedComment xmi:id="__e8a8a8kEdqRKeAGm8hhTw" annotatedElement="__e8a8K8kEdqRKeAGm8hhTw">

       <body>A link action creates, destroys, or reads links, identifying a link by its end objects and qualifier values, if any.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-qsMq8aEdqf6aL57Hh6KQ" name="same_association" constrainedElement="_3-qsMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsM68aEdqf6aL57Hh6KQ" annotatedElement="_3-qsMq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8a8q8kEdqRKeAGm8hhTw" name="same_association" constrainedElement="__e8a8K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8a868kEdqRKeAGm8hhTw" annotatedElement="__e8a8q8kEdqRKeAGm8hhTw">

         <body>The association ends of the link end data must all be from the same association and include all and only the association ends of that association.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsNK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8a9K8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.endData->collect(end) = self.association()->collect(connection))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qsNa8aEdqf6aL57Hh6KQ" name="not_static" constrainedElement="_3-qsMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsNq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsNa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8a9a8kEdqRKeAGm8hhTw" name="not_static" constrainedElement="__e8a8K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8a9q8kEdqRKeAGm8hhTw" annotatedElement="__e8a9a8kEdqRKeAGm8hhTw">

         <body>The association ends of the link end data must not be static.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsN68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8a968kEdqRKeAGm8hhTw" language="OCL">

         <body>self.endData->forall(end.oclisKindOf(NavigableEnd) implies end.isStatic = #false</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qsOK8aEdqf6aL57Hh6KQ" name="same_pins" constrainedElement="_3-qsMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsOa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsOK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8a-K8kEdqRKeAGm8hhTw" name="same_pins" constrainedElement="__e8a8K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8a-a8kEdqRKeAGm8hhTw" annotatedElement="__e8a-K8kEdqRKeAGm8hhTw">

         <body>The input pins of the action are the same as the pins of the link end data and insertion pins.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsOq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8a-q8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.input->asSet() =

 let ledpins : Set = self.endData->collect(value) in

 if self.oclIsKindOf(LinkEndCreationData)

@@ -6592,87 +6592,87 @@
 </body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-qsO68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-qsPK8aEdqf6aL57Hh6KQ" name="endData" type="_3-qsTa8aEdqf6aL57Hh6KQ" association="_3-9m0q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-qsPa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-qsPq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__e8a-68kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8a_K8kEdqRKeAGm8hhTw" name="endData" type="__e8bDa8kEdqRKeAGm8hhTw" association="__fPV168kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8a_a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8a_q8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-qsP68aEdqf6aL57Hh6KQ" annotatedElement="_3-qsPK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8a_68kEdqRKeAGm8hhTw" annotatedElement="__e8a_K8kEdqRKeAGm8hhTw">

         <body>Data identifying one end of a link by the objects on its ends and qualifiers.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qsQK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qsQa8aEdqf6aL57Hh6KQ" value="2"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bAK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bAa8kEdqRKeAGm8hhTw" value="2"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-qsQq8aEdqf6aL57Hh6KQ" name="inputValue" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3_HXta8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-qsQ68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-qsRK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__e8bAq8kEdqRKeAGm8hhTw" name="inputValue" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fZGzq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8bA68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8bBK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-qsRa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsQq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8bBa8kEdqRKeAGm8hhTw" annotatedElement="__e8bAq8kEdqRKeAGm8hhTw">

         <body>Pins taking end objects and qualifier values as input.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qsRq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qsR68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bBq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bB68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_3-qsSK8aEdqf6aL57Hh6KQ" name="association" type="_AwvxoGwNEdq7X4sGURiZYA" isQuery="true" bodyCondition="_3-qsSq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsSa8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsSK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__e8bCK8kEdqRKeAGm8hhTw" name="association" type="_AwvxoGwNEdq7X4sGURiZYA" isQuery="true" bodyCondition="__e8bCq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bCa8kEdqRKeAGm8hhTw" annotatedElement="__e8bCK8kEdqRKeAGm8hhTw">

         <body>The association operates on LinkAction. It returns the association of the action.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3-qsSq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3-qsSK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsS68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__e8bCq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__e8bCK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bC68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.endData->asSequence().first().end.association</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3-qsTK8aEdqf6aL57Hh6KQ" type="_AwvxoGwNEdq7X4sGURiZYA" direction="return"/>

+      <returnResult xmi:id="__e8bDK8kEdqRKeAGm8hhTw" type="_AwvxoGwNEdq7X4sGURiZYA" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z1sK8aEdqf6aL57Hh6KQ" name="ReadLinkAction">

-    <ownedComment xmi:id="_3-z1sa8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1sK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8bIa8kEdqRKeAGm8hhTw" name="ReadLinkAction">

+    <ownedComment xmi:id="__e8bIq8kEdqRKeAGm8hhTw" annotatedElement="__e8bIa8kEdqRKeAGm8hhTw">

       <body>This action navigates an association towards one end, which is the end that does not have an input pin to take its object (the “open” end). The objects put on the result output pin are the ones participating in the association at the open end, conforming to the specified qualifiers, in order if the end is ordered. The semantics is undefined for reading a link that violates the navigability or visibility of the open end.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-z1sq8aEdqf6aL57Hh6KQ" name="one_open_end" constrainedElement="_3-z1sK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1s68aEdqf6aL57Hh6KQ" annotatedElement="_3-z1sq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bI68kEdqRKeAGm8hhTw" name="one_open_end" constrainedElement="__e8bIa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bJK8kEdqRKeAGm8hhTw" annotatedElement="__e8bI68kEdqRKeAGm8hhTw">

         <body>Exactly one link-end data specification (the 'open' end) must not have an end object input pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1tK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bJa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.endData->select(ed | ed.value->size() = 0)->size() = 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z1ta8aEdqf6aL57Hh6KQ" name="type_and_ordering" constrainedElement="_3-z1sK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1tq8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1ta8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bJq8kEdqRKeAGm8hhTw" name="type_and_ordering" constrainedElement="__e8bIa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bJ68kEdqRKeAGm8hhTw" annotatedElement="__e8bJq8kEdqRKeAGm8hhTw">

         <body>The type and ordering of the result output pin are same as the type and ordering of the open association end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1t68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bKK8kEdqRKeAGm8hhTw" language="OCL">

         <body>let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in

 self.result.type = openend.type

 and self.result.ordering = openend.ordering

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z1uK8aEdqf6aL57Hh6KQ" name="compatible_multiplicity" constrainedElement="_3-z1sK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1ua8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1uK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bKa8kEdqRKeAGm8hhTw" name="compatible_multiplicity" constrainedElement="__e8bIa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bKq8kEdqRKeAGm8hhTw" annotatedElement="__e8bKa8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the open association end must be compatible with the multiplicity of the result output pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1uq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bK68kEdqRKeAGm8hhTw" language="OCL">

         <body>let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in

 openend.multiplicity.compatibleWith(self.result.multiplicity)

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z1u68aEdqf6aL57Hh6KQ" name="navigable_open_end" constrainedElement="_3-z1sK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1vK8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1u68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bLK8kEdqRKeAGm8hhTw" name="navigable_open_end" constrainedElement="__e8bIa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bLa8kEdqRKeAGm8hhTw" annotatedElement="__e8bLK8kEdqRKeAGm8hhTw">

         <body>The open end must be navigable.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1va8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bLq8kEdqRKeAGm8hhTw" language="OCL">

         <body>let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in

 openend.isNavigable()

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z1vq8aEdqf6aL57Hh6KQ" name="visibility" constrainedElement="_3-z1sK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1v68aEdqf6aL57Hh6KQ" annotatedElement="_3-z1vq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bL68kEdqRKeAGm8hhTw" name="visibility" constrainedElement="__e8bIa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bMK8kEdqRKeAGm8hhTw" annotatedElement="__e8bL68kEdqRKeAGm8hhTw">

         <body>Visibility of the open end must allow access to the object performing the action.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1wK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bMa8kEdqRKeAGm8hhTw" language="OCL">

         <body>let host : Classifier = self.context in

 let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in

 openend.visibility = #public

@@ -6683,41 +6683,41 @@
 </body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-z1wa8aEdqf6aL57Hh6KQ" general="_3-qsMK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z1wq8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_3-9m3q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-z1w68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-z1xK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__e8bMq8kEdqRKeAGm8hhTw" general="__e8a8K8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8bM68kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__fPV468kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8bNK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8bNa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-z1xa8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1wq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8bNq8kEdqRKeAGm8hhTw" annotatedElement="__e8bM68kEdqRKeAGm8hhTw">

         <body>The pin on which are put the objects participating in the association at the end not specified by the inputs.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z1xq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z1x68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bN68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bOK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z1yK8aEdqf6aL57Hh6KQ" name="LinkEndCreationData">

-    <ownedComment xmi:id="_3-z1ya8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1yK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8bOa8kEdqRKeAGm8hhTw" name="LinkEndCreationData">

+    <ownedComment xmi:id="__e8bOq8kEdqRKeAGm8hhTw" annotatedElement="__e8bOa8kEdqRKeAGm8hhTw">

       <body>This class is required when using CreateLinkAction, to specify insertion points for ordered ends and for replacing all links at end. A link cannot be passed as a runtime value to or from an action. Instead, a link is identified by its end objects and qualifier values, as required. This requires more than one piece of data, namely, the statically-specified end in the user model, the object on the end, and the qualifier values for that end. These pieces are brought together around LinkEndData. Each association end is identified separately with an instance of the LinkEndData class.

 

 

 

 Qualifier values are used in CompleteActions to identify links to create.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-z1yq8aEdqf6aL57Hh6KQ" name="create_link_action" constrainedElement="_3-z1yK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1y68aEdqf6aL57Hh6KQ" annotatedElement="_3-z1yq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bO68kEdqRKeAGm8hhTw" name="create_link_action" constrainedElement="__e8bOa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bPK8kEdqRKeAGm8hhTw" annotatedElement="__e8bO68kEdqRKeAGm8hhTw">

         <body>LinkEndCreationData can only be end data for CreateLinkAction or one of its specializations.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1zK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bPa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.LinkAction.oclIsKindOf(CreateLinkAction)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z1za8aEdqf6aL57Hh6KQ" name="single_input_pin" constrainedElement="_3-z1yK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1zq8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1za8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bPq8kEdqRKeAGm8hhTw" name="single_input_pin" constrainedElement="__e8bOa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bP68kEdqRKeAGm8hhTw" annotatedElement="__e8bPq8kEdqRKeAGm8hhTw">

         <body>Link end creation data for ordered association ends must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1z68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bQK8kEdqRKeAGm8hhTw" language="OCL">

         <body>let insertAtPins : Collection = self.insertAt in

 if self.end.ordering = #unordered

 then insertAtPins->size() = 0

@@ -6729,49 +6729,49 @@
 </body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-z10K8aEdqf6aL57Hh6KQ" general="_3-qsTa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z10a8aEdqf6aL57Hh6KQ" name="isReplaceAll" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3-z10q8aEdqf6aL57Hh6KQ" annotatedElement="_3-z10a8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__e8bQa8kEdqRKeAGm8hhTw" general="__e8bDa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8bQq8kEdqRKeAGm8hhTw" name="isReplaceAll" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__e8bQ68kEdqRKeAGm8hhTw" annotatedElement="__e8bQq8kEdqRKeAGm8hhTw">

         <body>Specifies whether the existing links emanating from the object on this end should be destroyed before creating a new link.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3-z1068aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__e8bRK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-z11K8aEdqf6aL57Hh6KQ" name="insertAt" type="_37_LM68aEdqf6aL57Hh6KQ" association="_3-9m468aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z11a8aEdqf6aL57Hh6KQ" annotatedElement="_3-z11K8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__e8bRa8kEdqRKeAGm8hhTw" name="insertAt" type="__cQ6OK8kEdqRKeAGm8hhTw" association="__fPV6K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bRq8kEdqRKeAGm8hhTw" annotatedElement="__e8bRa8kEdqRKeAGm8hhTw">

         <body>Specifies where the new link should be inserted for ordered association ends, or where an existing link should be moved to. The type of the input is UnlimitedNatural, but the input cannot be zero. This pin is omitted for association ends that are not ordered.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z11q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z1168aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bR68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bSK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z12K8aEdqf6aL57Hh6KQ" name="CreateLinkAction">

-    <ownedComment xmi:id="_3-z12a8aEdqf6aL57Hh6KQ" annotatedElement="_3-z12K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8bSa8kEdqRKeAGm8hhTw" name="CreateLinkAction">

+    <ownedComment xmi:id="__e8bSq8kEdqRKeAGm8hhTw" annotatedElement="__e8bSa8kEdqRKeAGm8hhTw">

       <body>This action can be used to create links and link objects. There is no return value in either case. This is so that no change of the action is required if the association is changed to an association class or vice versa. CreateLinkAction uses a specialization of LinkEndData called LinkEndCreationData, to support ordered associations. The insertion point is specified at runtime by an additional input pin, which is required for ordered association ends and omitted for unordered ends. The insertion point is a positive integer giving the position to insert the link, or unlimited, to insert at the end. Reinserting an existing end at a new position in an ordered unique structural feature moves the end to that position. CreateLinkAction also uses LinkEndCreationData to support the destruction of existing links of the association that connect any of the objects of the new link. When the link is created, this option is available on an end-by-end basis, and causes all links of the association emanating from the 

 

 specified ends to be destroyed before the new link is created.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-z12q8aEdqf6aL57Hh6KQ" name="association_not_abstract" constrainedElement="_3-z12K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1268aEdqf6aL57Hh6KQ" annotatedElement="_3-z12q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bS68kEdqRKeAGm8hhTw" name="association_not_abstract" constrainedElement="__e8bSa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bTK8kEdqRKeAGm8hhTw" annotatedElement="__e8bS68kEdqRKeAGm8hhTw">

         <body>The association cannot be an abstract classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z13K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bTa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.association().isAbstract = #false</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-z13a8aEdqf6aL57Hh6KQ" general="_3-z17a8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z13q8aEdqf6aL57Hh6KQ" name="endData" type="_3-z1yK8aEdqf6aL57Hh6KQ" redefinedProperty="_3-qsPK8aEdqf6aL57Hh6KQ" association="_3-9m568aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-z1368aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-z14K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__e8bTq8kEdqRKeAGm8hhTw" general="__e8bXq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8bT68kEdqRKeAGm8hhTw" name="endData" type="__e8bOa8kEdqRKeAGm8hhTw" redefinedProperty="__e8a_K8kEdqRKeAGm8hhTw" association="__fPV7K8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8bUK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8bUa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-z14a8aEdqf6aL57Hh6KQ" annotatedElement="_3-z13q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8bUq8kEdqRKeAGm8hhTw" annotatedElement="__e8bT68kEdqRKeAGm8hhTw">

         <body>Specifies ends of association and inputs.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z14q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z1468aEdqf6aL57Hh6KQ" value="2"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bU68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bVK8kEdqRKeAGm8hhTw" value="2"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z15K8aEdqf6aL57Hh6KQ" name="DestroyLinkAction">

-    <ownedComment xmi:id="_3-z15a8aEdqf6aL57Hh6KQ" annotatedElement="_3-z15K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8bVa8kEdqRKeAGm8hhTw" name="DestroyLinkAction">

+    <ownedComment xmi:id="__e8bVq8kEdqRKeAGm8hhTw" annotatedElement="__e8bVa8kEdqRKeAGm8hhTw">

       <body>This action destroys a link or a link object. Link objects can also be destroyed with DestroyObjectAction. The link is specified in the same way as link creation, even for link objects. This allows actions to remain unchanged when their associations are transformed from ordinary ones to association classes and vice versa.

 

 

@@ -6784,746 +6784,746 @@
 

 </body>

     </ownedComment>

-    <generalization xmi:id="_3-z15q8aEdqf6aL57Hh6KQ" general="_3-z17a8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z1568aEdqf6aL57Hh6KQ" name="endData" type="_3-z2Iq8aEdqf6aL57Hh6KQ" redefinedProperty="_3-qsPK8aEdqf6aL57Hh6KQ" association="_3-9nCK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-z16K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-z16a8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__e8bV68kEdqRKeAGm8hhTw" general="__e8bXq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8bWK8kEdqRKeAGm8hhTw" name="endData" type="__fGLz68kEdqRKeAGm8hhTw" redefinedProperty="__e8a_K8kEdqRKeAGm8hhTw" association="__fZGwK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8bWa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8bWq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-z16q8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1568aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8bW68kEdqRKeAGm8hhTw" annotatedElement="__e8bWK8kEdqRKeAGm8hhTw">

         <body>Specifies ends of association and inputs.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z1668aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z17K8aEdqf6aL57Hh6KQ" value="2"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bXK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bXa8kEdqRKeAGm8hhTw" value="2"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z17a8aEdqf6aL57Hh6KQ" name="WriteLinkAction" isAbstract="true">

-    <ownedComment xmi:id="_3-z17q8aEdqf6aL57Hh6KQ" annotatedElement="_3-z17a8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8bXq8kEdqRKeAGm8hhTw" name="WriteLinkAction" isAbstract="true">

+    <ownedComment xmi:id="__e8bX68kEdqRKeAGm8hhTw" annotatedElement="__e8bXq8kEdqRKeAGm8hhTw">

       <body>A write link action takes a complete identification of a link and creates or destroys it.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-z1768aEdqf6aL57Hh6KQ" name="allow_access" constrainedElement="_3-z17a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z18K8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1768aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bYK8kEdqRKeAGm8hhTw" name="allow_access" constrainedElement="__e8bXq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bYa8kEdqRKeAGm8hhTw" annotatedElement="__e8bYK8kEdqRKeAGm8hhTw">

         <body>The visibility of at least one end must allow access to the class using the action.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z18a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bYq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-z18q8aEdqf6aL57Hh6KQ" general="_3-qsMK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__e8bY68kEdqRKeAGm8hhTw" general="__e8a8K8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z1868aEdqf6aL57Hh6KQ" name="ClearAssociationAction">

-    <ownedComment xmi:id="_3-z19K8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1868aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8bZK8kEdqRKeAGm8hhTw" name="ClearAssociationAction">

+    <ownedComment xmi:id="__e8bZa8kEdqRKeAGm8hhTw" annotatedElement="__e8bZK8kEdqRKeAGm8hhTw">

       <body>This action destroys all links of an association that have a particular object at one end.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-z19a8aEdqf6aL57Hh6KQ" name="same_type" constrainedElement="_3-z1868aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z19q8aEdqf6aL57Hh6KQ" annotatedElement="_3-z19a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bZq8kEdqRKeAGm8hhTw" name="same_type" constrainedElement="__e8bZK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bZ68kEdqRKeAGm8hhTw" annotatedElement="__e8bZq8kEdqRKeAGm8hhTw">

         <body>The type of the input pin must be the same as the type of at least one of the association ends of the association.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1968aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8baK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.association->exists(end.type = self.object.type)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z1-K8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-z1868aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z1-a8aEdqf6aL57Hh6KQ" annotatedElement="_3-z1-K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8baa8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__e8bZK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8baq8kEdqRKeAGm8hhTw" annotatedElement="__e8baa8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z1-q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8ba68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.object.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-z1-68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z1_K8aEdqf6aL57Hh6KQ" name="object" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-9m7K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-z1_a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-z1_q8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__e8bbK8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8bba8kEdqRKeAGm8hhTw" name="object" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fPV8a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__e8bbq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__e8bb68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-z1_68aEdqf6aL57Hh6KQ" annotatedElement="_3-z1_K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__e8bcK8kEdqRKeAGm8hhTw" annotatedElement="__e8bba8kEdqRKeAGm8hhTw">

         <body>Gives the input pin from which is obtained the object whose participation in the association is to be cleared.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2AK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Aa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bca8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bcq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-z2Aq8aEdqf6aL57Hh6KQ" name="association" type="_AwvxoGwNEdq7X4sGURiZYA" association="_3-9m8a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2A68aEdqf6aL57Hh6KQ" annotatedElement="_3-z2Aq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__e8bc68kEdqRKeAGm8hhTw" name="association" type="_AwvxoGwNEdq7X4sGURiZYA" association="__fPV9q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bdK8kEdqRKeAGm8hhTw" annotatedElement="__e8bc68kEdqRKeAGm8hhTw">

         <body>Association to be cleared.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2BK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Ba8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bda8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bdq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z2Bq8aEdqf6aL57Hh6KQ" name="BroadcastSignalAction">

-    <ownedComment xmi:id="_3-z2B68aEdqf6aL57Hh6KQ" annotatedElement="_3-z2Bq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8bd68kEdqRKeAGm8hhTw" name="BroadcastSignalAction">

+    <ownedComment xmi:id="__e8beK8kEdqRKeAGm8hhTw" annotatedElement="__e8bd68kEdqRKeAGm8hhTw">

       <body>BroadcastSignalAction is an action that transmits a signal instance to all the potential target objects in the system, which may cause the firing of a state machine transitions or the execution of associated activities of a target object. The argument values are available to the execution of associated behaviors. The requestor continues execution immediately after the signals are sent out. It does not wait for receipt. Any reply messages are ignored and are not transmitted to the requestor.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-z2CK8aEdqf6aL57Hh6KQ" name="number_and_order" constrainedElement="_3-z2Bq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2Ca8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2CK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bea8kEdqRKeAGm8hhTw" name="number_and_order" constrainedElement="__e8bd68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8beq8kEdqRKeAGm8hhTw" annotatedElement="__e8bea8kEdqRKeAGm8hhTw">

         <body>The number and order of argument pins must be the same as the number and order of attributes in the signal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z2Cq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8be68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z2C68aEdqf6aL57Hh6KQ" name="type_ordering_multiplicity" constrainedElement="_3-z2Bq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2DK8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2C68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bfK8kEdqRKeAGm8hhTw" name="type_ordering_multiplicity" constrainedElement="__e8bd68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bfa8kEdqRKeAGm8hhTw" annotatedElement="__e8bfK8kEdqRKeAGm8hhTw">

         <body>The type, ordering, and multiplicity of an argument pin must be the same as the corresponding attribute of the signal.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z2Da8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bfq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-z2Dq8aEdqf6aL57Hh6KQ" general="_37_LNq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z2D68aEdqf6aL57Hh6KQ" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_3-9m-68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2EK8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2D68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__e8bf68kEdqRKeAGm8hhTw" general="__cQ6O68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__e8bgK8kEdqRKeAGm8hhTw" name="signal" type="_Pu3O0HL0EdqziYxiZo0YtA" association="__fZGs68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bga8kEdqRKeAGm8hhTw" annotatedElement="__e8bgK8kEdqRKeAGm8hhTw">

         <body>The specification of signal object transmitted to the target objects.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2Ea8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Eq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bgq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bg68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z2E68aEdqf6aL57Hh6KQ" name="SendObjectAction">

-    <ownedComment xmi:id="_3-z2FK8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2E68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__fGLwK8kEdqRKeAGm8hhTw" name="SendObjectAction">

+    <ownedComment xmi:id="__fGLwa8kEdqRKeAGm8hhTw" annotatedElement="__fGLwK8kEdqRKeAGm8hhTw">

       <body>SendObjectAction is an action that transmits an object to the target object, where it may invoke behavior such as the firing of state machine transitions or the execution of an activity. The value of the object is available to the execution of invoked behaviors. The requestor continues execution immediately. Any reply message is ignored and is not transmitted to the requestor.</body>

     </ownedComment>

-    <generalization xmi:id="_3-z2Fa8aEdqf6aL57Hh6KQ" general="_37_LNq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z2Fq8aEdqf6aL57Hh6KQ" name="target" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_3-9m9a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-z2F68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-z2GK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__fGLwq8kEdqRKeAGm8hhTw" general="__cQ6O68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fGLw68kEdqRKeAGm8hhTw" name="target" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__fPV-q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__fGLxK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__fGLxa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-z2Ga8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2Fq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__fGLxq8kEdqRKeAGm8hhTw" annotatedElement="__fGLw68kEdqRKeAGm8hhTw">

         <body>The target object to which the object is sent.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2Gq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2G68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGLx68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGLyK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-z2HK8aEdqf6aL57Hh6KQ" name="request" type="_37_LM68aEdqf6aL57Hh6KQ" redefinedProperty="_37_LOa8aEdqf6aL57Hh6KQ" association="_3-9m-K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-z2Ha8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-z2Hq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__fGLya8kEdqRKeAGm8hhTw" name="request" type="__cQ6OK8kEdqRKeAGm8hhTw" redefinedProperty="__cQ6Pq8kEdqRKeAGm8hhTw" association="__fZGsK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__fGLyq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__fGLy68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-z2H68aEdqf6aL57Hh6KQ" annotatedElement="_3-z2HK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__fGLzK8kEdqRKeAGm8hhTw" annotatedElement="__fGLya8kEdqRKeAGm8hhTw">

         <body>The request object, which is transmitted to the target object. The object may be copied in transmission, so identity might not be preserved. (Specialized from InvocationActon.argument)</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2IK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Ia8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGLza8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGLzq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z2Iq8aEdqf6aL57Hh6KQ" name="LinkEndDestructionData">

-    <ownedComment xmi:id="_3-z2I68aEdqf6aL57Hh6KQ" annotatedElement="_3-z2Iq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__fGLz68kEdqRKeAGm8hhTw" name="LinkEndDestructionData">

+    <ownedComment xmi:id="__fGL0K8kEdqRKeAGm8hhTw" annotatedElement="__fGLz68kEdqRKeAGm8hhTw">

       <body>This class is required when using DestroyLinkAction, to specify links to destroy for nonunique ordered ends. A link cannot be passed as a runtime value to or from an action.

 

 

 

 Qualifier values are used in CompleteActions to identify links to destroy.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-z2JK8aEdqf6aL57Hh6KQ" name="destroy_link_action" constrainedElement="_3-z2Iq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2Ja8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2JK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__fGL0a8kEdqRKeAGm8hhTw" name="destroy_link_action" constrainedElement="__fGLz68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fGL0q8kEdqRKeAGm8hhTw" annotatedElement="__fGL0a8kEdqRKeAGm8hhTw">

         <body>LinkEndDestructionData can only be end data for DestroyLinkAction or one of its specializations.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z2Jq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__fGL068kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z2J68aEdqf6aL57Hh6KQ" name="unlimited_natural_and_multiplicity" constrainedElement="_3-z2Iq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2KK8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2J68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__fGL1K8kEdqRKeAGm8hhTw" name="unlimited_natural_and_multiplicity" constrainedElement="__fGLz68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fGL1a8kEdqRKeAGm8hhTw" annotatedElement="__fGL1K8kEdqRKeAGm8hhTw">

         <body>LinkEndDestructionData for ordered nonunique association ends must have a single destroyAt input pin if isDestroyDuplicates is false. It must be of type UnlimitedNatural and have a multiplicity of 1..1. Otherwise, the action has no input pin for the removal position.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z2Ka8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__fGL1q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-z2Kq8aEdqf6aL57Hh6KQ" general="_3-qsTa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z2K68aEdqf6aL57Hh6KQ" name="isDestroyDuplicates" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3-z2LK8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2K68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__fGL168kEdqRKeAGm8hhTw" general="__e8bDa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fGL2K8kEdqRKeAGm8hhTw" name="isDestroyDuplicates" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__fGL2a8kEdqRKeAGm8hhTw" annotatedElement="__fGL2K8kEdqRKeAGm8hhTw">

         <body>Specifies whether to destroy duplicates of the value in nonunique association ends.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3-z2La8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__fGL2q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-z2Lq8aEdqf6aL57Hh6KQ" name="destroyAt" type="_37_LM68aEdqf6aL57Hh6KQ" association="_3-9nBK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2L68aEdqf6aL57Hh6KQ" annotatedElement="_3-z2Lq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__fGL268kEdqRKeAGm8hhTw" name="destroyAt" type="__cQ6OK8kEdqRKeAGm8hhTw" association="__fZGvK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fGL3K8kEdqRKeAGm8hhTw" annotatedElement="__fGL268kEdqRKeAGm8hhTw">

         <body>Specifies the position of an existing link to be destroyed in ordered nonunique association ends. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2MK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Ma8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGL3a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGL3q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-z2Mq8aEdqf6aL57Hh6KQ" name="ValueSpecificationAction">

-    <ownedComment xmi:id="_3-z2M68aEdqf6aL57Hh6KQ" annotatedElement="_3-z2Mq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__fGL368kEdqRKeAGm8hhTw" name="ValueSpecificationAction">

+    <ownedComment xmi:id="__fGL4K8kEdqRKeAGm8hhTw" annotatedElement="__fGL368kEdqRKeAGm8hhTw">

       <body>The action returns the result of evaluating a value specification.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3-z2NK8aEdqf6aL57Hh6KQ" name="compatible_type" constrainedElement="_3-z2Mq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2Na8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2NK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__fGL4a8kEdqRKeAGm8hhTw" name="compatible_type" constrainedElement="__fGL368kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fGL4q8kEdqRKeAGm8hhTw" annotatedElement="__fGL4a8kEdqRKeAGm8hhTw">

         <body>The type of value specification must be compatible with the type of the result pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z2Nq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__fGL468kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-z2N68aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-z2Mq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-z2OK8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2N68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__fGL5K8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__fGL368kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fGL5a8kEdqRKeAGm8hhTw" annotatedElement="__fGL5K8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the result pin is 1..1</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-z2Oa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__fGL5q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-z2Oq8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3-z2O68aEdqf6aL57Hh6KQ" name="value" type="_33qE0K8aEdqf6aL57Hh6KQ" association="_3-9nDa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-z2PK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-z2Pa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__fGL568kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fGL6K8kEdqRKeAGm8hhTw" name="value" type="__YYf9a8kEdqRKeAGm8hhTw" association="__fZGxa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__fGL6a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__fGL6q8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-z2Pq8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2O68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__fGL668kEdqRKeAGm8hhTw" annotatedElement="__fGL6K8kEdqRKeAGm8hhTw">

         <body>Value specification to be evaluated.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2P68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2QK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGL7K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGL7a8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-z2Qa8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_3_HXsK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-z2Qq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-z2Q68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__fGL7q8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__fZGya8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__fGL768kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__fGL8K8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-z2RK8aEdqf6aL57Hh6KQ" annotatedElement="_3-z2Qa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__fGL8a8kEdqRKeAGm8hhTw" annotatedElement="__fGL7q8kEdqRKeAGm8hhTw">

         <body>Gives the output pin on which the result is put.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2Ra8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Rq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGL8q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGL868kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-z2R68aEdqf6aL57Hh6KQ" name="A_classifier_createObjectAction" memberEnd="_3-g7Ja8aEdqf6aL57Hh6KQ _3-z2SK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-z2SK8aEdqf6aL57Hh6KQ" type="_3-g7Fq8aEdqf6aL57Hh6KQ" association="_3-z2R68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2Sa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Sq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fGL9K8kEdqRKeAGm8hhTw" name="A_classifier_createObjectAction" memberEnd="__eyp068kEdqRKeAGm8hhTw __fGL9a8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fGL9a8kEdqRKeAGm8hhTw" type="__eypxK8kEdqRKeAGm8hhTw" association="__fGL9K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGL9q8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGL968kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-z2S68aEdqf6aL57Hh6KQ" name="A_result_createObjectAction" memberEnd="_3-g7Ka8aEdqf6aL57Hh6KQ _3-z2Ta8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-z2TK8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-z2Ta8aEdqf6aL57Hh6KQ" type="_3-g7Fq8aEdqf6aL57Hh6KQ" association="_3-z2S68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2Tq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2T68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fGL-K8kEdqRKeAGm8hhTw" name="A_result_createObjectAction" memberEnd="__fGL-q8kEdqRKeAGm8hhTw __eyp168kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fGL-a8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fGL-q8kEdqRKeAGm8hhTw" type="__eypxK8kEdqRKeAGm8hhTw" association="__fGL-K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGL-68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGL_K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-z2UK8aEdqf6aL57Hh6KQ" name="A_target_destroyObjectAction" memberEnd="_3-z2Uq8aEdqf6aL57Hh6KQ _3-g7Pq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-z2Ua8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-z2Uq8aEdqf6aL57Hh6KQ" type="_3-g7L68aEdqf6aL57Hh6KQ" association="_3-z2UK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2U68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2VK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fGL_a8kEdqRKeAGm8hhTw" name="A_target_destroyObjectAction" memberEnd="__eyp7K8kEdqRKeAGm8hhTw __fGL_68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fGL_q8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fGL_68kEdqRKeAGm8hhTw" type="__eyp3a8kEdqRKeAGm8hhTw" association="__fGL_a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGMAK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGMAa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-z2Va8aEdqf6aL57Hh6KQ" name="A_first_testIdentityAction" memberEnd="_3-g7UK8aEdqf6aL57Hh6KQ _3-z2V68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-z2Vq8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-z2V68aEdqf6aL57Hh6KQ" type="_3-g7RK8aEdqf6aL57Hh6KQ" association="_3-z2Va8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2WK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Wa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fGMAq8kEdqRKeAGm8hhTw" name="A_first_testIdentityAction" memberEnd="__fGMBK8kEdqRKeAGm8hhTw __eyp_q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fGMA68kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fGMBK8kEdqRKeAGm8hhTw" type="__eyp8q8kEdqRKeAGm8hhTw" association="__fGMAq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fGMBa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fGMBq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-z2Wq8aEdqf6aL57Hh6KQ" name="A_second_testIdentityAction" memberEnd="_3-z2XK8aEdqf6aL57Hh6KQ _3-g7Vq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-z2W68aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-z2XK8aEdqf6aL57Hh6KQ" type="_3-g7RK8aEdqf6aL57Hh6KQ" association="_3-z2Wq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-z2Xa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-z2Xq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPVsK8kEdqRKeAGm8hhTw" name="A_second_testIdentityAction" memberEnd="__fPVsq8kEdqRKeAGm8hhTw __eyqBK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPVsa8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPVsq8kEdqRKeAGm8hhTw" type="__eyp8q8kEdqRKeAGm8hhTw" association="__fPVsK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPVs68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPVtK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9msK8aEdqf6aL57Hh6KQ" name="A_result_testIdentityAction" memberEnd="_3-g7XK8aEdqf6aL57Hh6KQ _3-9msq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9msa8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9msq8aEdqf6aL57Hh6KQ" type="_3-g7RK8aEdqf6aL57Hh6KQ" association="_3-9msK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9ms68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9mtK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPVta8kEdqRKeAGm8hhTw" name="A_result_testIdentityAction" memberEnd="__fPVt68kEdqRKeAGm8hhTw __eyqCq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPVtq8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPVt68kEdqRKeAGm8hhTw" type="__eyp8q8kEdqRKeAGm8hhTw" association="__fPVta8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPVuK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPVua8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9mta8aEdqf6aL57Hh6KQ" name="A_result_readSelfAction" memberEnd="_3-9mt68aEdqf6aL57Hh6KQ _3-qrz68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9mtq8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9mt68aEdqf6aL57Hh6KQ" type="_3-qrwK8aEdqf6aL57Hh6KQ" association="_3-9mta8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9muK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9mua8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPVuq8kEdqRKeAGm8hhTw" name="A_result_readSelfAction" memberEnd="__eyqH68kEdqRKeAGm8hhTw __fPVvK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPVu68kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPVvK8kEdqRKeAGm8hhTw" type="__eyqEK8kEdqRKeAGm8hhTw" association="__fPVuq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPVva8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPVvq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9muq8aEdqf6aL57Hh6KQ" name="A_structuralFeatureAction_structuralFeature" memberEnd="_3-qr568aEdqf6aL57Hh6KQ _3-9mu68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9mu68aEdqf6aL57Hh6KQ" type="_3-qr1a8aEdqf6aL57Hh6KQ" association="_3-9muq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9mvK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9mva8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPVv68kEdqRKeAGm8hhTw" name="A_structuralFeatureAction_structuralFeature" memberEnd="__fPVwK8kEdqRKeAGm8hhTw __eyqN68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fPVwK8kEdqRKeAGm8hhTw" type="__eyqJa8kEdqRKeAGm8hhTw" association="__fPVv68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPVwa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPVwq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9mvq8aEdqf6aL57Hh6KQ" name="A_object_structuralFeatureAction" memberEnd="_3-qr668aEdqf6aL57Hh6KQ _3-9mwK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9mv68aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9mwK8aEdqf6aL57Hh6KQ" type="_3-qr1a8aEdqf6aL57Hh6KQ" association="_3-9mvq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9mwa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9mwq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPVw68kEdqRKeAGm8hhTw" name="A_object_structuralFeatureAction" memberEnd="__fPVxa8kEdqRKeAGm8hhTw __eyqO68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPVxK8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPVxa8kEdqRKeAGm8hhTw" type="__eyqJa8kEdqRKeAGm8hhTw" association="__fPVw68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPVxq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPVx68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9mw68aEdqf6aL57Hh6KQ" name="A_result_readStructuralFeatureAction" memberEnd="_3-qr-q8aEdqf6aL57Hh6KQ _3-9mxa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9mxK8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9mxa8aEdqf6aL57Hh6KQ" type="_3-qr8a8aEdqf6aL57Hh6KQ" association="_3-9mw68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9mxq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9mx68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPVyK8kEdqRKeAGm8hhTw" name="A_result_readStructuralFeatureAction" memberEnd="__eyqSq8kEdqRKeAGm8hhTw __fPVyq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPVya8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPVyq8kEdqRKeAGm8hhTw" type="__eyqQa8kEdqRKeAGm8hhTw" association="__fPVyK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPVy68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPVzK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9myK8aEdqf6aL57Hh6KQ" name="A_value_writeStructuralFeatureAction" memberEnd="_3-9myq8aEdqf6aL57Hh6KQ _3-qsCa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9mya8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9myq8aEdqf6aL57Hh6KQ" type="_3-qsAK8aEdqf6aL57Hh6KQ" association="_3-9myK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9my68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9mzK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPVza8kEdqRKeAGm8hhTw" name="A_value_writeStructuralFeatureAction" memberEnd="__e8aya8kEdqRKeAGm8hhTw __fPVz68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPVzq8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPVz68kEdqRKeAGm8hhTw" type="__e8awK8kEdqRKeAGm8hhTw" association="__fPVza8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV0K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV0a8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9mza8aEdqf6aL57Hh6KQ" name="A_insertAt_addStructuralFeatureValueAction" memberEnd="_3-9mz68aEdqf6aL57Hh6KQ _3-qsKq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9mzq8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9mz68aEdqf6aL57Hh6KQ" type="_3-qsIa8aEdqf6aL57Hh6KQ" association="_3-9mza8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m0K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m0a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV0q8kEdqRKeAGm8hhTw" name="A_insertAt_addStructuralFeatureValueAction" memberEnd="__e8a6q8kEdqRKeAGm8hhTw __fPV1K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPV068kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPV1K8kEdqRKeAGm8hhTw" type="__e8a4a8kEdqRKeAGm8hhTw" association="__fPV0q8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV1a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV1q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m0q8aEdqf6aL57Hh6KQ" name="A_endData_linkAction" memberEnd="_3-9m068aEdqf6aL57Hh6KQ _3-qsPK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9m068aEdqf6aL57Hh6KQ" type="_3-qsMK8aEdqf6aL57Hh6KQ" association="_3-9m0q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m1K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m1a8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV168kEdqRKeAGm8hhTw" name="A_endData_linkAction" memberEnd="__fPV2K8kEdqRKeAGm8hhTw __e8a_K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fPV2K8kEdqRKeAGm8hhTw" type="__e8a8K8kEdqRKeAGm8hhTw" association="__fPV168kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV2a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV2q8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m1q8aEdqf6aL57Hh6KQ" name="A_value_linkEndData" memberEnd="_3-qsWa8aEdqf6aL57Hh6KQ _3-9m168aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9m168aEdqf6aL57Hh6KQ" type="_3-qsTa8aEdqf6aL57Hh6KQ" association="_3-9m1q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m2K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m2a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV268kEdqRKeAGm8hhTw" name="A_value_linkEndData" memberEnd="__fPV3K8kEdqRKeAGm8hhTw __e8bGa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fPV3K8kEdqRKeAGm8hhTw" type="__e8bDa8kEdqRKeAGm8hhTw" association="__fPV268kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV3a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV3q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m2q8aEdqf6aL57Hh6KQ" name="A_end_linkEndData" memberEnd="_3-qsXa8aEdqf6aL57Hh6KQ _3-9m268aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9m268aEdqf6aL57Hh6KQ" type="_3-qsTa8aEdqf6aL57Hh6KQ" association="_3-9m2q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m3K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m3a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV368kEdqRKeAGm8hhTw" name="A_end_linkEndData" memberEnd="__e8bHa8kEdqRKeAGm8hhTw __fPV4K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fPV4K8kEdqRKeAGm8hhTw" type="__e8bDa8kEdqRKeAGm8hhTw" association="__fPV368kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV4a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV4q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m3q8aEdqf6aL57Hh6KQ" name="A_result_readLinkAction" memberEnd="_3-z1wq8aEdqf6aL57Hh6KQ _3-9m4K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9m368aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9m4K8aEdqf6aL57Hh6KQ" type="_3-z1sK8aEdqf6aL57Hh6KQ" association="_3-9m3q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m4a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m4q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV468kEdqRKeAGm8hhTw" name="A_result_readLinkAction" memberEnd="__fPV5a8kEdqRKeAGm8hhTw __e8bM68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPV5K8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPV5a8kEdqRKeAGm8hhTw" type="__e8bIa8kEdqRKeAGm8hhTw" association="__fPV468kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV5q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV568kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m468aEdqf6aL57Hh6KQ" name="A_insertAt_linkEndCreationData" memberEnd="_3-z11K8aEdqf6aL57Hh6KQ _3-9m5K8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9m5K8aEdqf6aL57Hh6KQ" type="_3-z1yK8aEdqf6aL57Hh6KQ" association="_3-9m468aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m5a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m5q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV6K8kEdqRKeAGm8hhTw" name="A_insertAt_linkEndCreationData" memberEnd="__e8bRa8kEdqRKeAGm8hhTw __fPV6a8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fPV6a8kEdqRKeAGm8hhTw" type="__e8bOa8kEdqRKeAGm8hhTw" association="__fPV6K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV6q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV668kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m568aEdqf6aL57Hh6KQ" name="A_endData_createLinkAction" memberEnd="_3-z13q8aEdqf6aL57Hh6KQ _3-9m6a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9m6K8aEdqf6aL57Hh6KQ" general="_3-9m0q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9m6a8aEdqf6aL57Hh6KQ" type="_3-z12K8aEdqf6aL57Hh6KQ" redefinedProperty="_3-9m068aEdqf6aL57Hh6KQ" association="_3-9m568aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m6q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m668aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV7K8kEdqRKeAGm8hhTw" name="A_endData_createLinkAction" memberEnd="__e8bT68kEdqRKeAGm8hhTw __fPV7q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPV7a8kEdqRKeAGm8hhTw" general="__fPV168kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPV7q8kEdqRKeAGm8hhTw" type="__e8bSa8kEdqRKeAGm8hhTw" redefinedProperty="__fPV2K8kEdqRKeAGm8hhTw" association="__fPV7K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV768kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV8K8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m7K8aEdqf6aL57Hh6KQ" name="A_object_clearAssociationAction" memberEnd="_3-z1_K8aEdqf6aL57Hh6KQ _3-9m7q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9m7a8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9m7q8aEdqf6aL57Hh6KQ" type="_3-z1868aEdqf6aL57Hh6KQ" association="_3-9m7K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m768aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m8K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV8a8kEdqRKeAGm8hhTw" name="A_object_clearAssociationAction" memberEnd="__fPV868kEdqRKeAGm8hhTw __e8bba8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPV8q8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPV868kEdqRKeAGm8hhTw" type="__e8bZK8kEdqRKeAGm8hhTw" association="__fPV8a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV9K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV9a8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m8a8aEdqf6aL57Hh6KQ" name="A_association_clearAssociationAction" memberEnd="_3-9m8q8aEdqf6aL57Hh6KQ _3-z2Aq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9m8q8aEdqf6aL57Hh6KQ" type="_3-z1868aEdqf6aL57Hh6KQ" association="_3-9m8a8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m868aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m9K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV9q8kEdqRKeAGm8hhTw" name="A_association_clearAssociationAction" memberEnd="__e8bc68kEdqRKeAGm8hhTw __fPV968kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fPV968kEdqRKeAGm8hhTw" type="__e8bZK8kEdqRKeAGm8hhTw" association="__fPV9q8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fPV-K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fPV-a8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m9a8aEdqf6aL57Hh6KQ" name="A_target_sendObjectAction" memberEnd="_3-9m968aEdqf6aL57Hh6KQ _3-z2Fq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9m9q8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9m968aEdqf6aL57Hh6KQ" type="_3-z2E68aEdqf6aL57Hh6KQ" redefinedProperty="_37_LyK8aEdqf6aL57Hh6KQ" association="_3-9m9a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fPV-q8kEdqRKeAGm8hhTw" name="A_target_sendObjectAction" memberEnd="__fPV_K8kEdqRKeAGm8hhTw __fGLw68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fPV-68kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fPV_K8kEdqRKeAGm8hhTw" type="__fGLwK8kEdqRKeAGm8hhTw" redefinedProperty="__cQ6za8kEdqRKeAGm8hhTw" association="__fPV-q8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m-K8aEdqf6aL57Hh6KQ" name="A_request_sendObjectAction" memberEnd="_3-9m-q8aEdqf6aL57Hh6KQ _3-z2HK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9m-a8aEdqf6aL57Hh6KQ" general="_37_Lvq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9m-q8aEdqf6aL57Hh6KQ" type="_3-z2E68aEdqf6aL57Hh6KQ" redefinedProperty="_37_LwK8aEdqf6aL57Hh6KQ" association="_3-9m-K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fZGsK8kEdqRKeAGm8hhTw" name="A_request_sendObjectAction" memberEnd="__fGLya8kEdqRKeAGm8hhTw __fZGsq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fZGsa8kEdqRKeAGm8hhTw" general="__cQ6w68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fZGsq8kEdqRKeAGm8hhTw" type="__fGLwK8kEdqRKeAGm8hhTw" redefinedProperty="__cQ6xa8kEdqRKeAGm8hhTw" association="__fZGsK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m-68aEdqf6aL57Hh6KQ" name="A_signal_broadcastSignalAction" memberEnd="_3-9m_K8aEdqf6aL57Hh6KQ _3-z2D68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9m_K8aEdqf6aL57Hh6KQ" type="_3-z2Bq8aEdqf6aL57Hh6KQ" association="_3-9m-68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9m_a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9m_q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fZGs68kEdqRKeAGm8hhTw" name="A_signal_broadcastSignalAction" memberEnd="__e8bgK8kEdqRKeAGm8hhTw __fZGtK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fZGtK8kEdqRKeAGm8hhTw" type="__e8bd68kEdqRKeAGm8hhTw" association="__fZGs68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZGta8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZGtq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9m_68aEdqf6aL57Hh6KQ" name="A_removeAt_removeStructuralFeatureValueAction" memberEnd="_3-qsG68aEdqf6aL57Hh6KQ _3-9nAa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9nAK8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9nAa8aEdqf6aL57Hh6KQ" type="_3-qsEq8aEdqf6aL57Hh6KQ" association="_3-9m_68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9nAq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9nA68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fZGt68kEdqRKeAGm8hhTw" name="A_removeAt_removeStructuralFeatureValueAction" memberEnd="__fZGua8kEdqRKeAGm8hhTw __e8a268kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fZGuK8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fZGua8kEdqRKeAGm8hhTw" type="__e8a0q8kEdqRKeAGm8hhTw" association="__fZGt68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZGuq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZGu68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9nBK8aEdqf6aL57Hh6KQ" name="A_destroyAt_linkEndDestructionData" memberEnd="_3-9nBa8aEdqf6aL57Hh6KQ _3-z2Lq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9nBa8aEdqf6aL57Hh6KQ" type="_3-z2Iq8aEdqf6aL57Hh6KQ" association="_3-9nBK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9nBq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9nB68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fZGvK8kEdqRKeAGm8hhTw" name="A_destroyAt_linkEndDestructionData" memberEnd="__fZGva8kEdqRKeAGm8hhTw __fGL268kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fZGva8kEdqRKeAGm8hhTw" type="__fGLz68kEdqRKeAGm8hhTw" association="__fZGvK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZGvq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZGv68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9nCK8aEdqf6aL57Hh6KQ" name="A_endData_destroyLinkAction" memberEnd="_3-z1568aEdqf6aL57Hh6KQ _3-9nCq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3-9nCa8aEdqf6aL57Hh6KQ" general="_3-9m0q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3-9nCq8aEdqf6aL57Hh6KQ" type="_3-z15K8aEdqf6aL57Hh6KQ" redefinedProperty="_3-9m068aEdqf6aL57Hh6KQ" association="_3-9nCK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9nC68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9nDK8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fZGwK8kEdqRKeAGm8hhTw" name="A_endData_destroyLinkAction" memberEnd="__e8bWK8kEdqRKeAGm8hhTw __fZGwq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fZGwa8kEdqRKeAGm8hhTw" general="__fPV168kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fZGwq8kEdqRKeAGm8hhTw" type="__e8bVa8kEdqRKeAGm8hhTw" redefinedProperty="__fPV2K8kEdqRKeAGm8hhTw" association="__fZGwK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZGw68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZGxK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3-9nDa8aEdqf6aL57Hh6KQ" name="A_value_valueSpecificationAction" memberEnd="_3-z2O68aEdqf6aL57Hh6KQ _3-9nDq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3-9nDq8aEdqf6aL57Hh6KQ" type="_3-z2Mq8aEdqf6aL57Hh6KQ" association="_3-9nDa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-9nD68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-9nEK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fZGxa8kEdqRKeAGm8hhTw" name="A_value_valueSpecificationAction" memberEnd="__fGL6K8kEdqRKeAGm8hhTw __fZGxq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__fZGxq8kEdqRKeAGm8hhTw" type="__fGL368kEdqRKeAGm8hhTw" association="__fZGxa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZGx68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZGyK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_HXsK8aEdqf6aL57Hh6KQ" name="A_result_valueSpecificationAction" memberEnd="_3-z2Qa8aEdqf6aL57Hh6KQ _3_HXsq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_HXsa8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_HXsq8aEdqf6aL57Hh6KQ" type="_3-z2Mq8aEdqf6aL57Hh6KQ" association="_3_HXsK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HXs68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HXtK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fZGya8kEdqRKeAGm8hhTw" name="A_result_valueSpecificationAction" memberEnd="__fGL7q8kEdqRKeAGm8hhTw __fZGy68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fZGyq8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fZGy68kEdqRKeAGm8hhTw" type="__fGL368kEdqRKeAGm8hhTw" association="__fZGya8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZGzK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZGza8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_HXta8aEdqf6aL57Hh6KQ" name="A_inputValue_linkAction" memberEnd="_3-qsQq8aEdqf6aL57Hh6KQ _3_HXt68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_HXtq8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_HXt68aEdqf6aL57Hh6KQ" type="_3-qsMK8aEdqf6aL57Hh6KQ" redefinedProperty="_37_LyK8aEdqf6aL57Hh6KQ" association="_3_HXta8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__fZGzq8kEdqRKeAGm8hhTw" name="A_inputValue_linkAction" memberEnd="__fZG0K8kEdqRKeAGm8hhTw __e8bAq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__fZGz68kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__fZG0K8kEdqRKeAGm8hhTw" type="__e8a8K8kEdqRKeAGm8hhTw" redefinedProperty="__cQ6za8kEdqRKeAGm8hhTw" association="__fZGzq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_DylKEH4YEdq7cMP_l1l5Gg" name="TimeExpression">

-    <ownedComment xmi:id="_3_HXuK8aEdqf6aL57Hh6KQ" annotatedElement="_DylKEH4YEdq7cMP_l1l5Gg">

+    <ownedComment xmi:id="__fZG0a8kEdqRKeAGm8hhTw" annotatedElement="_DylKEH4YEdq7cMP_l1l5Gg">

       <body>A TimeExpression defines a value specification that represents a time value.</body>

     </ownedComment>

-    <generalization xmi:id="_3_HXua8aEdqf6aL57Hh6KQ" general="_33qE0K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_HXuq8aEdqf6aL57Hh6KQ" name="expr" type="_33qE0K8aEdqf6aL57Hh6KQ" association="_3_aSoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HXu68aEdqf6aL57Hh6KQ" annotatedElement="_3_HXuq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__fZG0q8kEdqRKeAGm8hhTw" general="__YYf9a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fZG068kEdqRKeAGm8hhTw" name="expr" type="__YYf9a8kEdqRKeAGm8hhTw" association="__glZka8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZG1K8kEdqRKeAGm8hhTw" annotatedElement="__fZG068kEdqRKeAGm8hhTw">

         <body>The value of the time expression.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HXvK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HXva8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZG1a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZG1q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_HXvq8aEdqf6aL57Hh6KQ" name="observation" type="_3_HYEq8aEdqf6aL57Hh6KQ" association="_3_Qh1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HXv68aEdqf6aL57Hh6KQ" annotatedElement="_3_HXvq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__fZG168kEdqRKeAGm8hhTw" name="observation" type="__gbokK8kEdqRKeAGm8hhTw" association="__glZj68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZG2K8kEdqRKeAGm8hhTw" annotatedElement="__fZG168kEdqRKeAGm8hhTw">

         <body>Refers to the time and duration observations that are involved in expr.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HXwK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HXwa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZG2a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZG2q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_JdkW8H4YEdq7cMP_l1l5Gg" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_JdkW8X4YEdq7cMP_l1l5Gg" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_-Ixo8H4XEdq7cMP_l1l5Gg" name="Duration">

-    <ownedComment xmi:id="_3_HXwq8aEdqf6aL57Hh6KQ" annotatedElement="_-Ixo8H4XEdq7cMP_l1l5Gg">

+    <ownedComment xmi:id="__fZG268kEdqRKeAGm8hhTw" annotatedElement="_-Ixo8H4XEdq7cMP_l1l5Gg">

       <body>A duration defines a value specification that specifies the temporal distance between two time instants.</body>

     </ownedComment>

-    <generalization xmi:id="_3_HXw68aEdqf6aL57Hh6KQ" general="_33qE0K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_HXxK8aEdqf6aL57Hh6KQ" name="expr" type="_33qE0K8aEdqf6aL57Hh6KQ" association="_3_aSoq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HXxa8aEdqf6aL57Hh6KQ" annotatedElement="_3_HXxK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__fZG3K8kEdqRKeAGm8hhTw" general="__YYf9a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fZG3a8kEdqRKeAGm8hhTw" name="expr" type="__YYf9a8kEdqRKeAGm8hhTw" association="__glZk68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZG3q8kEdqRKeAGm8hhTw" annotatedElement="__fZG3a8kEdqRKeAGm8hhTw">

         <body>The value of the Duration.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HXxq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HXx68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZG368kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZG4K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_HXyK8aEdqf6aL57Hh6KQ" name="observation" type="_3_HYEq8aEdqf6aL57Hh6KQ" association="_3_Qh0q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HXya8aEdqf6aL57Hh6KQ" annotatedElement="_3_HXyK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__fZG4a8kEdqRKeAGm8hhTw" name="observation" type="__gbokK8kEdqRKeAGm8hhTw" association="__glZja8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZG4q8kEdqRKeAGm8hhTw" annotatedElement="__fZG4a8kEdqRKeAGm8hhTw">

         <body>Refers to the time and duration observations that are involved in expr.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HXyq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HXy68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZG468kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZG5K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_I3a88H4YEdq7cMP_l1l5Gg" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_I3a88X4YEdq7cMP_l1l5Gg" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_HXzK8aEdqf6aL57Hh6KQ" name="DurationInterval">

-    <ownedComment xmi:id="_3_HXza8aEdqf6aL57Hh6KQ" annotatedElement="_3_HXzK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__fZG5a8kEdqRKeAGm8hhTw" name="DurationInterval">

+    <ownedComment xmi:id="__fZG5q8kEdqRKeAGm8hhTw" annotatedElement="__fZG5a8kEdqRKeAGm8hhTw">

       <body>A DurationInterval defines the range between two Durations.</body>

     </ownedComment>

-    <generalization xmi:id="_3_HXzq8aEdqf6aL57Hh6KQ" general="_3_HYAq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_HXz68aEdqf6aL57Hh6KQ" name="min" type="_-Ixo8H4XEdq7cMP_l1l5Gg" redefinedProperty="_3_HYBa8aEdqf6aL57Hh6KQ" association="_3_Qhua8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HX0K8aEdqf6aL57Hh6KQ" annotatedElement="_3_HXz68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__fZG568kEdqRKeAGm8hhTw" general="__gbogK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fZG6K8kEdqRKeAGm8hhTw" name="min" type="_-Ixo8H4XEdq7cMP_l1l5Gg" redefinedProperty="__gbog68kEdqRKeAGm8hhTw" association="__gborK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZG6a8kEdqRKeAGm8hhTw" annotatedElement="__fZG6K8kEdqRKeAGm8hhTw">

         <body>Refers to the Duration denoting the minimum value of the range.</body>

       </ownedComment>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_HX0a8aEdqf6aL57Hh6KQ" name="max" type="_-Ixo8H4XEdq7cMP_l1l5Gg" redefinedProperty="_3_HYCa8aEdqf6aL57Hh6KQ" association="_3_QhvK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HX0q8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX0a8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__fZG6q8kEdqRKeAGm8hhTw" name="max" type="_-Ixo8H4XEdq7cMP_l1l5Gg" redefinedProperty="__gboh68kEdqRKeAGm8hhTw" association="__gbor68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZG668kEdqRKeAGm8hhTw" annotatedElement="__fZG6q8kEdqRKeAGm8hhTw">

         <body>Refers to the Duration denoting the maximum value of the range.</body>

       </ownedComment>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_HX068aEdqf6aL57Hh6KQ" name="TimeConstraint">

-    <ownedComment xmi:id="_3_HX1K8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX068aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__fZG7K8kEdqRKeAGm8hhTw" name="TimeConstraint">

+    <ownedComment xmi:id="__fZG7a8kEdqRKeAGm8hhTw" annotatedElement="__fZG7K8kEdqRKeAGm8hhTw">

       <body>A TimeConstraint defines a Constraint that refers to a TimeInterval.</body>

     </ownedComment>

-    <generalization xmi:id="_3_HX1a8aEdqf6aL57Hh6KQ" general="_3_HX-a8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_HX1q8aEdqf6aL57Hh6KQ" name="specification" type="_3_HX4a8aEdqf6aL57Hh6KQ" redefinedProperty="_3_HX_K8aEdqf6aL57Hh6KQ" association="_3_Qhxa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_HX168aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_HX2K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__fZG7q8kEdqRKeAGm8hhTw" general="__fZHEq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fZG768kEdqRKeAGm8hhTw" name="specification" type="__fZG-q8kEdqRKeAGm8hhTw" redefinedProperty="__fZHFa8kEdqRKeAGm8hhTw" association="__glZgK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__fZG8K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__fZG8a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_HX2a8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX1q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__fZG8q8kEdqRKeAGm8hhTw" annotatedElement="__fZG768kEdqRKeAGm8hhTw">

         <body>A condition that must be true when evaluated in order for the constraint to be satisfied.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HX2q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HX268aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZG868kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZG9K8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_HX3K8aEdqf6aL57Hh6KQ" name="firstEvent" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3_HX3a8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX3K8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__fZG9a8kEdqRKeAGm8hhTw" name="firstEvent" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__fZG9q8kEdqRKeAGm8hhTw" annotatedElement="__fZG9a8kEdqRKeAGm8hhTw">

         <body>The value of firstEvent is related to constrainedElement. If firstEvent is true, then the corresponding observation event is the first time instant the execution enters constrainedElement. If firstEvent is false, then the corresponding observation event is the last time instant the execution is within constrainedElement.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HX3q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HX368aEdqf6aL57Hh6KQ"/>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3_HX4K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZG968kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZG-K8kEdqRKeAGm8hhTw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__fZG-a8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_HX4a8aEdqf6aL57Hh6KQ" name="TimeInterval">

-    <ownedComment xmi:id="_3_HX4q8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX4a8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__fZG-q8kEdqRKeAGm8hhTw" name="TimeInterval">

+    <ownedComment xmi:id="__fZG-68kEdqRKeAGm8hhTw" annotatedElement="__fZG-q8kEdqRKeAGm8hhTw">

       <body>A TimeInterval defines the range between two TimeExpressions.</body>

     </ownedComment>

-    <generalization xmi:id="_3_HX468aEdqf6aL57Hh6KQ" general="_3_HYAq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_HX5K8aEdqf6aL57Hh6KQ" name="max" type="_DylKEH4YEdq7cMP_l1l5Gg" redefinedProperty="_3_HYCa8aEdqf6aL57Hh6KQ" association="_3_Qhv68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HX5a8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX5K8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__fZG_K8kEdqRKeAGm8hhTw" general="__gbogK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fZG_a8kEdqRKeAGm8hhTw" name="max" type="_DylKEH4YEdq7cMP_l1l5Gg" redefinedProperty="__gboh68kEdqRKeAGm8hhTw" association="__gbosq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZG_q8kEdqRKeAGm8hhTw" annotatedElement="__fZG_a8kEdqRKeAGm8hhTw">

         <body>Refers to the TimeExpression denoting the maximum value of the range.</body>

       </ownedComment>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_HX5q8aEdqf6aL57Hh6KQ" name="min" type="_DylKEH4YEdq7cMP_l1l5Gg" redefinedProperty="_3_HYBa8aEdqf6aL57Hh6KQ" association="_3_Qhwq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HX568aEdqf6aL57Hh6KQ" annotatedElement="_3_HX5q8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__fZG_68kEdqRKeAGm8hhTw" name="min" type="_DylKEH4YEdq7cMP_l1l5Gg" redefinedProperty="__gbog68kEdqRKeAGm8hhTw" association="__gbota8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZHAK8kEdqRKeAGm8hhTw" annotatedElement="__fZG_68kEdqRKeAGm8hhTw">

         <body>Refers to the TimeExpression denoting the minimum value of the range.</body>

       </ownedComment>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_HX6K8aEdqf6aL57Hh6KQ" name="DurationConstraint">

-    <ownedComment xmi:id="_3_HX6a8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX6K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__fZHAa8kEdqRKeAGm8hhTw" name="DurationConstraint">

+    <ownedComment xmi:id="__fZHAq8kEdqRKeAGm8hhTw" annotatedElement="__fZHAa8kEdqRKeAGm8hhTw">

       <body>A DurationConstraint defines a Constraint that refers to a DurationInterval.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_HX6q8aEdqf6aL57Hh6KQ" name="first_event_multiplicity" constrainedElement="_3_HX6K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HX668aEdqf6aL57Hh6KQ" annotatedElement="_3_HX6q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__fZHA68kEdqRKeAGm8hhTw" name="first_event_multiplicity" constrainedElement="__fZHAa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__fZHBK8kEdqRKeAGm8hhTw" annotatedElement="__fZHA68kEdqRKeAGm8hhTw">

         <body>The multiplicity of firstEvent must be 2 if the multiplicity of constrainedElement is 2. Otherwise the multiplicity of firstEvent is 0.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_HX7K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__fZHBa8kEdqRKeAGm8hhTw" language="OCL">

         <body>if (constrainedElement->size() =2)

 

   then (firstEvent->size() = 2) else (firstEvent->size() = 0)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_HX7a8aEdqf6aL57Hh6KQ" general="_3_HX-a8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_HX7q8aEdqf6aL57Hh6KQ" name="specification" type="_3_HXzK8aEdqf6aL57Hh6KQ" redefinedProperty="_3_HX_K8aEdqf6aL57Hh6KQ" association="_3_QhyK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_HX768aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_HX8K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__fZHBq8kEdqRKeAGm8hhTw" general="__fZHEq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fZHB68kEdqRKeAGm8hhTw" name="specification" type="__fZG5a8kEdqRKeAGm8hhTw" redefinedProperty="__fZHFa8kEdqRKeAGm8hhTw" association="__glZg68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__fZHCK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__fZHCa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_HX8a8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX7q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__fZHCq8kEdqRKeAGm8hhTw" annotatedElement="__fZHB68kEdqRKeAGm8hhTw">

         <body>The interval constraining the duration.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HX8q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HX868aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZHC68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZHDK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_HX9K8aEdqf6aL57Hh6KQ" name="firstEvent" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3_HX9a8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX9K8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__fZHDa8kEdqRKeAGm8hhTw" name="firstEvent" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__fZHDq8kEdqRKeAGm8hhTw" annotatedElement="__fZHDa8kEdqRKeAGm8hhTw">

         <body>The value of firstEvent[i] is related to constrainedElement[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters constrainedElement[i]. If firstEvent[i] is false, then the corresponding observation event is the last time instant the execution is within constrainedElement[i]. Default value is true applied when constrainedElement[i] refers an element that represents only one time instant.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HX9q8aEdqf6aL57Hh6KQ" value="2"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HX968aEdqf6aL57Hh6KQ"/>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3_HX-K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZHD68kEdqRKeAGm8hhTw" value="2"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZHEK8kEdqRKeAGm8hhTw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__fZHEa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_HX-a8aEdqf6aL57Hh6KQ" name="IntervalConstraint">

-    <ownedComment xmi:id="_3_HX-q8aEdqf6aL57Hh6KQ" annotatedElement="_3_HX-a8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__fZHEq8kEdqRKeAGm8hhTw" name="IntervalConstraint">

+    <ownedComment xmi:id="__fZHE68kEdqRKeAGm8hhTw" annotatedElement="__fZHEq8kEdqRKeAGm8hhTw">

       <body>A IntervalConstraint defines a Constraint that refers to an Interval.</body>

     </ownedComment>

-    <generalization xmi:id="_3_HX-68aEdqf6aL57Hh6KQ" general="_33z2DK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_HX_K8aEdqf6aL57Hh6KQ" name="specification" type="_3_HYAq8aEdqf6aL57Hh6KQ" redefinedProperty="_33z2Ga8aEdqf6aL57Hh6KQ" association="_3_Qhz68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_HX_a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_HX_q8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__fZHFK8kEdqRKeAGm8hhTw" general="__YsB9a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__fZHFa8kEdqRKeAGm8hhTw" name="specification" type="__gbogK8kEdqRKeAGm8hhTw" redefinedProperty="__YsCAq8kEdqRKeAGm8hhTw" association="__glZiq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__fZHFq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__fZHF68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_HX_68aEdqf6aL57Hh6KQ" annotatedElement="_3_HX_K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__fZHGK8kEdqRKeAGm8hhTw" annotatedElement="__fZHFa8kEdqRKeAGm8hhTw">

         <body>A condition that must be true when evaluated in order for the constraint to be satisfied.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HYAK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HYAa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__fZHGa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__fZHGq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_HYAq8aEdqf6aL57Hh6KQ" name="Interval">

-    <ownedComment xmi:id="_3_HYA68aEdqf6aL57Hh6KQ" annotatedElement="_3_HYAq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__gbogK8kEdqRKeAGm8hhTw" name="Interval">

+    <ownedComment xmi:id="__gboga8kEdqRKeAGm8hhTw" annotatedElement="__gbogK8kEdqRKeAGm8hhTw">

       <body>An Interval defines the range between two value specifications.</body>

     </ownedComment>

-    <generalization xmi:id="_3_HYBK8aEdqf6aL57Hh6KQ" general="_33qE0K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_HYBa8aEdqf6aL57Hh6KQ" name="min" type="_33qE0K8aEdqf6aL57Hh6KQ" association="_3_Qhy68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HYBq8aEdqf6aL57Hh6KQ" annotatedElement="_3_HYBa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__gbogq8kEdqRKeAGm8hhTw" general="__YYf9a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__gbog68kEdqRKeAGm8hhTw" name="min" type="__YYf9a8kEdqRKeAGm8hhTw" association="__glZhq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gbohK8kEdqRKeAGm8hhTw" annotatedElement="__gbog68kEdqRKeAGm8hhTw">

         <body>Refers to the ValueSpecification denoting the minimum value of the range.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HYB68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HYCK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gboha8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gbohq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_HYCa8aEdqf6aL57Hh6KQ" name="max" type="_33qE0K8aEdqf6aL57Hh6KQ" association="_3_Qhza8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HYCq8aEdqf6aL57Hh6KQ" annotatedElement="_3_HYCa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__gboh68kEdqRKeAGm8hhTw" name="max" type="__YYf9a8kEdqRKeAGm8hhTw" association="__glZiK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gboiK8kEdqRKeAGm8hhTw" annotatedElement="__gboh68kEdqRKeAGm8hhTw">

         <body>Refers to the ValueSpecification denoting the maximum value of the range.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HYC68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HYDK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gboia8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gboiq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_HYEq8aEdqf6aL57Hh6KQ" name="Observation" isAbstract="true">

-    <ownedComment xmi:id="_3_HYE68aEdqf6aL57Hh6KQ" annotatedElement="_3_HYEq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__gbokK8kEdqRKeAGm8hhTw" name="Observation" isAbstract="true">

+    <ownedComment xmi:id="__gboka8kEdqRKeAGm8hhTw" annotatedElement="__gbokK8kEdqRKeAGm8hhTw">

       <body>Observation is a superclass of TimeObservation and DurationObservation in order for TimeExpressions and Duration to refer to either in a simple way.</body>

     </ownedComment>

-    <generalization xmi:id="_3_HYFK8aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__gbokq8kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_QhoK8aEdqf6aL57Hh6KQ" name="TimeObservation">

-    <ownedComment xmi:id="_3_Qhoa8aEdqf6aL57Hh6KQ" annotatedElement="_3_QhoK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__gbok68kEdqRKeAGm8hhTw" name="TimeObservation">

+    <ownedComment xmi:id="__gbolK8kEdqRKeAGm8hhTw" annotatedElement="__gbok68kEdqRKeAGm8hhTw">

       <body>A time observation is a reference to a time instant during an execution. It points out the element in the model to observe and whether the observation is when this model element is entered or when it is exited.</body>

     </ownedComment>

-    <generalization xmi:id="_3_Qhoq8aEdqf6aL57Hh6KQ" general="_3_HYEq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_Qho68aEdqf6aL57Hh6KQ" name="event" type="_csVgUGvtEdqG6fBIPwe-mw" association="_3_aSpK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_QhpK8aEdqf6aL57Hh6KQ" annotatedElement="_3_Qho68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__gbola8kEdqRKeAGm8hhTw" general="__gbokK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__gbolq8kEdqRKeAGm8hhTw" name="event" type="_csVgUGvtEdqG6fBIPwe-mw" association="__glZla8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gbol68kEdqRKeAGm8hhTw" annotatedElement="__gbolq8kEdqRKeAGm8hhTw">

         <body>The observation is determined by the entering or exiting of the event element during execution.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_Qhpa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_Qhpq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gbomK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gboma8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_Qhp68aEdqf6aL57Hh6KQ" name="firstEvent" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3_QhqK8aEdqf6aL57Hh6KQ" annotatedElement="_3_Qhp68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__gbomq8kEdqRKeAGm8hhTw" name="firstEvent" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__gbom68kEdqRKeAGm8hhTw" annotatedElement="__gbomq8kEdqRKeAGm8hhTw">

         <body>The value of firstEvent is related to event. If firstEvent is true, then the corresponding observation event is the first time instant the execution enters event. If firstEvent is false, then the corresponding observation event is the time instant the execution exits event.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3_Qhqa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__gbonK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_Qhqq8aEdqf6aL57Hh6KQ" name="DurationObservation">

-    <ownedComment xmi:id="_3_Qhq68aEdqf6aL57Hh6KQ" annotatedElement="_3_Qhqq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__gbona8kEdqRKeAGm8hhTw" name="DurationObservation">

+    <ownedComment xmi:id="__gbonq8kEdqRKeAGm8hhTw" annotatedElement="__gbona8kEdqRKeAGm8hhTw">

       <body>A duration observation is a reference to a duration during an execution. It points out the element(s) in the model to observe and whether the observations are when this model element is entered or when it is exited.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_QhrK8aEdqf6aL57Hh6KQ" name="first_event_multiplicity" constrainedElement="_3_Qhqq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_Qhra8aEdqf6aL57Hh6KQ" annotatedElement="_3_QhrK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gbon68kEdqRKeAGm8hhTw" name="first_event_multiplicity" constrainedElement="__gbona8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gbooK8kEdqRKeAGm8hhTw" annotatedElement="__gbon68kEdqRKeAGm8hhTw">

         <body>The multiplicity of firstEvent must be 2 if the multiplicity of event is 2. Otherwise the multiplicity of firstEvent is 0.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_Qhrq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gbooa8kEdqRKeAGm8hhTw" language="OCL">

         <body>if (event->size() = 2)

 

   then (firstEvent->size() = 2) else (firstEvent->size() = 0)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_Qhr68aEdqf6aL57Hh6KQ" general="_3_HYEq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_QhsK8aEdqf6aL57Hh6KQ" name="event" type="_csVgUGvtEdqG6fBIPwe-mw" association="_3_aSpq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_Qhsa8aEdqf6aL57Hh6KQ" annotatedElement="_3_QhsK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__gbooq8kEdqRKeAGm8hhTw" general="__gbokK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__gboo68kEdqRKeAGm8hhTw" name="event" type="_csVgUGvtEdqG6fBIPwe-mw" association="__glZl68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gbopK8kEdqRKeAGm8hhTw" annotatedElement="__gboo68kEdqRKeAGm8hhTw">

         <body>The observation is determined by the entering or exiting of the event element during execution.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_Qhsq8aEdqf6aL57Hh6KQ" value="2"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_Qhs68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gbopa8kEdqRKeAGm8hhTw" value="2"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gbopq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_QhtK8aEdqf6aL57Hh6KQ" name="firstEvent" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3_Qhta8aEdqf6aL57Hh6KQ" annotatedElement="_3_QhtK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__gbop68kEdqRKeAGm8hhTw" name="firstEvent" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__gboqK8kEdqRKeAGm8hhTw" annotatedElement="__gbop68kEdqRKeAGm8hhTw">

         <body>The value of firstEvent[i] is related to event[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters event[i]. If firstEvent[i] is false, then the corresponding observation event is the time instant the execution exits event[i]. Default value is true applied when event[i] refers an element that represents only one time instant.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_Qhtq8aEdqf6aL57Hh6KQ" value="2"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_Qht68aEdqf6aL57Hh6KQ"/>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3_QhuK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gboqa8kEdqRKeAGm8hhTw" value="2"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gboqq8kEdqRKeAGm8hhTw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__gboq68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qhua8aEdqf6aL57Hh6KQ" name="A_min_durationInterval" memberEnd="_3_HXz68aEdqf6aL57Hh6KQ _3_Qhu68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_Qhuq8aEdqf6aL57Hh6KQ" general="_3_Qhy68aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_Qhu68aEdqf6aL57Hh6KQ" type="_3_HXzK8aEdqf6aL57Hh6KQ" redefinedProperty="_3_QhzK8aEdqf6aL57Hh6KQ" association="_3_Qhua8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__gborK8kEdqRKeAGm8hhTw" name="A_min_durationInterval" memberEnd="__gborq8kEdqRKeAGm8hhTw __fZG6K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__gbora8kEdqRKeAGm8hhTw" general="__glZhq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__gborq8kEdqRKeAGm8hhTw" type="__fZG5a8kEdqRKeAGm8hhTw" redefinedProperty="__glZh68kEdqRKeAGm8hhTw" association="__gborK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_QhvK8aEdqf6aL57Hh6KQ" name="A_max_durationInterval" memberEnd="_3_HX0a8aEdqf6aL57Hh6KQ _3_Qhvq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_Qhva8aEdqf6aL57Hh6KQ" general="_3_Qhza8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_Qhvq8aEdqf6aL57Hh6KQ" type="_3_HXzK8aEdqf6aL57Hh6KQ" redefinedProperty="_3_Qhzq8aEdqf6aL57Hh6KQ" association="_3_QhvK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__gbor68kEdqRKeAGm8hhTw" name="A_max_durationInterval" memberEnd="__gbosa8kEdqRKeAGm8hhTw __fZG6q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__gbosK8kEdqRKeAGm8hhTw" general="__glZiK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__gbosa8kEdqRKeAGm8hhTw" type="__fZG5a8kEdqRKeAGm8hhTw" redefinedProperty="__glZia8kEdqRKeAGm8hhTw" association="__gbor68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qhv68aEdqf6aL57Hh6KQ" name="A_max_timeInterval" memberEnd="_3_HX5K8aEdqf6aL57Hh6KQ _3_Qhwa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_QhwK8aEdqf6aL57Hh6KQ" general="_3_Qhza8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_Qhwa8aEdqf6aL57Hh6KQ" type="_3_HX4a8aEdqf6aL57Hh6KQ" redefinedProperty="_3_Qhzq8aEdqf6aL57Hh6KQ" association="_3_Qhv68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__gbosq8kEdqRKeAGm8hhTw" name="A_max_timeInterval" memberEnd="__fZG_a8kEdqRKeAGm8hhTw __gbotK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__gbos68kEdqRKeAGm8hhTw" general="__glZiK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__gbotK8kEdqRKeAGm8hhTw" type="__fZG-q8kEdqRKeAGm8hhTw" redefinedProperty="__glZia8kEdqRKeAGm8hhTw" association="__gbosq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qhwq8aEdqf6aL57Hh6KQ" name="A_min_timeInterval" memberEnd="_3_QhxK8aEdqf6aL57Hh6KQ _3_HX5q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_Qhw68aEdqf6aL57Hh6KQ" general="_3_Qhy68aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_QhxK8aEdqf6aL57Hh6KQ" type="_3_HX4a8aEdqf6aL57Hh6KQ" redefinedProperty="_3_QhzK8aEdqf6aL57Hh6KQ" association="_3_Qhwq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__gbota8kEdqRKeAGm8hhTw" name="A_min_timeInterval" memberEnd="__fZG_68kEdqRKeAGm8hhTw __gbot68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__gbotq8kEdqRKeAGm8hhTw" general="__glZhq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__gbot68kEdqRKeAGm8hhTw" type="__fZG-q8kEdqRKeAGm8hhTw" redefinedProperty="__glZh68kEdqRKeAGm8hhTw" association="__gbota8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qhxa8aEdqf6aL57Hh6KQ" name="A_specification_timeConstraint" memberEnd="_3_HX1q8aEdqf6aL57Hh6KQ _3_Qhx68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_Qhxq8aEdqf6aL57Hh6KQ" general="_3_Qhz68aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_Qhx68aEdqf6aL57Hh6KQ" type="_3_HX068aEdqf6aL57Hh6KQ" redefinedProperty="_3_Qh0a8aEdqf6aL57Hh6KQ" association="_3_Qhxa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZgK8kEdqRKeAGm8hhTw" name="A_specification_timeConstraint" memberEnd="__fZG768kEdqRKeAGm8hhTw __glZgq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__glZga8kEdqRKeAGm8hhTw" general="__glZiq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__glZgq8kEdqRKeAGm8hhTw" type="__fZG7K8kEdqRKeAGm8hhTw" redefinedProperty="__glZjK8kEdqRKeAGm8hhTw" association="__glZgK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_QhyK8aEdqf6aL57Hh6KQ" name="A_specification_durationConstraint" memberEnd="_3_HX7q8aEdqf6aL57Hh6KQ _3_Qhyq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_Qhya8aEdqf6aL57Hh6KQ" general="_3_Qhz68aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_Qhyq8aEdqf6aL57Hh6KQ" type="_3_HX6K8aEdqf6aL57Hh6KQ" redefinedProperty="_3_Qh0a8aEdqf6aL57Hh6KQ" association="_3_QhyK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZg68kEdqRKeAGm8hhTw" name="A_specification_durationConstraint" memberEnd="__fZHB68kEdqRKeAGm8hhTw __glZha8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__glZhK8kEdqRKeAGm8hhTw" general="__glZiq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__glZha8kEdqRKeAGm8hhTw" type="__fZHAa8kEdqRKeAGm8hhTw" redefinedProperty="__glZjK8kEdqRKeAGm8hhTw" association="__glZg68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qhy68aEdqf6aL57Hh6KQ" name="A_min_interval" memberEnd="_3_HYBa8aEdqf6aL57Hh6KQ _3_QhzK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_QhzK8aEdqf6aL57Hh6KQ" type="_3_HYAq8aEdqf6aL57Hh6KQ" association="_3_Qhy68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZhq8kEdqRKeAGm8hhTw" name="A_min_interval" memberEnd="__glZh68kEdqRKeAGm8hhTw __gbog68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZh68kEdqRKeAGm8hhTw" type="__gbogK8kEdqRKeAGm8hhTw" association="__glZhq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qhza8aEdqf6aL57Hh6KQ" name="A_max_interval" memberEnd="_3_Qhzq8aEdqf6aL57Hh6KQ _3_HYCa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_Qhzq8aEdqf6aL57Hh6KQ" type="_3_HYAq8aEdqf6aL57Hh6KQ" association="_3_Qhza8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZiK8kEdqRKeAGm8hhTw" name="A_max_interval" memberEnd="__gboh68kEdqRKeAGm8hhTw __glZia8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZia8kEdqRKeAGm8hhTw" type="__gbogK8kEdqRKeAGm8hhTw" association="__glZiK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qhz68aEdqf6aL57Hh6KQ" name="A_specification_intervalConstraint" memberEnd="_3_HX_K8aEdqf6aL57Hh6KQ _3_Qh0a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_Qh0K8aEdqf6aL57Hh6KQ" general="_342X3K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_Qh0a8aEdqf6aL57Hh6KQ" type="_3_HX-a8aEdqf6aL57Hh6KQ" association="_3_Qhz68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZiq8kEdqRKeAGm8hhTw" name="A_specification_intervalConstraint" memberEnd="__fZHFa8kEdqRKeAGm8hhTw __glZjK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__glZi68kEdqRKeAGm8hhTw" general="__Zkyv68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__glZjK8kEdqRKeAGm8hhTw" type="__fZHEq8kEdqRKeAGm8hhTw" association="__glZiq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qh0q8aEdqf6aL57Hh6KQ" name="A_observation_duration" memberEnd="_3_HXyK8aEdqf6aL57Hh6KQ _3_Qh068aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_Qh068aEdqf6aL57Hh6KQ" type="_-Ixo8H4XEdq7cMP_l1l5Gg" association="_3_Qh0q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZja8kEdqRKeAGm8hhTw" name="A_observation_duration" memberEnd="__fZG4a8kEdqRKeAGm8hhTw __glZjq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZjq8kEdqRKeAGm8hhTw" type="_-Ixo8H4XEdq7cMP_l1l5Gg" association="__glZja8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_Qh1K8aEdqf6aL57Hh6KQ" name="A_observation_timeExpression" memberEnd="_3_Qh1a8aEdqf6aL57Hh6KQ _3_HXvq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_Qh1a8aEdqf6aL57Hh6KQ" type="_DylKEH4YEdq7cMP_l1l5Gg" association="_3_Qh1K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZj68kEdqRKeAGm8hhTw" name="A_observation_timeExpression" memberEnd="__fZG168kEdqRKeAGm8hhTw __glZkK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZkK8kEdqRKeAGm8hhTw" type="_DylKEH4YEdq7cMP_l1l5Gg" association="__glZj68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39xUAK8aEdqf6aL57Hh6KQ" name="A_when_timeEvent" memberEnd="_39njSK8aEdqf6aL57Hh6KQ _39xUAq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_39xUAa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_39xUAq8aEdqf6aL57Hh6KQ" type="_39njQq8aEdqf6aL57Hh6KQ" association="_39xUAK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__d55Ha8kEdqRKeAGm8hhTw" name="A_when_timeEvent" memberEnd="__d55H68kEdqRKeAGm8hhTw __dwIXa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__d55Hq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__d55H68kEdqRKeAGm8hhTw" type="__dwIV68kEdqRKeAGm8hhTw" association="__d55Ha8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_aSoK8aEdqf6aL57Hh6KQ" name="A_expr_timeExpression" memberEnd="_3_aSoa8aEdqf6aL57Hh6KQ _3_HXuq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_aSoa8aEdqf6aL57Hh6KQ" type="_DylKEH4YEdq7cMP_l1l5Gg" association="_3_aSoK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZka8kEdqRKeAGm8hhTw" name="A_expr_timeExpression" memberEnd="__fZG068kEdqRKeAGm8hhTw __glZkq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZkq8kEdqRKeAGm8hhTw" type="_DylKEH4YEdq7cMP_l1l5Gg" association="__glZka8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_aSoq8aEdqf6aL57Hh6KQ" name="A_expr_duration" memberEnd="_3_HXxK8aEdqf6aL57Hh6KQ _3_aSo68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_aSo68aEdqf6aL57Hh6KQ" type="_-Ixo8H4XEdq7cMP_l1l5Gg" association="_3_aSoq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZk68kEdqRKeAGm8hhTw" name="A_expr_duration" memberEnd="__fZG3a8kEdqRKeAGm8hhTw __glZlK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZlK8kEdqRKeAGm8hhTw" type="_-Ixo8H4XEdq7cMP_l1l5Gg" association="__glZk68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_aSpK8aEdqf6aL57Hh6KQ" name="A_event_timeObservation" memberEnd="_3_aSpa8aEdqf6aL57Hh6KQ _3_Qho68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_aSpa8aEdqf6aL57Hh6KQ" type="_3_QhoK8aEdqf6aL57Hh6KQ" association="_3_aSpK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZla8kEdqRKeAGm8hhTw" name="A_event_timeObservation" memberEnd="__glZlq8kEdqRKeAGm8hhTw __gbolq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZlq8kEdqRKeAGm8hhTw" type="__gbok68kEdqRKeAGm8hhTw" association="__glZla8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_aSpq8aEdqf6aL57Hh6KQ" name="A_event_durationObservation" memberEnd="_3_QhsK8aEdqf6aL57Hh6KQ _3_aSp68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_aSp68aEdqf6aL57Hh6KQ" type="_3_Qhqq8aEdqf6aL57Hh6KQ" association="_3_aSpq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZl68kEdqRKeAGm8hhTw" name="A_event_durationObservation" memberEnd="__glZmK8kEdqRKeAGm8hhTw __gboo68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZmK8kEdqRKeAGm8hhTw" type="__gbona8kEdqRKeAGm8hhTw" association="__glZl68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_LNq8aEdqf6aL57Hh6KQ" name="InvocationAction" isAbstract="true">

-    <ownedComment xmi:id="_37_LN68aEdqf6aL57Hh6KQ" annotatedElement="_37_LNq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cQ6O68kEdqRKeAGm8hhTw" name="InvocationAction" isAbstract="true">

+    <ownedComment xmi:id="__cQ6PK8kEdqRKeAGm8hhTw" annotatedElement="__cQ6O68kEdqRKeAGm8hhTw">

       <body>Invocation is an abstract class for the various actions that invoke behavior.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3_aSqK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LNq8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__glZma8kEdqRKeAGm8hhTw" annotatedElement="__cQ6O68kEdqRKeAGm8hhTw">

       <body>In addition to targeting an object, invocation actions can also invoke behavioral features on ports from where the invocation requests are routed onwards on links deriving from attached connectors. Invocation actions may also be sent to a target via a given port, either on the sending object or on another object.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_aSqa8aEdqf6aL57Hh6KQ" name="on_port_receiver" constrainedElement="_37_LNq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aSqq8aEdqf6aL57Hh6KQ" annotatedElement="_3_aSqa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__glZmq8kEdqRKeAGm8hhTw" name="on_port_receiver" constrainedElement="__cQ6O68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__glZm68kEdqRKeAGm8hhTw" annotatedElement="__glZmq8kEdqRKeAGm8hhTw">

         <body>The onPort must be a port on the receiver object.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aSq68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__glZnK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_37_LOK8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37_LOa8aEdqf6aL57Hh6KQ" name="argument" type="_37_LM68aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_37_Lvq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_37_LOq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_37_LO68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cQ6Pa8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cQ6Pq8kEdqRKeAGm8hhTw" name="argument" type="__cQ6OK8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__cQ6w68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cQ6P68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cQ6QK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37_LPK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LOa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cQ6Qa8kEdqRKeAGm8hhTw" annotatedElement="__cQ6Pq8kEdqRKeAGm8hhTw">

         <body>Specification of the ordered set of argument values that appears during execution.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_LPa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_LPq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6Qq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6Q68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_aSrK8aEdqf6aL57Hh6KQ" name="onPort" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_3_aSua8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aSra8aEdqf6aL57Hh6KQ" annotatedElement="_3_aSrK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__glZna8kEdqRKeAGm8hhTw" name="onPort" type="_ZAuvEGveEdq4DLWZOhbdEA" association="__glZqq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__glZnq8kEdqRKeAGm8hhTw" annotatedElement="__glZna8kEdqRKeAGm8hhTw">

         <body>A optional port of the receiver object on which the behavioral feature is invoked.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_aSrq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_aSr68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__glZn68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__glZoK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39njHa8aEdqf6aL57Hh6KQ" name="Trigger">

-    <ownedComment xmi:id="_39njHq8aEdqf6aL57Hh6KQ" annotatedElement="_39njHa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dwIMq8kEdqRKeAGm8hhTw" name="Trigger">

+    <ownedComment xmi:id="__dwIM68kEdqRKeAGm8hhTw" annotatedElement="__dwIMq8kEdqRKeAGm8hhTw">

       <body>A trigger specifies an event that may cause the execution of an associated behavior. An event is often ultimately caused by the execution of an action, but need not be.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3_aSsK8aEdqf6aL57Hh6KQ" annotatedElement="_39njHa8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__glZoa8kEdqRKeAGm8hhTw" annotatedElement="__dwIMq8kEdqRKeAGm8hhTw">

       <body>A trigger specification may be qualified by the port on which the event occurred.</body>

     </ownedComment>

-    <generalization xmi:id="_39njH68aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_39njIK8aEdqf6aL57Hh6KQ" name="event" type="_39njWq8aEdqf6aL57Hh6KQ" association="_39xUE68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39njIa8aEdqf6aL57Hh6KQ" annotatedElement="_39njIK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dwINK8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__dwINa8kEdqRKeAGm8hhTw" name="event" type="__d54-a8kEdqRKeAGm8hhTw" association="__d55MK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dwINq8kEdqRKeAGm8hhTw" annotatedElement="__dwINa8kEdqRKeAGm8hhTw">

         <body>The event that causes the trigger.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39njIq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39njI68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIN68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIOK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_aSsa8aEdqf6aL57Hh6KQ" name="port" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_3_aSta8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aSsq8aEdqf6aL57Hh6KQ" annotatedElement="_3_aSsa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__glZoq8kEdqRKeAGm8hhTw" name="port" type="_ZAuvEGveEdq4DLWZOhbdEA" association="__glZpq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__glZo68kEdqRKeAGm8hhTw" annotatedElement="__glZoq8kEdqRKeAGm8hhTw">

         <body>A optional port of the receiver object on which the behavioral feature is invoked.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_aSs68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_aStK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__glZpK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__glZpa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_aSta8aEdqf6aL57Hh6KQ" name="A_port_trigger" memberEnd="_3_aSsa8aEdqf6aL57Hh6KQ _3_aStq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_aStq8aEdqf6aL57Hh6KQ" type="_39njHa8aEdqf6aL57Hh6KQ" association="_3_aSta8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_aSt68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_aSuK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZpq8kEdqRKeAGm8hhTw" name="A_port_trigger" memberEnd="__glZp68kEdqRKeAGm8hhTw __glZoq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZp68kEdqRKeAGm8hhTw" type="__dwIMq8kEdqRKeAGm8hhTw" association="__glZpq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__glZqK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__glZqa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_aSua8aEdqf6aL57Hh6KQ" name="A_onPort_invocationAction" memberEnd="_3_aSrK8aEdqf6aL57Hh6KQ _3_aSuq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_aSuq8aEdqf6aL57Hh6KQ" type="_37_LNq8aEdqf6aL57Hh6KQ" association="_3_aSua8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_aSu68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_aSvK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__glZqq8kEdqRKeAGm8hhTw" name="A_onPort_invocationAction" memberEnd="__glZna8kEdqRKeAGm8hhTw __glZq68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__glZq68kEdqRKeAGm8hhTw" type="__cQ6O68kEdqRKeAGm8hhTw" association="__glZqq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__glZrK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__glZra8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_aSva8aEdqf6aL57Hh6KQ" name="StateMachine">

-    <ownedComment xmi:id="_3_aSvq8aEdqf6aL57Hh6KQ" annotatedElement="_3_aSva8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__gujcK8kEdqRKeAGm8hhTw" name="StateMachine">

+    <ownedComment xmi:id="__gujca8kEdqRKeAGm8hhTw" annotatedElement="__gujcK8kEdqRKeAGm8hhTw">

       <body>A state machine owns one or more regions, which in turn own vertices and transitions.

 

 The behaviored classifier context owning a state machine defines which signal and call triggers are defined for the state machine, and which attributes and operations are available in activities of the state machine. Signal triggers and call triggers for the state machine are defined according to the receptions and operations of this classifier.

@@ -7538,95 +7538,95 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3_aSv68aEdqf6aL57Hh6KQ" name="classifier_context" constrainedElement="_3_aSva8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aSwK8aEdqf6aL57Hh6KQ" annotatedElement="_3_aSv68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gujcq8kEdqRKeAGm8hhTw" name="classifier_context" constrainedElement="__gujcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujc68kEdqRKeAGm8hhTw" annotatedElement="__gujcq8kEdqRKeAGm8hhTw">

         <body>The classifier context of a state machine cannot be an interface.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aSwa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujdK8kEdqRKeAGm8hhTw" language="OCL">

         <body>context->notEmpty() implies not context.oclIsKindOf(Interface)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_aSwq8aEdqf6aL57Hh6KQ" name="context_classifier" constrainedElement="_3_aSva8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aSw68aEdqf6aL57Hh6KQ" annotatedElement="_3_aSwq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gujda8kEdqRKeAGm8hhTw" name="context_classifier" constrainedElement="__gujcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujdq8kEdqRKeAGm8hhTw" annotatedElement="__gujda8kEdqRKeAGm8hhTw">

         <body>The context classifier of the method state machine of a behavioral feature must be the classifier that owns the behavioral feature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aSxK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujd68kEdqRKeAGm8hhTw" language="OCL">

         <body>specification->notEmpty() implies (context->notEmpty() and specification->featuringClassifier->exists (c | c = context))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_aSxa8aEdqf6aL57Hh6KQ" name="connection_points" constrainedElement="_3_aSva8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aSxq8aEdqf6aL57Hh6KQ" annotatedElement="_3_aSxa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gujeK8kEdqRKeAGm8hhTw" name="connection_points" constrainedElement="__gujcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujea8kEdqRKeAGm8hhTw" annotatedElement="__gujeK8kEdqRKeAGm8hhTw">

         <body>The connection points of a state machine are pseudostates of kind entry point or exit point.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aSx68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujeq8kEdqRKeAGm8hhTw" language="OCL">

         <body>conectionPoint->forAll (c | c.kind = #entryPoint or c.kind = #exitPoint)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_aSyK8aEdqf6aL57Hh6KQ" name="method" constrainedElement="_3_aSva8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aSya8aEdqf6aL57Hh6KQ" annotatedElement="_3_aSyK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__guje68kEdqRKeAGm8hhTw" name="method" constrainedElement="__gujcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujfK8kEdqRKeAGm8hhTw" annotatedElement="__guje68kEdqRKeAGm8hhTw">

         <body>A state machine as the method for a behavioral feature cannot have entry/exit connection points.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aSyq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujfa8kEdqRKeAGm8hhTw" language="OCL">

         <body>specification->notEmpty() implies connectionPoint->isEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_aSy68aEdqf6aL57Hh6KQ" general="_TUPtYGveEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_3_aSzK8aEdqf6aL57Hh6KQ" name="region" type="_3_tNvK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3_2-pK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_aSza8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_aSzq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__gujfq8kEdqRKeAGm8hhTw" general="_TUPtYGveEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__gujf68kEdqRKeAGm8hhTw" name="region" type="__hCFnK8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__hLPdq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__gujgK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__gujga8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_aSz68aEdqf6aL57Hh6KQ" annotatedElement="_3_aSzK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__gujgq8kEdqRKeAGm8hhTw" annotatedElement="__gujf68kEdqRKeAGm8hhTw">

         <body>The regions owned directly by the state machine.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_aS0K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_aS0a8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gujg68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gujhK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_aS0q8aEdqf6aL57Hh6KQ" name="connectionPoint" type="_3_kEnq8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3_2-pq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_aS068aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_aS1K8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__gujha8kEdqRKeAGm8hhTw" name="connectionPoint" type="__g4U3q8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__hLPeK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__gujhq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__gujh68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_aS1a8aEdqf6aL57Hh6KQ" annotatedElement="_3_aS0q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__gujiK8kEdqRKeAGm8hhTw" annotatedElement="__gujha8kEdqRKeAGm8hhTw">

         <body>The connection points defined for this state machine. They represent the interface of the state machine when used as part of submachine state.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_aS1q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_aS168aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gujia8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gujiq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_aS2K8aEdqf6aL57Hh6KQ" name="extendedStateMachine" type="_3_aSva8aEdqf6aL57Hh6KQ" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_3_2-r68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aS2a8aEdqf6aL57Hh6KQ" annotatedElement="_3_aS2K8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__guji68kEdqRKeAGm8hhTw" name="extendedStateMachine" type="__gujcK8kEdqRKeAGm8hhTw" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__hLPga8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujjK8kEdqRKeAGm8hhTw" annotatedElement="__guji68kEdqRKeAGm8hhTw">

         <body>The state machines of which this is an extension.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_aS2q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_aS268aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gujja8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gujjq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_aS3K8aEdqf6aL57Hh6KQ" name="submachineState" type="_3_kDoK8aEdqf6aL57Hh6KQ" association="_3_tOMq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aS3a8aEdqf6aL57Hh6KQ" annotatedElement="_3_aS3K8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__gujj68kEdqRKeAGm8hhTw" name="submachineState" type="__gujr68kEdqRKeAGm8hhTw" association="__hLPYa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujkK8kEdqRKeAGm8hhTw" annotatedElement="__gujj68kEdqRKeAGm8hhTw">

         <body>References the submachine(s) in case of a submachine state. Multiple machines are referenced in case of a concurrent state.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_aS3q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_aS368aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gujka8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gujkq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_3_aS4K8aEdqf6aL57Hh6KQ" name="LCA" type="_ZiwkoGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="_3_aS468aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_aS4a8aEdqf6aL57Hh6KQ" source="keywords"/>

-      <ownedComment xmi:id="_3_aS4q8aEdqf6aL57Hh6KQ" annotatedElement="_3_aS4K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gujk68kEdqRKeAGm8hhTw" name="LCA" type="_ZiwkoGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="__gujlq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__gujlK8kEdqRKeAGm8hhTw" source="keywords"/>

+      <ownedComment xmi:id="__gujla8kEdqRKeAGm8hhTw" annotatedElement="__gujk68kEdqRKeAGm8hhTw">

         <body>The operation LCA(s1,s2) returns an orthogonal state or region which is the least common ancestor of states s1 and s2, based on the statemachine containment hierarchy.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_aS468aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_aS4K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aS5K8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gujlq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gujk68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujl68kEdqRKeAGm8hhTw" language="OCL">

           <body>true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_aS5a8aEdqf6aL57Hh6KQ" type="_ZiwkoGwLEdq7X4sGURiZYA" direction="return"/>

-      <ownedParameter xmi:id="_3_aS5q8aEdqf6aL57Hh6KQ" name="s1" type="_3_kDoK8aEdqf6aL57Hh6KQ"/>

-      <ownedParameter xmi:id="_3_aS568aEdqf6aL57Hh6KQ" name="s2" type="_3_kDoK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__gujmK8kEdqRKeAGm8hhTw" type="_ZiwkoGwLEdq7X4sGURiZYA" direction="return"/>

+      <ownedParameter xmi:id="__gujma8kEdqRKeAGm8hhTw" name="s1" type="__gujr68kEdqRKeAGm8hhTw"/>

+      <ownedParameter xmi:id="__gujmq8kEdqRKeAGm8hhTw" name="s2" type="__gujr68kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_aS6K8aEdqf6aL57Hh6KQ" name="ancestor" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3_aS6q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aS6a8aEdqf6aL57Hh6KQ" annotatedElement="_3_aS6K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gujm68kEdqRKeAGm8hhTw" name="ancestor" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__gujna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujnK8kEdqRKeAGm8hhTw" annotatedElement="__gujm68kEdqRKeAGm8hhTw">

         <body>The query ancestor(s1, s2) checks whether s2 is an ancestor state of state s1. context StateMachine::ancestor (s1 : State, s2 : State) : Boolean

 

 </body>

       </ownedComment>

-      <ownedRule xmi:id="_3_aS6q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_aS6K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aS668aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gujna8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gujm68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujnq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if (s2 = s1) then

 true

 else if (s1.container->isEmpty) then

@@ -7636,87 +7636,87 @@
 else (ancestor (s1, s2.container))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_aS7K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_3_aS7a8aEdqf6aL57Hh6KQ" name="s1" type="_3_kDoK8aEdqf6aL57Hh6KQ"/>

-      <ownedParameter xmi:id="_3_aS7q8aEdqf6aL57Hh6KQ" name="s2" type="_3_kDoK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__gujn68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__gujoK8kEdqRKeAGm8hhTw" name="s1" type="__gujr68kEdqRKeAGm8hhTw"/>

+      <ownedParameter xmi:id="__gujoa8kEdqRKeAGm8hhTw" name="s2" type="__gujr68kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_aS768aEdqf6aL57Hh6KQ" name="isRedefinitionContextValid" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33g6-68aEdqf6aL57Hh6KQ" bodyCondition="_3_aS8a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_aS8K8aEdqf6aL57Hh6KQ" annotatedElement="_3_aS768aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gujoq8kEdqRKeAGm8hhTw" name="isRedefinitionContextValid" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf268kEdqRKeAGm8hhTw" bodyCondition="__gujpK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujo68kEdqRKeAGm8hhTw" annotatedElement="__gujoq8kEdqRKeAGm8hhTw">

         <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a statemachine are properly related to the redefinition contexts of the specified statemachine to allow this element to redefine the other. The containing classifier of a redefining statemachine must redefine the containing classifier of the redefined statemachine.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_aS8a8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_aS768aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aS8q8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gujpK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gujoq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujpa8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_aS868aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_3_aS9K8aEdqf6aL57Hh6KQ" name="redefined" type="_3_aSva8aEdqf6aL57Hh6KQ" effect="read"/>

+      <returnResult xmi:id="__gujpq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__gujp68kEdqRKeAGm8hhTw" name="redefined" type="__gujcK8kEdqRKeAGm8hhTw" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_aS9a8aEdqf6aL57Hh6KQ" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33g69a8aEdqf6aL57Hh6KQ" bodyCondition="_3_aS-K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_aS9q8aEdqf6aL57Hh6KQ" source="keywords"/>

-      <ownedComment xmi:id="_3_aS968aEdqf6aL57Hh6KQ" annotatedElement="_3_aS9a8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gujqK8kEdqRKeAGm8hhTw" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf1a8kEdqRKeAGm8hhTw" bodyCondition="__gujq68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__gujqa8kEdqRKeAGm8hhTw" source="keywords"/>

+      <ownedComment xmi:id="__gujqq8kEdqRKeAGm8hhTw" annotatedElement="__gujqK8kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies that a redefining state machine is consistent with a redefined state machine provided that the redefining state machine is an extension of the redefined state machine: Regions are inherited and regions can be added, inherited regions can be redefined. In case of multiple redefining state machines, extension implies that the redefining state machine gets orthogonal regions for each of the redefined state machines.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_aS-K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_aS9a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_aS-a8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gujq68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gujqK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujrK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_aS-q8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_3_aS-68aEdqf6aL57Hh6KQ" name="redefinee" type="_33g64K8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__gujra8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__gujrq8kEdqRKeAGm8hhTw" name="redefinee" type="__YYfwK8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_kEMK8aEdqf6aL57Hh6KQ" name="Transition">

-    <ownedComment xmi:id="_3_kEMa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEMK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__g4UcK8kEdqRKeAGm8hhTw" name="Transition">

+    <ownedComment xmi:id="__g4Uca8kEdqRKeAGm8hhTw" annotatedElement="__g4UcK8kEdqRKeAGm8hhTw">

       <body>A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_kEMq8aEdqf6aL57Hh6KQ" name="fork_segment_guards" constrainedElement="_3_kEMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEM68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEMq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4Ucq8kEdqRKeAGm8hhTw" name="fork_segment_guards" constrainedElement="__g4UcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Uc68kEdqRKeAGm8hhTw" annotatedElement="__g4Ucq8kEdqRKeAGm8hhTw">

         <body>A fork segment must not have guards or triggers.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kENK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4UdK8kEdqRKeAGm8hhTw" language="OCL">

         <body>(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (guard->isEmpty() and trigger->isEmpty())</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kENa8aEdqf6aL57Hh6KQ" name="join_segment_guards" constrainedElement="_3_kEMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kENq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kENa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4Uda8kEdqRKeAGm8hhTw" name="join_segment_guards" constrainedElement="__g4UcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Udq8kEdqRKeAGm8hhTw" annotatedElement="__g4Uda8kEdqRKeAGm8hhTw">

         <body>A join segment must not have guards or triggers.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEN68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4Ud68kEdqRKeAGm8hhTw" language="OCL">

         <body>(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (guard->isEmpty() and trigger->isEmpty())</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEOK8aEdqf6aL57Hh6KQ" name="fork_segment_state" constrainedElement="_3_kEMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEOa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEOK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4UeK8kEdqRKeAGm8hhTw" name="fork_segment_state" constrainedElement="__g4UcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Uea8kEdqRKeAGm8hhTw" annotatedElement="__g4UeK8kEdqRKeAGm8hhTw">

         <body>A fork segment must always target a state.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEOq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4Ueq8kEdqRKeAGm8hhTw" language="OCL">

         <body>(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (target.oclIsKindOf(State))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEO68aEdqf6aL57Hh6KQ" name="join_segment_state" constrainedElement="_3_kEMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEPK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEO68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4Ue68kEdqRKeAGm8hhTw" name="join_segment_state" constrainedElement="__g4UcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4UfK8kEdqRKeAGm8hhTw" annotatedElement="__g4Ue68kEdqRKeAGm8hhTw">

         <body>A join segment must always originate from a state.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEPa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4Ufa8kEdqRKeAGm8hhTw" language="OCL">

         <body>(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (source.oclIsKindOf(State))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEPq8aEdqf6aL57Hh6KQ" name="outgoing_pseudostates" constrainedElement="_3_kEMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEP68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEPq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4Ufq8kEdqRKeAGm8hhTw" name="outgoing_pseudostates" constrainedElement="__g4UcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Uf68kEdqRKeAGm8hhTw" annotatedElement="__g4Ufq8kEdqRKeAGm8hhTw">

         <body>Transitions outgoing pseudostates may not have a trigger.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEQK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4UgK8kEdqRKeAGm8hhTw" language="OCL">

         <body>source.oclIsKindOf(Pseudostate) and

 ((source.kind &lt;> #junction) and (source.kind &lt;> #join) and (source.kind &lt;> #initial)) implies trigger->isEmpty()

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEQa8aEdqf6aL57Hh6KQ" name="initial_transition" constrainedElement="_3_kEMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEQq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEQa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4Uga8kEdqRKeAGm8hhTw" name="initial_transition" constrainedElement="__g4UcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Ugq8kEdqRKeAGm8hhTw" annotatedElement="__g4Uga8kEdqRKeAGm8hhTw">

         <body>An initial transition at the topmost level (region of a statemachine) either has no trigger or it has a trigger with the stereotype “create”.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEQ68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4Ug68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.source.oclIsKindOf(Pseudostate) implies

 (self.source.oclAsType(Pseudostate).kind = #initial) implies

 (self.source.container = self.stateMachine.top) implies

@@ -7725,101 +7725,101 @@
 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kERK8aEdqf6aL57Hh6KQ" name="signatures_compatible" constrainedElement="_3_kEMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kERa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kERK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4UhK8kEdqRKeAGm8hhTw" name="signatures_compatible" constrainedElement="__g4UcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Uha8kEdqRKeAGm8hhTw" annotatedElement="__g4UhK8kEdqRKeAGm8hhTw">

         <body>In case of more than one trigger, the signatures of these must be compatible in case the parameters of the signal are assigned to local variables/attributes.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kERq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4Uhq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_kER68aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3_kESK8aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_3_kESa8aEdqf6aL57Hh6KQ" name="kind" type="_3_tOHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kESq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kESa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__g4Uh68kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__g4UiK8kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__g4Uia8kEdqRKeAGm8hhTw" name="kind" type="__hCF_q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Uiq8kEdqRKeAGm8hhTw" annotatedElement="__g4Uia8kEdqRKeAGm8hhTw">

         <body>Indicates  the precise type of the transition.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_3_kES68aEdqf6aL57Hh6KQ" type="_3_tOHq8aEdqf6aL57Hh6KQ" instance="_3_tOKq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__g4Ui68kEdqRKeAGm8hhTw" type="__hCF_q8kEdqRKeAGm8hhTw" instance="__hCGCq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kETK8aEdqf6aL57Hh6KQ" name="container" type="_3_tNvK8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_3_tOLq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_kETa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kETq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__g4UjK8kEdqRKeAGm8hhTw" name="container" type="__hCFnK8kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__hCGDq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__g4Uja8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__g4Ujq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kET68aEdqf6aL57Hh6KQ" annotatedElement="_3_kETK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__g4Uj68kEdqRKeAGm8hhTw" annotatedElement="__g4UjK8kEdqRKeAGm8hhTw">

         <body>Designates the region that owns this transition.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEUK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEUa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4UkK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4Uka8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEUq8aEdqf6aL57Hh6KQ" name="source" type="_3_kEiK8aEdqf6aL57Hh6KQ" association="_3_tOMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEU68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEUq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__g4Ukq8kEdqRKeAGm8hhTw" name="source" type="__g4UyK8kEdqRKeAGm8hhTw" association="__hCGEK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Uk68kEdqRKeAGm8hhTw" annotatedElement="__g4Ukq8kEdqRKeAGm8hhTw">

         <body>Designates the originating vertex (state or pseudostate) of the transition.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEVK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEVa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4UlK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4Ula8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEVq8aEdqf6aL57Hh6KQ" name="target" type="_3_kEiK8aEdqf6aL57Hh6KQ" association="_3_tOMa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEV68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEVq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__g4Ulq8kEdqRKeAGm8hhTw" name="target" type="__g4UyK8kEdqRKeAGm8hhTw" association="__hLPYK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Ul68kEdqRKeAGm8hhTw" annotatedElement="__g4Ulq8kEdqRKeAGm8hhTw">

         <body>Designates the target vertex that is reached when the transition is taken.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEWK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEWa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4UmK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4Uma8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEWq8aEdqf6aL57Hh6KQ" name="redefinedTransition" type="_3_kEMK8aEdqf6aL57Hh6KQ" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_3_2-m68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEW68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEWq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__g4Umq8kEdqRKeAGm8hhTw" name="redefinedTransition" type="__g4UcK8kEdqRKeAGm8hhTw" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__hLPba8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Um68kEdqRKeAGm8hhTw" annotatedElement="__g4Umq8kEdqRKeAGm8hhTw">

         <body>The transition that is redefined by this transition.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEXK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEXa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4UnK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4Una8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEXq8aEdqf6aL57Hh6KQ" name="guard" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKHa8aEdqf6aL57Hh6KQ" association="_3_2-tK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kEX68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kEYK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__g4Unq8kEdqRKeAGm8hhTw" name="guard" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YPV_a8kEdqRKeAGm8hhTw" association="__hLPhq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__g4Un68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__g4UoK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kEYa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEXq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__g4Uoa8kEdqRKeAGm8hhTw" annotatedElement="__g4Unq8kEdqRKeAGm8hhTw">

         <body>A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEYq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEY68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4Uoq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4Uo68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEZK8aEdqf6aL57Hh6KQ" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_3_2-w68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_kEZa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kEZq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__g4UpK8kEdqRKeAGm8hhTw" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__hLPla8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__g4Upa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__g4Upq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kEZ68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEZK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__g4Up68kEdqRKeAGm8hhTw" annotatedElement="__g4UpK8kEdqRKeAGm8hhTw">

         <body>References the classifier in which context this element may be redefined.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEaK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEaa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4UqK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4Uqa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEaq8aEdqf6aL57Hh6KQ" name="effect" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3_2-za8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kEa68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kEbK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__g4Uqq8kEdqRKeAGm8hhTw" name="effect" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__hLPn68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__g4Uq68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__g4UrK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kEba8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEaq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__g4Ura8kEdqRKeAGm8hhTw" annotatedElement="__g4Uqq8kEdqRKeAGm8hhTw">

         <body>Specifies an optional behavior to be performed when the transition fires.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEbq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEb68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4Urq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4Ur68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEcK8aEdqf6aL57Hh6KQ" name="trigger" type="_39njHa8aEdqf6aL57Hh6KQ" association="_3_2-468aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kEca8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kEcq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__g4UsK8kEdqRKeAGm8hhTw" name="trigger" type="__dwIMq8kEdqRKeAGm8hhTw" association="__hLPta8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__g4Usa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__g4Usq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kEc68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEcK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__g4Us68kEdqRKeAGm8hhTw" annotatedElement="__g4UsK8kEdqRKeAGm8hhTw">

         <body>Specifies the triggers that may fire the transition.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEdK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEda8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4UtK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4Uta8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_3_kEdq8aEdqf6aL57Hh6KQ" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="_3_kEeK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEd68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEdq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__g4Utq8kEdqRKeAGm8hhTw" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="__g4UuK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4Ut68kEdqRKeAGm8hhTw" annotatedElement="__g4Utq8kEdqRKeAGm8hhTw">

         <body>The redefinition context of a transition is the nearest containing statemachine.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEeK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEdq8aEdqf6aL57Hh6KQ _3_kEZK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEea8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__g4UuK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__g4Utq8kEdqRKeAGm8hhTw __g4UpK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4Uua8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = let sm = containingStateMachine() in

 if sm.context->isEmpty() or sm.general->notEmpty() then

 sm

@@ -7828,14 +7828,14 @@
 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEeq8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>

+      <returnResult xmi:id="__g4Uuq8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEe68aEdqf6aL57Hh6KQ" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_3_kEf68aEdqf6aL57Hh6KQ" redefinedOperation="_33g69a8aEdqf6aL57Hh6KQ" bodyCondition="_3_kEfa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEfK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEe68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__g4Uu68kEdqRKeAGm8hhTw" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__g4Uv68kEdqRKeAGm8hhTw" redefinedOperation="__YYf1a8kEdqRKeAGm8hhTw" bodyCondition="__g4Uva8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4UvK8kEdqRKeAGm8hhTw" annotatedElement="__g4Uu68kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies that a redefining transition is consistent with a redefined transition provided that the redefining transition has the following relation to the redefined transition: A redefining transition redefines all properties of the corresponding redefined transition, except the source state and the trigger.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEfa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEe68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEfq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__g4Uva8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__g4Uu68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4Uvq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (redefinee.oclIsKindOf(Transition) and

 

   let trans: Transition = redefinee.oclAsType(Transition) in

@@ -7843,61 +7843,61 @@
     (source() = trans.source() and trigger() = tran.trigger())</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_3_kEf68aEdqf6aL57Hh6KQ" constrainedElement="_3_kEe68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEgK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__g4Uv68kEdqRKeAGm8hhTw" constrainedElement="__g4Uu68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4UwK8kEdqRKeAGm8hhTw" language="OCL">

           <body>redefinee.isRedefinitionContextValid(self)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEga8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_3_kEgq8aEdqf6aL57Hh6KQ" name="redefinee" type="_33g64K8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__g4Uwa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__g4Uwq8kEdqRKeAGm8hhTw" name="redefinee" type="__YYfwK8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEg68aEdqf6aL57Hh6KQ" name="containingStateMachine" type="_3_aSva8aEdqf6aL57Hh6KQ" isQuery="true" bodyCondition="_3_kEha8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEhK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEg68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__g4Uw68kEdqRKeAGm8hhTw" name="containingStateMachine" type="__gujcK8kEdqRKeAGm8hhTw" isQuery="true" bodyCondition="__g4Uxa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4UxK8kEdqRKeAGm8hhTw" annotatedElement="__g4Uw68kEdqRKeAGm8hhTw">

         <body>The query containingStateMachine() returns the state machine that contains the transition either directly or transitively.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEha8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEg68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEhq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__g4Uxa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__g4Uw68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4Uxq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = container.containingStateMachine()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEh68aEdqf6aL57Hh6KQ" type="_3_aSva8aEdqf6aL57Hh6KQ" direction="return"/>

+      <returnResult xmi:id="__g4Ux68kEdqRKeAGm8hhTw" type="__gujcK8kEdqRKeAGm8hhTw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_kEiK8aEdqf6aL57Hh6KQ" name="Vertex" isAbstract="true">

-    <ownedComment xmi:id="_3_kEia8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEiK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__g4UyK8kEdqRKeAGm8hhTw" name="Vertex" isAbstract="true">

+    <ownedComment xmi:id="__g4Uya8kEdqRKeAGm8hhTw" annotatedElement="__g4UyK8kEdqRKeAGm8hhTw">

       <body>A vertex is an abstraction of a node in a state machine graph. In general, it can be the source or destination of any number of transitions.</body>

     </ownedComment>

-    <generalization xmi:id="_3_kEiq8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_3_kEi68aEdqf6aL57Hh6KQ" name="container" type="_3_tNvK8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_3_tOLK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_kEjK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kEja8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__g4Uyq8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__g4Uy68kEdqRKeAGm8hhTw" name="container" type="__hCFnK8kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__hCGDK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__g4UzK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__g4Uza8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kEjq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEi68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__g4Uzq8kEdqRKeAGm8hhTw" annotatedElement="__g4Uy68kEdqRKeAGm8hhTw">

         <body>The region that contains this vertex.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEj68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEkK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4Uz68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4U0K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEka8aEdqf6aL57Hh6KQ" name="outgoing" type="_3_kEMK8aEdqf6aL57Hh6KQ" association="_3_tOMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEkq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEka8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__g4U0a8kEdqRKeAGm8hhTw" name="outgoing" type="__g4UcK8kEdqRKeAGm8hhTw" association="__hCGEK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U0q8kEdqRKeAGm8hhTw" annotatedElement="__g4U0a8kEdqRKeAGm8hhTw">

         <body>Specifies the transitions departing from this vertex.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEk68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kElK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4U068kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4U1K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEla8aEdqf6aL57Hh6KQ" name="incoming" type="_3_kEMK8aEdqf6aL57Hh6KQ" association="_3_tOMa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kElq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEla8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__g4U1a8kEdqRKeAGm8hhTw" name="incoming" type="__g4UcK8kEdqRKeAGm8hhTw" association="__hLPYK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U1q8kEdqRKeAGm8hhTw" annotatedElement="__g4U1a8kEdqRKeAGm8hhTw">

         <body>Specifies the transitions entering this vertex.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEl68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEmK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4U168kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4U2K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_3_kEma8aEdqf6aL57Hh6KQ" name="containingStateMachine" type="_3_aSva8aEdqf6aL57Hh6KQ" isQuery="true" bodyCondition="_3_kEm68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEmq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEma8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__g4U2a8kEdqRKeAGm8hhTw" name="containingStateMachine" type="__gujcK8kEdqRKeAGm8hhTw" isQuery="true" bodyCondition="__g4U268kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U2q8kEdqRKeAGm8hhTw" annotatedElement="__g4U2a8kEdqRKeAGm8hhTw">

         <body>The operation containingStateMachine() returns the state machine in which this Vertex is defined</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEm68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEma8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEnK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__g4U268kEdqRKeAGm8hhTw" name="spec" constrainedElement="__g4U2a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U3K8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if not container->isEmpty()

 then

 -- the container is a region

@@ -7912,272 +7912,272 @@
 </body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEna8aEdqf6aL57Hh6KQ" type="_3_aSva8aEdqf6aL57Hh6KQ" direction="return"/>

+      <returnResult xmi:id="__g4U3a8kEdqRKeAGm8hhTw" type="__gujcK8kEdqRKeAGm8hhTw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_kEnq8aEdqf6aL57Hh6KQ" name="Pseudostate">

-    <ownedComment xmi:id="_3_kEn68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__g4U3q8kEdqRKeAGm8hhTw" name="Pseudostate">

+    <ownedComment xmi:id="__g4U368kEdqRKeAGm8hhTw" annotatedElement="__g4U3q8kEdqRKeAGm8hhTw">

       <body>Pseudostates are typically used to connect multiple transitions into more complex state transitions paths. For example, by combining a transition entering a fork pseudostate with a set of transitions exiting the fork pseudostate, we get a compound transition that leads to a set of orthogonal target states.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_kEoK8aEdqf6aL57Hh6KQ" name="initial_vertex" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEoa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEoK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U4K8kEdqRKeAGm8hhTw" name="initial_vertex" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U4a8kEdqRKeAGm8hhTw" annotatedElement="__g4U4K8kEdqRKeAGm8hhTw">

         <body>An initial vertex can have at most one outgoing transition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEoq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U4q8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.kind = #initial) implies (self.outgoing->size &lt;= 1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEo68aEdqf6aL57Hh6KQ" name="history_vertices" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEpK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEo68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U468kEdqRKeAGm8hhTw" name="history_vertices" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U5K8kEdqRKeAGm8hhTw" annotatedElement="__g4U468kEdqRKeAGm8hhTw">

         <body>History vertices can have at most one outgoing transition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEpa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U5a8kEdqRKeAGm8hhTw" language="OCL">

         <body>((self.kind = #deepHistory) or (self.kind = #shallowHistory)) implies

 (self.outgoing->size &lt;= 1)

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEpq8aEdqf6aL57Hh6KQ" name="join_vertex" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEp68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEpq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U5q8kEdqRKeAGm8hhTw" name="join_vertex" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U568kEdqRKeAGm8hhTw" annotatedElement="__g4U5q8kEdqRKeAGm8hhTw">

         <body>In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEqK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U6K8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.kind = #join) implies

 ((self.outgoing->size = 1) and (self.incoming->size >= 2))

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEqa8aEdqf6aL57Hh6KQ" name="transitions_incoming" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEqq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEqa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U6a8kEdqRKeAGm8hhTw" name="transitions_incoming" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U6q8kEdqRKeAGm8hhTw" annotatedElement="__g4U6a8kEdqRKeAGm8hhTw">

         <body>All transitions incoming a join vertex must originate in different regions of an orthogonal state.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEq68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U668kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.kind = #join) implies

   self.incoming->forAll (t1, t2 | t1&lt;>t2 implies

     (self.stateMachine.LCA(t1.source, t2.source).container.isOrthogonal))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kErK8aEdqf6aL57Hh6KQ" name="fork_vertex" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEra8aEdqf6aL57Hh6KQ" annotatedElement="_3_kErK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U7K8kEdqRKeAGm8hhTw" name="fork_vertex" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U7a8kEdqRKeAGm8hhTw" annotatedElement="__g4U7K8kEdqRKeAGm8hhTw">

         <body>In a complete statemachine, a fork vertex must have at least two outgoing transitions and exactly one incoming transition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kErq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U7q8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.kind = #fork) implies

 ((self.incoming->size = 1) and (self.outgoing->size >= 2))

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEr68aEdqf6aL57Hh6KQ" name="transitions_outgoing" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEsK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEr68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U768kEdqRKeAGm8hhTw" name="transitions_outgoing" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U8K8kEdqRKeAGm8hhTw" annotatedElement="__g4U768kEdqRKeAGm8hhTw">

         <body>All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEsa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U8a8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.kind = #fork) implies

   self.outgoing->forAll (t1, t2 | t1&lt;>t2 implies

     (self.stateMachine.LCA(t1.target, t2.target).container.isOrthogonal))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEsq8aEdqf6aL57Hh6KQ" name="junction_vertex" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEs68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEsq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U8q8kEdqRKeAGm8hhTw" name="junction_vertex" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U868kEdqRKeAGm8hhTw" annotatedElement="__g4U8q8kEdqRKeAGm8hhTw">

         <body>In a complete statemachine, a junction vertex must have at least one incoming and one outgoing transition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEtK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U9K8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.kind = #junction) implies

 ((self.incoming->size >= 1) and (self.outgoing->size >= 1))

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEta8aEdqf6aL57Hh6KQ" name="choice_vertex" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEtq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEta8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U9a8kEdqRKeAGm8hhTw" name="choice_vertex" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U9q8kEdqRKeAGm8hhTw" annotatedElement="__g4U9a8kEdqRKeAGm8hhTw">

         <body>In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEt68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U968kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.kind = #choice) implies

 ((self.incoming->size >= 1) and (self.outgoing->size >= 1))

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kEuK8aEdqf6aL57Hh6KQ" name="outgoing_from_initial" constrainedElement="_3_kEnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEua8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEuK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__g4U-K8kEdqRKeAGm8hhTw" name="outgoing_from_initial" constrainedElement="__g4U3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U-a8kEdqRKeAGm8hhTw" annotatedElement="__g4U-K8kEdqRKeAGm8hhTw">

         <body>The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEuq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__g4U-q8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.kind = #initial) implies (self.outgoing.guard->isEmpty()

 

   and self.outgoing.trigger->isEmpty())</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_kEu68aEdqf6aL57Hh6KQ" general="_3_kEiK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_kEvK8aEdqf6aL57Hh6KQ" name="kind" type="_3_tOCK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEva8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEvK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__g4U-68kEdqRKeAGm8hhTw" general="__g4UyK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__g4U_K8kEdqRKeAGm8hhTw" name="kind" type="__hCF6K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__g4U_a8kEdqRKeAGm8hhTw" annotatedElement="__g4U_K8kEdqRKeAGm8hhTw">

         <body>Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_3_kEvq8aEdqf6aL57Hh6KQ" type="_3_tOCK8aEdqf6aL57Hh6KQ" instance="_3_tOCq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__g4U_q8kEdqRKeAGm8hhTw" type="__hCF6K8kEdqRKeAGm8hhTw" instance="__hCF6q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEv68aEdqf6aL57Hh6KQ" name="stateMachine" type="_3_aSva8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_3_2-pq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_kEwK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kEwa8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__g4U_68kEdqRKeAGm8hhTw" name="stateMachine" type="__gujcK8kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__hLPeK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__g4VAK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__g4VAa8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kEwq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEv68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__g4VAq8kEdqRKeAGm8hhTw" annotatedElement="__g4U_68kEdqRKeAGm8hhTw">

         <body>The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEw68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kExK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4VA68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4VBK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kExa8aEdqf6aL57Hh6KQ" name="state" type="_3_kDoK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_3_2-4a8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_kExq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kEx68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__g4VBa8kEdqRKeAGm8hhTw" name="state" type="__gujr68kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__hLPs68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__g4VBq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__g4VB68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kEyK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kExa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__g4VCK8kEdqRKeAGm8hhTw" annotatedElement="__g4VBa8kEdqRKeAGm8hhTw">

         <body>The State that owns this pseudostate and in which it appears.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEya8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEyq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__g4VCa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__g4VCq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_tNkK8aEdqf6aL57Hh6KQ" name="FinalState">

-    <ownedComment xmi:id="_3_tNka8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNkK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hCFcK8kEdqRKeAGm8hhTw" name="FinalState">

+    <ownedComment xmi:id="__hCFca8kEdqRKeAGm8hhTw" annotatedElement="__hCFcK8kEdqRKeAGm8hhTw">

       <body>A special kind of state signifying that the enclosing region is completed. If the enclosing region is directly contained in a state machine and all other regions in the state machine also are completed, then it means that the entire state machine is completed.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_tNkq8aEdqf6aL57Hh6KQ" name="no_outgoing_transitions" constrainedElement="_3_tNkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNk68aEdqf6aL57Hh6KQ" annotatedElement="_3_tNkq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFcq8kEdqRKeAGm8hhTw" name="no_outgoing_transitions" constrainedElement="__hCFcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFc68kEdqRKeAGm8hhTw" annotatedElement="__hCFcq8kEdqRKeAGm8hhTw">

         <body>A final state cannot have any outgoing transitions.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNlK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFdK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.outgoing->size() = 0</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNla8aEdqf6aL57Hh6KQ" name="no_regions" constrainedElement="_3_tNkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNlq8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNla8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFda8kEdqRKeAGm8hhTw" name="no_regions" constrainedElement="__hCFcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFdq8kEdqRKeAGm8hhTw" annotatedElement="__hCFda8kEdqRKeAGm8hhTw">

         <body>A final state cannot have regions.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNl68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFd68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.region->size() = 0</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNmK8aEdqf6aL57Hh6KQ" name="cannot_reference_submachine" constrainedElement="_3_tNkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNma8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNmK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFeK8kEdqRKeAGm8hhTw" name="cannot_reference_submachine" constrainedElement="__hCFcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFea8kEdqRKeAGm8hhTw" annotatedElement="__hCFeK8kEdqRKeAGm8hhTw">

         <body>A final state cannot reference a submachine.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNmq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFeq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.submachine->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNm68aEdqf6aL57Hh6KQ" name="no_entry_behavior" constrainedElement="_3_tNkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNnK8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNm68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFe68kEdqRKeAGm8hhTw" name="no_entry_behavior" constrainedElement="__hCFcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFfK8kEdqRKeAGm8hhTw" annotatedElement="__hCFe68kEdqRKeAGm8hhTw">

         <body>A final state has no entry behavior.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNna8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFfa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.entry->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNnq8aEdqf6aL57Hh6KQ" name="no_exit_behavior" constrainedElement="_3_tNkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNn68aEdqf6aL57Hh6KQ" annotatedElement="_3_tNnq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFfq8kEdqRKeAGm8hhTw" name="no_exit_behavior" constrainedElement="__hCFcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFf68kEdqRKeAGm8hhTw" annotatedElement="__hCFfq8kEdqRKeAGm8hhTw">

         <body>A final state has no exit behavior.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNoK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFgK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.exit->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNoa8aEdqf6aL57Hh6KQ" name="no_state_behavior" constrainedElement="_3_tNkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNoq8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNoa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFga8kEdqRKeAGm8hhTw" name="no_state_behavior" constrainedElement="__hCFcK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFgq8kEdqRKeAGm8hhTw" annotatedElement="__hCFga8kEdqRKeAGm8hhTw">

         <body>A final state has no state (doActivity) behavior.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNo68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFg68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.doActivity->isEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_tNpK8aEdqf6aL57Hh6KQ" general="_3_kDoK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hCFhK8kEdqRKeAGm8hhTw" general="__gujr68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_tNpa8aEdqf6aL57Hh6KQ" name="ConnectionPointReference">

-    <ownedComment xmi:id="_3_tNpq8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNpa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hCFha8kEdqRKeAGm8hhTw" name="ConnectionPointReference">

+    <ownedComment xmi:id="__hCFhq8kEdqRKeAGm8hhTw" annotatedElement="__hCFha8kEdqRKeAGm8hhTw">

       <body>Connection point references of a submachine state can be used as sources/targets of transitions. They represent entries into or exits out of the submachine state machine referenced by the submachine state.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_tNp68aEdqf6aL57Hh6KQ" name="entry_pseudostates" constrainedElement="_3_tNpa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNqK8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNp68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFh68kEdqRKeAGm8hhTw" name="entry_pseudostates" constrainedElement="__hCFha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFiK8kEdqRKeAGm8hhTw" annotatedElement="__hCFh68kEdqRKeAGm8hhTw">

         <body>The entry Pseudostates must be Pseudostates with kind entryPoint.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNqa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFia8kEdqRKeAGm8hhTw" language="OCL">

         <body>entry->notEmpty() implies entry->forAll(e | e.kind = #entryPoint)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNqq8aEdqf6aL57Hh6KQ" name="exit_pseudostates" constrainedElement="_3_tNpa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNq68aEdqf6aL57Hh6KQ" annotatedElement="_3_tNqq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFiq8kEdqRKeAGm8hhTw" name="exit_pseudostates" constrainedElement="__hCFha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFi68kEdqRKeAGm8hhTw" annotatedElement="__hCFiq8kEdqRKeAGm8hhTw">

         <body>The exit Pseudostates must be Pseudostates with kind exitPoint.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNrK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFjK8kEdqRKeAGm8hhTw" language="OCL">

         <body>exit->notEmpty() implies exit->forAll(e | e.kind = #exitPoint)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_tNra8aEdqf6aL57Hh6KQ" general="_3_kEiK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3_tNrq8aEdqf6aL57Hh6KQ" name="entry" type="_3_kEnq8aEdqf6aL57Hh6KQ" association="_3_2-kK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNr68aEdqf6aL57Hh6KQ" annotatedElement="_3_tNrq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hCFja8kEdqRKeAGm8hhTw" general="__g4UyK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hCFjq8kEdqRKeAGm8hhTw" name="entry" type="__g4U3q8kEdqRKeAGm8hhTw" association="__hLPYq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFj68kEdqRKeAGm8hhTw" annotatedElement="__hCFjq8kEdqRKeAGm8hhTw">

         <body>The entryPoint kind pseudo states corresponding to this connection point.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tNsK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tNsa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFkK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFka8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_tNsq8aEdqf6aL57Hh6KQ" name="state" type="_3_kDoK8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_3_2-lK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_tNs68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_tNtK8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__hCFkq8kEdqRKeAGm8hhTw" name="state" type="__gujr68kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__hLPZq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hCFk68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hCFlK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_tNta8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNsq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hCFla8kEdqRKeAGm8hhTw" annotatedElement="__hCFkq8kEdqRKeAGm8hhTw">

         <body>The State in which the connection point refreshens are defined.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tNtq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tNt68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFlq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFl68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_tNuK8aEdqf6aL57Hh6KQ" name="exit" type="_3_kEnq8aEdqf6aL57Hh6KQ" association="_3_2-oK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNua8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNuK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hCFmK8kEdqRKeAGm8hhTw" name="exit" type="__g4U3q8kEdqRKeAGm8hhTw" association="__hLPcq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFma8kEdqRKeAGm8hhTw" annotatedElement="__hCFmK8kEdqRKeAGm8hhTw">

         <body>The exitPoints kind pseudo states corresponding to this connection point.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tNuq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tNu68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFmq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFm68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_39njQq8aEdqf6aL57Hh6KQ" name="TimeEvent">

-    <ownedComment xmi:id="_39njQ68aEdqf6aL57Hh6KQ" annotatedElement="_39njQq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dwIV68kEdqRKeAGm8hhTw" name="TimeEvent">

+    <ownedComment xmi:id="__dwIWK8kEdqRKeAGm8hhTw" annotatedElement="__dwIV68kEdqRKeAGm8hhTw">

       <body>A time event specifies a point in time by an expression. The expression might be absolute or might be relative to some other point in time.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3_tOBK8aEdqf6aL57Hh6KQ" annotatedElement="_39njQq8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__hCF5K8kEdqRKeAGm8hhTw" annotatedElement="__dwIV68kEdqRKeAGm8hhTw">

       <body>Extends TimeEvent to be defined relative to entering the current state of the executing state machine.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_HYDa8aEdqf6aL57Hh6KQ" name="when_non_negative" constrainedElement="_39njQq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_HYDq8aEdqf6aL57Hh6KQ" annotatedElement="_3_HYDa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gboi68kEdqRKeAGm8hhTw" name="when_non_negative" constrainedElement="__dwIV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gbojK8kEdqRKeAGm8hhTw" annotatedElement="__gboi68kEdqRKeAGm8hhTw">

         <body>The ValueSpecification when must return a non-negative Integer.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_HYD68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gboja8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tOBa8aEdqf6aL57Hh6KQ" name="starting_time" constrainedElement="_39njQq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tOBq8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOBa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCF5a8kEdqRKeAGm8hhTw" name="starting_time" constrainedElement="__dwIV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCF5q8kEdqRKeAGm8hhTw" annotatedElement="__hCF5a8kEdqRKeAGm8hhTw">

         <body>The starting time for a relative time event may only be omitted for a time event that is the trigger of a state machine.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tOB68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCF568kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39njRK8aEdqf6aL57Hh6KQ" general="_39njWq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_39njRa8aEdqf6aL57Hh6KQ" name="isRelative" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_39njRq8aEdqf6aL57Hh6KQ" annotatedElement="_39njRa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dwIWa8kEdqRKeAGm8hhTw" general="__d54-a8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dwIWq8kEdqRKeAGm8hhTw" name="isRelative" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__dwIW68kEdqRKeAGm8hhTw" annotatedElement="__dwIWq8kEdqRKeAGm8hhTw">

         <body>Specifies whether it is relative or absolute time.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_39njR68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__dwIXK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39njSK8aEdqf6aL57Hh6KQ" name="when" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39xUAK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39njSa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39njSq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dwIXa8kEdqRKeAGm8hhTw" name="when" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__d55Ha8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dwIXq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dwIX68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39njS68aEdqf6aL57Hh6KQ" annotatedElement="_39njSK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dwIYK8kEdqRKeAGm8hhTw" annotatedElement="__dwIXa8kEdqRKeAGm8hhTw">

         <body>Specifies the corresponding time deadline.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_HYEK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_HYEa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gbojq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gboj68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_3_tOCK8aEdqf6aL57Hh6KQ" name="PseudostateKind">

-    <ownedComment xmi:id="_3_tOCa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOCK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__hCF6K8kEdqRKeAGm8hhTw" name="PseudostateKind">

+    <ownedComment xmi:id="__hCF6a8kEdqRKeAGm8hhTw" annotatedElement="__hCF6K8kEdqRKeAGm8hhTw">

       <body>PseudoStateKind is an enumeration of the following literal values:

 • initial

 • deepHistory

@@ -8191,265 +8191,265 @@
 • terminate

 </body>

     </ownedComment>

-    <ownedLiteral xmi:id="_3_tOCq8aEdqf6aL57Hh6KQ" name="initial">

-      <ownedComment xmi:id="_3_tOC68aEdqf6aL57Hh6KQ" annotatedElement="_3_tOCq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF6q8kEdqRKeAGm8hhTw" name="initial">

+      <ownedComment xmi:id="__hCF668kEdqRKeAGm8hhTw" annotatedElement="__hCF6q8kEdqRKeAGm8hhTw">

         <body>An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tODK8aEdqf6aL57Hh6KQ" name="deepHistory">

-      <ownedComment xmi:id="_3_tODa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tODK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF7K8kEdqRKeAGm8hhTw" name="deepHistory">

+      <ownedComment xmi:id="__hCF7a8kEdqRKeAGm8hhTw" annotatedElement="__hCF7K8kEdqRKeAGm8hhTw">

         <body>DeepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate; e.g. the state configuration that was active when the composite state was last exited. A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tODq8aEdqf6aL57Hh6KQ" name="shallowHistory">

-      <ownedComment xmi:id="_3_tOD68aEdqf6aL57Hh6KQ" annotatedElement="_3_tODq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF7q8kEdqRKeAGm8hhTw" name="shallowHistory">

+      <ownedComment xmi:id="__hCF768kEdqRKeAGm8hhTw" annotatedElement="__hCF7q8kEdqRKeAGm8hhTw">

         <body>ShallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOEK8aEdqf6aL57Hh6KQ" name="join">

-      <ownedComment xmi:id="_3_tOEa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOEK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF8K8kEdqRKeAGm8hhTw" name="join">

+      <ownedComment xmi:id="__hCF8a8kEdqRKeAGm8hhTw" annotatedElement="__hCF8K8kEdqRKeAGm8hhTw">

         <body>Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOEq8aEdqf6aL57Hh6KQ" name="fork">

-      <ownedComment xmi:id="_3_tOE68aEdqf6aL57Hh6KQ" annotatedElement="_3_tOEq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF8q8kEdqRKeAGm8hhTw" name="fork">

+      <ownedComment xmi:id="__hCF868kEdqRKeAGm8hhTw" annotatedElement="__hCF8q8kEdqRKeAGm8hhTw">

         <body>Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices

 

 (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOFK8aEdqf6aL57Hh6KQ" name="junction">

-      <ownedComment xmi:id="_3_tOFa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOFK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF9K8kEdqRKeAGm8hhTw" name="junction">

+      <ownedComment xmi:id="__hCF9a8kEdqRKeAGm8hhTw" annotatedElement="__hCF9K8kEdqRKeAGm8hhTw">

         <body>Junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as an merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted “else” may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices (described below).</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOFq8aEdqf6aL57Hh6KQ" name="choice">

-      <ownedComment xmi:id="_3_tOF68aEdqf6aL57Hh6KQ" annotatedElement="_3_tOFq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF9q8kEdqRKeAGm8hhTw" name="choice">

+      <ownedComment xmi:id="__hCF968kEdqRKeAGm8hhTw" annotatedElement="__hCF9q8kEdqRKeAGm8hhTw">

         <body>Choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-tocompletion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined else guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points (described above).</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOGK8aEdqf6aL57Hh6KQ" name="entryPoint">

-      <ownedComment xmi:id="_3_tOGa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOGK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF-K8kEdqRKeAGm8hhTw" name="entryPoint">

+      <ownedComment xmi:id="__hCF-a8kEdqRKeAGm8hhTw" annotatedElement="__hCF-K8kEdqRKeAGm8hhTw">

         <body>An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOGq8aEdqf6aL57Hh6KQ" name="exitPoint">

-      <ownedComment xmi:id="_3_tOG68aEdqf6aL57Hh6KQ" annotatedElement="_3_tOGq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF-q8kEdqRKeAGm8hhTw" name="exitPoint">

+      <ownedComment xmi:id="__hCF-68kEdqRKeAGm8hhTw" annotatedElement="__hCF-q8kEdqRKeAGm8hhTw">

         <body>An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOHK8aEdqf6aL57Hh6KQ" name="terminate">

-      <ownedComment xmi:id="_3_tOHa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOHK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCF_K8kEdqRKeAGm8hhTw" name="terminate">

+      <ownedComment xmi:id="__hCF_a8kEdqRKeAGm8hhTw" annotatedElement="__hCF_K8kEdqRKeAGm8hhTw">

         <body>Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate. Entering a terminate pseudostate is equivalent to invoking a DestroyObjectAction.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_3_tOHq8aEdqf6aL57Hh6KQ" name="TransitionKind">

-    <ownedComment xmi:id="_3_tOH68aEdqf6aL57Hh6KQ" annotatedElement="_3_tOHq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__hCF_q8kEdqRKeAGm8hhTw" name="TransitionKind">

+    <ownedComment xmi:id="__hCF_68kEdqRKeAGm8hhTw" annotatedElement="__hCF_q8kEdqRKeAGm8hhTw">

       <body>TransitionKind is an enumeration of the following literal values:

 • external

 • internal

 • local

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3_tOIK8aEdqf6aL57Hh6KQ" name="state_is_local" constrainedElement="_3_tOHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tOIa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOIK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCGAK8kEdqRKeAGm8hhTw" name="state_is_local" constrainedElement="__hCF_q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCGAa8kEdqRKeAGm8hhTw" annotatedElement="__hCGAK8kEdqRKeAGm8hhTw">

         <body>The source state of a transition with transition kind local must be a composite state.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tOIq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCGAq8kEdqRKeAGm8hhTw" language="OCL">

         <body>kind=#local implies owner.source.isComposite</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tOI68aEdqf6aL57Hh6KQ" name="state_is_external" constrainedElement="_3_tOHq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tOJK8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOI68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCGA68kEdqRKeAGm8hhTw" name="state_is_external" constrainedElement="__hCF_q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCGBK8kEdqRKeAGm8hhTw" annotatedElement="__hCGA68kEdqRKeAGm8hhTw">

         <body>The source state of a transition with transition kind external must be a composite state.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tOJa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCGBa8kEdqRKeAGm8hhTw" language="OCL">

         <body>kind=#external implies owner.source.isComposite</body>

       </specification>

     </ownedRule>

-    <ownedLiteral xmi:id="_3_tOJq8aEdqf6aL57Hh6KQ" name="internal">

-      <ownedComment xmi:id="_3_tOJ68aEdqf6aL57Hh6KQ" annotatedElement="_3_tOJq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCGBq8kEdqRKeAGm8hhTw" name="internal">

+      <ownedComment xmi:id="__hCGB68kEdqRKeAGm8hhTw" annotatedElement="__hCGBq8kEdqRKeAGm8hhTw">

         <body>kind=internal implies that the transition, if triggered, occurs without exiting or entering the source state. Thus, it does not cause a state change. This means that the entry or exit condition of the source state will not be invoked. An internal transition can be taken even if the state machine is in one or more regions nested within this state.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOKK8aEdqf6aL57Hh6KQ" name="local">

-      <ownedComment xmi:id="_3_tOKa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tOKK8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCGCK8kEdqRKeAGm8hhTw" name="local">

+      <ownedComment xmi:id="__hCGCa8kEdqRKeAGm8hhTw" annotatedElement="__hCGCK8kEdqRKeAGm8hhTw">

         <body>kind=local implies that the transition, if triggered, will not exit the composite (source) state, but it will apply to any state within the composite state, and these will be exited and entered.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_3_tOKq8aEdqf6aL57Hh6KQ" name="external">

-      <ownedComment xmi:id="_3_tOK68aEdqf6aL57Hh6KQ" annotatedElement="_3_tOKq8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__hCGCq8kEdqRKeAGm8hhTw" name="external">

+      <ownedComment xmi:id="__hCGC68kEdqRKeAGm8hhTw" annotatedElement="__hCGCq8kEdqRKeAGm8hhTw">

         <body>kind=external implies that the transition, if triggered, will exit the composite (source) state.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_tOLK8aEdqf6aL57Hh6KQ" name="A_container_subvertex" memberEnd="_3_kEi68aEdqf6aL57Hh6KQ _3_tNzK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_tOLa8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hCGDK8kEdqRKeAGm8hhTw" name="A_container_subvertex" memberEnd="__g4Uy68kEdqRKeAGm8hhTw __hCFrK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hCGDa8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_tOLq8aEdqf6aL57Hh6KQ" name="A_container_transition" memberEnd="_3_kETK8aEdqf6aL57Hh6KQ _3_tN0q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_tOL68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hCGDq8kEdqRKeAGm8hhTw" name="A_container_transition" memberEnd="__g4UjK8kEdqRKeAGm8hhTw __hCFsq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hCGD68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_tOMK8aEdqf6aL57Hh6KQ" name="A_outgoing_source" memberEnd="_3_kEUq8aEdqf6aL57Hh6KQ _3_kEka8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_tOMa8aEdqf6aL57Hh6KQ" name="A_incoming_target" memberEnd="_3_kEVq8aEdqf6aL57Hh6KQ _3_kEla8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_tOMq8aEdqf6aL57Hh6KQ" name="A_submachineState_submachine" memberEnd="_3_aS3K8aEdqf6aL57Hh6KQ _3_kDyK8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-kK8aEdqf6aL57Hh6KQ" name="A_entry_connectionPointReference" memberEnd="_3_tNrq8aEdqf6aL57Hh6KQ _3_2-ka8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_2-ka8aEdqf6aL57Hh6KQ" type="_3_tNpa8aEdqf6aL57Hh6KQ" association="_3_2-kK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-kq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-k68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hCGEK8kEdqRKeAGm8hhTw" name="A_outgoing_source" memberEnd="__g4U0a8kEdqRKeAGm8hhTw __g4Ukq8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPYK8kEdqRKeAGm8hhTw" name="A_incoming_target" memberEnd="__g4U1a8kEdqRKeAGm8hhTw __g4Ulq8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPYa8kEdqRKeAGm8hhTw" name="A_submachineState_submachine" memberEnd="__guj168kEdqRKeAGm8hhTw __gujj68kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPYq8kEdqRKeAGm8hhTw" name="A_entry_connectionPointReference" memberEnd="__hLPY68kEdqRKeAGm8hhTw __hCFjq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hLPY68kEdqRKeAGm8hhTw" type="__hCFha8kEdqRKeAGm8hhTw" association="__hLPYq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPZK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPZa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-lK8aEdqf6aL57Hh6KQ" name="A_state_connection" memberEnd="_3_tNsq8aEdqf6aL57Hh6KQ _3_kDzK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-la8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPZq8kEdqRKeAGm8hhTw" name="A_state_connection" memberEnd="__hCFkq8kEdqRKeAGm8hhTw __guj268kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPZ68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-lq8aEdqf6aL57Hh6KQ" name="A_redefinedState_state" memberEnd="_3_kD0q8aEdqf6aL57Hh6KQ _3_2-mK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-l68aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-mK8aEdqf6aL57Hh6KQ" type="_3_kDoK8aEdqf6aL57Hh6KQ" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_3_2-lq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-ma8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-mq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPaK8kEdqRKeAGm8hhTw" name="A_redefinedState_state" memberEnd="__guj4a8kEdqRKeAGm8hhTw __hLPaq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPaa8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPaq8kEdqRKeAGm8hhTw" type="__gujr68kEdqRKeAGm8hhTw" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__hLPaK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPa68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPbK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-m68aEdqf6aL57Hh6KQ" name="A_redefinedTransition_transition" memberEnd="_3_2-na8aEdqf6aL57Hh6KQ _3_kEWq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-nK8aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-na8aEdqf6aL57Hh6KQ" type="_3_kEMK8aEdqf6aL57Hh6KQ" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_3_2-m68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-nq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-n68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPba8kEdqRKeAGm8hhTw" name="A_redefinedTransition_transition" memberEnd="__g4Umq8kEdqRKeAGm8hhTw __hLPb68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPbq8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPb68kEdqRKeAGm8hhTw" type="__g4UcK8kEdqRKeAGm8hhTw" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__hLPba8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPcK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPca8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-oK8aEdqf6aL57Hh6KQ" name="A_exit_connectionPointReference" memberEnd="_3_tNuK8aEdqf6aL57Hh6KQ _3_2-oa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_2-oa8aEdqf6aL57Hh6KQ" type="_3_tNpa8aEdqf6aL57Hh6KQ" association="_3_2-oK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-oq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-o68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPcq8kEdqRKeAGm8hhTw" name="A_exit_connectionPointReference" memberEnd="__hCFmK8kEdqRKeAGm8hhTw __hLPc68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hLPc68kEdqRKeAGm8hhTw" type="__hCFha8kEdqRKeAGm8hhTw" association="__hLPcq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPdK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPda8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-pK8aEdqf6aL57Hh6KQ" name="A_region_stateMachine" memberEnd="_3_aSzK8aEdqf6aL57Hh6KQ _3_tN2K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-pa8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPdq8kEdqRKeAGm8hhTw" name="A_region_stateMachine" memberEnd="__gujf68kEdqRKeAGm8hhTw __hCFuK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPd68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-pq8aEdqf6aL57Hh6KQ" name="A_connectionPoint_stateMachine" memberEnd="_3_aS0q8aEdqf6aL57Hh6KQ _3_kEv68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-p68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPeK8kEdqRKeAGm8hhTw" name="A_connectionPoint_stateMachine" memberEnd="__gujha8kEdqRKeAGm8hhTw __g4U_68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPea8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-qK8aEdqf6aL57Hh6KQ" name="A_region_state" memberEnd="_3_tN3q8aEdqf6aL57Hh6KQ _3_kD1q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-qa8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPeq8kEdqRKeAGm8hhTw" name="A_region_state" memberEnd="__guj5a8kEdqRKeAGm8hhTw __hCFvq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPe68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-qq8aEdqf6aL57Hh6KQ" name="A_region_extendedRegion" memberEnd="_3_2-rK8aEdqf6aL57Hh6KQ _3_tN5K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-q68aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-rK8aEdqf6aL57Hh6KQ" type="_3_tNvK8aEdqf6aL57Hh6KQ" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_3_2-qq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-ra8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-rq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPfK8kEdqRKeAGm8hhTw" name="A_region_extendedRegion" memberEnd="__hLPfq8kEdqRKeAGm8hhTw __hCFxK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPfa8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPfq8kEdqRKeAGm8hhTw" type="__hCFnK8kEdqRKeAGm8hhTw" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__hLPfK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPf68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPgK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-r68aEdqf6aL57Hh6KQ" name="A_stateMachine_extendedStateMachine" memberEnd="_3_2-sa8aEdqf6aL57Hh6KQ _3_aS2K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-sK8aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-sa8aEdqf6aL57Hh6KQ" type="_3_aSva8aEdqf6aL57Hh6KQ" redefinedProperty="_342X168aEdqf6aL57Hh6KQ" association="_3_2-r68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-sq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-s68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPga8kEdqRKeAGm8hhTw" name="A_stateMachine_extendedStateMachine" memberEnd="__guji68kEdqRKeAGm8hhTw __hLPg68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPgq8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPg68kEdqRKeAGm8hhTw" type="__gujcK8kEdqRKeAGm8hhTw" redefinedProperty="__Zkyuq8kEdqRKeAGm8hhTw" association="__hLPga8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPhK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPha8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-tK8aEdqf6aL57Hh6KQ" name="A_guard_transition" memberEnd="_3_2-tq8aEdqf6aL57Hh6KQ _3_kEXq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-ta8aEdqf6aL57Hh6KQ" general="_342YCa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-tq8aEdqf6aL57Hh6KQ" type="_3_kEMK8aEdqf6aL57Hh6KQ" association="_3_2-tK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-t68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-uK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPhq8kEdqRKeAGm8hhTw" name="A_guard_transition" memberEnd="__hLPiK8kEdqRKeAGm8hhTw __g4Unq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPh68kEdqRKeAGm8hhTw" general="__ZujkK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPiK8kEdqRKeAGm8hhTw" type="__g4UcK8kEdqRKeAGm8hhTw" association="__hLPhq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPia8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPiq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-ua8aEdqf6aL57Hh6KQ" name="A_redefinitionContext_region" memberEnd="_3_tN6K8aEdqf6aL57Hh6KQ _3_2-u68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-uq8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-u68aEdqf6aL57Hh6KQ" type="_3_tNvK8aEdqf6aL57Hh6KQ" association="_3_2-ua8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-vK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-va8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPi68kEdqRKeAGm8hhTw" name="A_redefinitionContext_region" memberEnd="__hCFyK8kEdqRKeAGm8hhTw __hLPja8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPjK8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPja8kEdqRKeAGm8hhTw" type="__hCFnK8kEdqRKeAGm8hhTw" association="__hLPi68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPjq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPj68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-vq8aEdqf6aL57Hh6KQ" name="A_state_redefinitionContext" isDerived="true" memberEnd="_3_2-wK8aEdqf6aL57Hh6KQ _3_kD3K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-v68aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-wK8aEdqf6aL57Hh6KQ" type="_3_kDoK8aEdqf6aL57Hh6KQ" association="_3_2-vq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-wa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-wq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPkK8kEdqRKeAGm8hhTw" name="A_state_redefinitionContext" isDerived="true" memberEnd="__hLPkq8kEdqRKeAGm8hhTw __guj668kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPka8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPkq8kEdqRKeAGm8hhTw" type="__gujr68kEdqRKeAGm8hhTw" association="__hLPkK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPk68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPlK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-w68aEdqf6aL57Hh6KQ" name="A_transition_redefinitionContext" memberEnd="_3_kEZK8aEdqf6aL57Hh6KQ _3_2-xa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-xK8aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-xa8aEdqf6aL57Hh6KQ" type="_3_kEMK8aEdqf6aL57Hh6KQ" association="_3_2-w68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-xq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-x68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPla8kEdqRKeAGm8hhTw" name="A_transition_redefinitionContext" memberEnd="__g4UpK8kEdqRKeAGm8hhTw __hLPl68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPlq8kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPl68kEdqRKeAGm8hhTw" type="__g4UcK8kEdqRKeAGm8hhTw" association="__hLPla8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPmK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPma8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-yK8aEdqf6aL57Hh6KQ" name="A_stateInvariant_owningState" memberEnd="_3_kD4q8aEdqf6aL57Hh6KQ _3_2-yq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-ya8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-yq8aEdqf6aL57Hh6KQ" name="owningState" type="_3_kDoK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_3_2-yK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-y68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-zK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPmq8kEdqRKeAGm8hhTw" name="A_stateInvariant_owningState" memberEnd="__guj8a8kEdqRKeAGm8hhTw __hLPnK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPm68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPnK8kEdqRKeAGm8hhTw" name="owningState" type="__gujr68kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__hLPmq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPna8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPnq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-za8aEdqf6aL57Hh6KQ" name="A_effect_transition" memberEnd="_3_kEaq8aEdqf6aL57Hh6KQ _3_2-z68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-zq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-z68aEdqf6aL57Hh6KQ" type="_3_kEMK8aEdqf6aL57Hh6KQ" association="_3_2-za8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-0K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-0a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPn68kEdqRKeAGm8hhTw" name="A_effect_transition" memberEnd="__g4Uqq8kEdqRKeAGm8hhTw __hLPoa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPoK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPoa8kEdqRKeAGm8hhTw" type="__g4UcK8kEdqRKeAGm8hhTw" association="__hLPn68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPoq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPo68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-0q8aEdqf6aL57Hh6KQ" name="A_entry_state" memberEnd="_3_kD6K8aEdqf6aL57Hh6KQ _3_2-1K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-068aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-1K8aEdqf6aL57Hh6KQ" type="_3_kDoK8aEdqf6aL57Hh6KQ" association="_3_2-0q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-1a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-1q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPpK8kEdqRKeAGm8hhTw" name="A_entry_state" memberEnd="__guj968kEdqRKeAGm8hhTw __hLPpq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPpa8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPpq8kEdqRKeAGm8hhTw" type="__gujr68kEdqRKeAGm8hhTw" association="__hLPpK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPp68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPqK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-168aEdqf6aL57Hh6KQ" name="A_exit_state" memberEnd="_3_kD7q8aEdqf6aL57Hh6KQ _3_2-2a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-2K8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-2a8aEdqf6aL57Hh6KQ" type="_3_kDoK8aEdqf6aL57Hh6KQ" association="_3_2-168aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-2q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-268aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPqa8kEdqRKeAGm8hhTw" name="A_exit_state" memberEnd="__guj_a8kEdqRKeAGm8hhTw __hLPq68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPqq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPq68kEdqRKeAGm8hhTw" type="__gujr68kEdqRKeAGm8hhTw" association="__hLPqa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPrK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPra8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-3K8aEdqf6aL57Hh6KQ" name="A_doActivity_state" memberEnd="_3_2-3q8aEdqf6aL57Hh6KQ _3_kD9K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-3a8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_3_2-3q8aEdqf6aL57Hh6KQ" type="_3_kDoK8aEdqf6aL57Hh6KQ" association="_3_2-3K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-368aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-4K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPrq8kEdqRKeAGm8hhTw" name="A_doActivity_state" memberEnd="__gukA68kEdqRKeAGm8hhTw __hLPsK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPr68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hLPsK8kEdqRKeAGm8hhTw" type="__gujr68kEdqRKeAGm8hhTw" association="__hLPrq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPsa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPsq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-4a8aEdqf6aL57Hh6KQ" name="A_connectionPoint_state" memberEnd="_3_kD-q8aEdqf6aL57Hh6KQ _3_kExa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_3_2-4q8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPs68kEdqRKeAGm8hhTw" name="A_connectionPoint_state" memberEnd="__gukCa8kEdqRKeAGm8hhTw __g4VBa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hLPtK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-468aEdqf6aL57Hh6KQ" name="A_trigger_transition" memberEnd="_3_kEcK8aEdqf6aL57Hh6KQ _3_2-5K8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_2-5K8aEdqf6aL57Hh6KQ" type="_3_kEMK8aEdqf6aL57Hh6KQ" association="_3_2-468aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-5a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-5q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPta8kEdqRKeAGm8hhTw" name="A_trigger_transition" memberEnd="__g4UsK8kEdqRKeAGm8hhTw __hLPtq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hLPtq8kEdqRKeAGm8hhTw" type="__g4UcK8kEdqRKeAGm8hhTw" association="__hLPta8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPt68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPuK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_3_2-568aEdqf6aL57Hh6KQ" name="A_deferrableTrigger_state" memberEnd="_3_kEAK8aEdqf6aL57Hh6KQ _3_2-6K8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_3_2-6K8aEdqf6aL57Hh6KQ" type="_3_kDoK8aEdqf6aL57Hh6KQ" association="_3_2-568aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-6a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-6q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hLPua8kEdqRKeAGm8hhTw" name="A_deferrableTrigger_state" memberEnd="__gukD68kEdqRKeAGm8hhTw __hLPuq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hLPuq8kEdqRKeAGm8hhTw" type="__gujr68kEdqRKeAGm8hhTw" association="__hLPua8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPu68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPvK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_A7vDAGv0Edq7X4sGURiZYA" name="Stereotype">

-    <ownedComment xmi:id="_3_2-668aEdqf6aL57Hh6KQ" annotatedElement="_A7vDAGv0Edq7X4sGURiZYA">

+    <ownedComment xmi:id="__hLPva8kEdqRKeAGm8hhTw" annotatedElement="_A7vDAGv0Edq7X4sGURiZYA">

       <body>Stereotype is a kind of Class that extends Classes through Extensions. Just like a class, a stereotype may have properties, which may be referred to as tag definitions. When a stereotype is applied to a model element, the values of the properties may be referred to as tagged values. Also, stereotype names should not clash with keyword names for the extended model element.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_2-7K8aEdqf6aL57Hh6KQ" name="name_not_clash" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">

-      <ownedComment xmi:id="_3_2-7a8aEdqf6aL57Hh6KQ" annotatedElement="_3_2-7K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hLPvq8kEdqRKeAGm8hhTw" name="name_not_clash" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">

+      <ownedComment xmi:id="__hLPv68kEdqRKeAGm8hhTw" annotatedElement="__hLPvq8kEdqRKeAGm8hhTw">

         <body>Stereotype names should not clash with keyword names for the extended model element.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_2-7q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hLPwK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_2-768aEdqf6aL57Hh6KQ" name="generalize" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">

-      <ownedComment xmi:id="_3_2-8K8aEdqf6aL57Hh6KQ" annotatedElement="_3_2-768aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hLPwa8kEdqRKeAGm8hhTw" name="generalize" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">

+      <ownedComment xmi:id="__hLPwq8kEdqRKeAGm8hhTw" annotatedElement="__hLPwa8kEdqRKeAGm8hhTw">

         <body>A Stereotype may only generalize or specialize another Stereotype.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_2-8a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hLPw68kEdqRKeAGm8hhTw" language="OCL">

         <body>generalization.general->forAll(e |e.oclIsKindOf(Stereotype)) and generalization.specific->forAll(e | e.oclIsKindOf(Stereotype)) </body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_2-8q8aEdqf6aL57Hh6KQ" general="_00owUGvdEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_3_2-868aEdqf6aL57Hh6KQ" name="icon" type="_nDq0wJPzEdqpjIDDFZ2Hgw" association="_4AJ5la8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <ownedComment xmi:id="_3_2-9K8aEdqf6aL57Hh6KQ" annotatedElement="_3_2-868aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hLPxK8kEdqRKeAGm8hhTw" general="_00owUGvdEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__hLPxa8kEdqRKeAGm8hhTw" name="icon" type="_nDq0wJPzEdqpjIDDFZ2Hgw" association="__hexaq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <ownedComment xmi:id="__hLPxq8kEdqRKeAGm8hhTw" annotatedElement="__hLPxa8kEdqRKeAGm8hhTw">

         <body>Stereotype can change the graphical appearance of the extended model element by using attached icons. When this association is not null, it references the location of the icon content to be displayed within diagrams presenting the extended model elements.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2-9a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2-9q8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLPx68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLPyK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_FJce8GwHEdq7X4sGURiZYA" name="createExtension" type="_skHGwGvsEdqG6fBIPwe-mw">

       <returnResult xmi:id="_IziyIGwHEdq7X4sGURiZYA" type="_skHGwGvsEdqG6fBIPwe-mw" direction="return"/>

@@ -8500,7 +8500,7 @@
     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="__pew8GvzEdq7X4sGURiZYA" name="Profile">

-    <ownedComment xmi:id="_3_2-968aEdqf6aL57Hh6KQ" annotatedElement="__pew8GvzEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__hLPya8kEdqRKeAGm8hhTw" annotatedElement="__pew8GvzEdq7X4sGURiZYA">

       <body>A Profile is a kind of Package that extends a reference metamodel. The primary extension construct is the Stereotype, which are defined as part of Profiles.

 

 

@@ -8511,11 +8511,11 @@
 

 A profile is a restricted form of a metamodel that must always be related to a reference metamodel, such as UML, as described below. A profile cannot be used without its reference metamodel, and defines a limited capability to extendmetaclasses of the reference metamodel. The extensions are defined as stereotypes that apply to existing metaclasses.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_2--K8aEdqf6aL57Hh6KQ" name="metaclass_reference_not_specialized" constrainedElement="__pew8GvzEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_3_2--a8aEdqf6aL57Hh6KQ" annotatedElement="_3_2--K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hLPyq8kEdqRKeAGm8hhTw" name="metaclass_reference_not_specialized" constrainedElement="__pew8GvzEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__hLPy68kEdqRKeAGm8hhTw" annotatedElement="__hLPyq8kEdqRKeAGm8hhTw">

         <body>An element imported as a metaclassReference is not specialized or generalized in a Profile.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_2--q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hLPzK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.metaclassReference.importedElement->

 

   select(c | c.oclIsKindOf(Classifier) and

@@ -8525,46 +8525,46 @@
       (c.specialization.namespace = self) )->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_2--68aEdqf6aL57Hh6KQ" name="references_same_metamodel" constrainedElement="__pew8GvzEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_3_2-_K8aEdqf6aL57Hh6KQ" annotatedElement="_3_2--68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hLPza8kEdqRKeAGm8hhTw" name="references_same_metamodel" constrainedElement="__pew8GvzEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__hLPzq8kEdqRKeAGm8hhTw" annotatedElement="__hLPza8kEdqRKeAGm8hhTw">

         <body>All elements imported either as metaclassReferences or through metamodelReferences are members of the same base reference metamodel.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_2-_a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hLPz68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.metamodelReference.importedPackage.elementImport.importedElement.allOwningPackages())->

 

   union(self.metaclassReference.importedElement.allOwningPackages() )->notEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_2-_q8aEdqf6aL57Hh6KQ" general="_-cvRAGvzEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_3_2-_68aEdqf6aL57Hh6KQ" name="ownedStereotype" type="_A7vDAGv0Edq7X4sGURiZYA" isDerived="true" subsettedProperty="_34QiAq8aEdqf6aL57Hh6KQ" association="_4AAI-q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_2_AK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_2_Aa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__hLP0K8kEdqRKeAGm8hhTw" general="_-cvRAGvzEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__hLP0a8kEdqRKeAGm8hhTw" name="ownedStereotype" type="_A7vDAGv0Edq7X4sGURiZYA" isDerived="true" subsettedProperty="__ZItsK8kEdqRKeAGm8hhTw" association="__hVA1K8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hLP0q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hLP068kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_2_Aq8aEdqf6aL57Hh6KQ" annotatedElement="_3_2-_68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hLP1K8kEdqRKeAGm8hhTw" annotatedElement="__hLP0a8kEdqRKeAGm8hhTw">

         <body>References the Stereotypes that are owned by the Profile.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2_A68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2_BK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLP1a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLP1q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_2_Ba8aEdqf6aL57Hh6KQ" name="metaclassReference" type="_RPl78GwIEdq7X4sGURiZYA" subsettedProperty="_33XKBa8aEdqf6aL57Hh6KQ" association="_4AJ5i68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_2_Bq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_2_B68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hLP168kEdqRKeAGm8hhTw" name="metaclassReference" type="_RPl78GwIEdq7X4sGURiZYA" subsettedProperty="__YPV5a8kEdqRKeAGm8hhTw" association="__hexYK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hLP2K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hLP2a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_2_CK8aEdqf6aL57Hh6KQ" annotatedElement="_3_2_Ba8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hLP2q8kEdqRKeAGm8hhTw" annotatedElement="__hLP168kEdqRKeAGm8hhTw">

         <body>References a metaclass that may be extended.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2_Ca8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2_Cq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLP268kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLP3K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_2_C68aEdqf6aL57Hh6KQ" name="metamodelReference" type="_SnNPIGwIEdq7X4sGURiZYA" subsettedProperty="_33XKC68aEdqf6aL57Hh6KQ" association="_4AJ5kK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_2_DK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_2_Da8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hLP3a8kEdqRKeAGm8hhTw" name="metamodelReference" type="_SnNPIGwIEdq7X4sGURiZYA" subsettedProperty="__YPV668kEdqRKeAGm8hhTw" association="__hexZa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hLP3q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hLP368kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_2_Dq8aEdqf6aL57Hh6KQ" annotatedElement="_3_2_C68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hLP4K8kEdqRKeAGm8hhTw" annotatedElement="__hLP3a8kEdqRKeAGm8hhTw">

         <body>References a package containing (directly or indirectly) metaclasses that may be extended.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_2_D68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_2_EK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLP4a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLP4q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_2QKPIGwJEdq7X4sGURiZYA" name="create">

       <returnResult xmi:id="_9o-PwGwJEdq7X4sGURiZYA" direction="return">

@@ -8627,102 +8627,102 @@
     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_00owUGvdEdq4DLWZOhbdEA" name="Class">

-    <ownedComment xmi:id="_33qFD68aEdqf6aL57Hh6KQ" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__YiQ3K8kEdqRKeAGm8hhTw" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">

       <body>Class is a kind of classifier whose features are attributes and operations. Attributes of a class are represented by instances of Property that are owned by the class. Some of these attributes may represent the navigable ends of binary associations.</body>

     </ownedComment>

-    <ownedComment xmi:id="_39njD68aEdqf6aL57Hh6KQ" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__dwIJK8kEdqRKeAGm8hhTw" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">

       <body>A class may be designated as active, i.e., each of its instances having its own thread of control, or passive, i.e., each of its instance executing within the context of some other object. A class may also specify which signals the instances of this class handle.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3-EO6a8aEdqf6aL57Hh6KQ" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__eM0NK8kEdqRKeAGm8hhTw" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">

       <body>Extends the metaclass Class with the capability to have an internal structure and ports.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4AAIhq8aEdqf6aL57Hh6KQ" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__hVAYK8kEdqRKeAGm8hhTw" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">

       <body>Class has derived association that indicates how it may be extended through one or more stereotypes.</body>

     </ownedComment>

-    <ownedRule xmi:id="_39njEK8aEdqf6aL57Hh6KQ" name="passive_class" constrainedElement="_00owUGvdEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_39njEa8aEdqf6aL57Hh6KQ" annotatedElement="_39njEK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dwIJa8kEdqRKeAGm8hhTw" name="passive_class" constrainedElement="_00owUGvdEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dwIJq8kEdqRKeAGm8hhTw" annotatedElement="__dwIJa8kEdqRKeAGm8hhTw">

         <body>A passive class may not own receptions.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39njEq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dwIJ68kEdqRKeAGm8hhTw" language="OCL">

         <body>not self.isActive implies self.ownedReception.isEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_39njE68aEdqf6aL57Hh6KQ" general="_iY7sMGvsEdqG6fBIPwe-mw"/>

-    <generalization xmi:id="_3-EO6q8aEdqf6aL57Hh6KQ" general="_397FT68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_33qFEa8aEdqf6aL57Hh6KQ" name="isAbstract" type="_UdivYGvsEdqG6fBIPwe-mw" redefinedProperty="_35vvgq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFEq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFEa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dwIKK8kEdqRKeAGm8hhTw" general="_iY7sMGvsEdqG6fBIPwe-mw"/>

+    <generalization xmi:id="__eM0Na8kEdqRKeAGm8hhTw" general="__eM0Ca8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__YiQ3q8kEdqRKeAGm8hhTw" name="isAbstract" type="_UdivYGvsEdqG6fBIPwe-mw" redefinedProperty="__aVAhq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiQ368kEdqRKeAGm8hhTw" annotatedElement="__YiQ3q8kEdqRKeAGm8hhTw">

         <body>True when a class is abstract.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36pHZq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFEa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bEnca8kEdqRKeAGm8hhTw" annotatedElement="__YiQ3q8kEdqRKeAGm8hhTw">

         <body>If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_36pHZ68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__bEncq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36pHaK8aEdqf6aL57Hh6KQ" name="nestedClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" isOrdered="true" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_37ifUK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_36pHaa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36pHaq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__bEnc68kEdqRKeAGm8hhTw" name="nestedClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" isOrdered="true" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__b0ORK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__bEndK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__bEnda8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36pHa68aEdqf6aL57Hh6KQ" annotatedElement="_36pHaK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bEndq8kEdqRKeAGm8hhTw" annotatedElement="__bEnc68kEdqRKeAGm8hhTw">

         <body>References all the Classifiers that are defined (nested) within the Class.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36pHbK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36pHba8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnd68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEneK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFFK8aEdqf6aL57Hh6KQ" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" redefinedProperty="_38uyP68aEdqf6aL57Hh6KQ" subsettedProperty="_326d8K8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_34jc9q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33qFFa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33qFFq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__YiQ4a8kEdqRKeAGm8hhTw" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" redefinedProperty="__c2wd68kEdqRKeAGm8hhTw" subsettedProperty="__Xyp6K8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__ZR3368kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YiQ4q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YiQ468kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFF68aEdqf6aL57Hh6KQ" annotatedElement="_33qFFK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiQ5K8kEdqRKeAGm8hhTw" annotatedElement="__YiQ4a8kEdqRKeAGm8hhTw">

         <body>The attributes (i.e. the properties) owned by the class.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36pHbq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36pHb68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnea8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEneq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFGq8aEdqf6aL57Hh6KQ" name="ownedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_326d9q8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_34jc-a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33qFG68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33qFHK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__YiQ568kEdqRKeAGm8hhTw" name="ownedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__Xyp7q8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__ZR34q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YiQ6K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YiQ6a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFHa8aEdqf6aL57Hh6KQ" annotatedElement="_33qFGq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiQ6q8kEdqRKeAGm8hhTw" annotatedElement="__YiQ568kEdqRKeAGm8hhTw">

         <body>The operations owned by the class.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36pHcK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36pHca8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEne68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEnfK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFIK8aEdqf6aL57Hh6KQ" name="superClass" type="_00owUGvdEdq4DLWZOhbdEA" isDerived="true" redefinedProperty="_326d_K8aEdqf6aL57Hh6KQ" association="_34tNva8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_36pHcq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36pHc68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YiQ7a8kEdqRKeAGm8hhTw" name="superClass" type="_00owUGvdEdq4DLWZOhbdEA" isDerived="true" redefinedProperty="__Xyp9K8kEdqRKeAGm8hhTw" association="__ZR3968kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__bEnfa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__bEnfq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFIa8aEdqf6aL57Hh6KQ" annotatedElement="_33qFIK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiQ7q8kEdqRKeAGm8hhTw" annotatedElement="__YiQ7a8kEdqRKeAGm8hhTw">

         <body>This gives the superclasses of a class.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36pHdK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36pHda8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnf68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEngK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39njFK8aEdqf6aL57Hh6KQ" name="isActive" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_39njFa8aEdqf6aL57Hh6KQ" annotatedElement="_39njFK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dwIKa8kEdqRKeAGm8hhTw" name="isActive" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__dwIKq8kEdqRKeAGm8hhTw" annotatedElement="__dwIKa8kEdqRKeAGm8hhTw">

         <body>Determines whether an object specified by this class is active or not. If true, then the owning class is referred to as an active class. If false, then such a class is referred to as a passive class.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_39njFq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__dwIK68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39njF68aEdqf6aL57Hh6KQ" name="ownedReception" type="_39njK68aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ _326d9q8aEdqf6aL57Hh6KQ" association="_39xT-q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39njGK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39njGa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dwILK8kEdqRKeAGm8hhTw" name="ownedReception" type="__dwIQK8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw __Xyp7q8kEdqRKeAGm8hhTw" association="__d55F68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dwILa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dwILq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39njGq8aEdqf6aL57Hh6KQ" annotatedElement="_39njF68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dwIL68kEdqRKeAGm8hhTw" annotatedElement="__dwILK8kEdqRKeAGm8hhTw">

         <body>Receptions that objects of this class are willing to accept.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39njG68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39njHK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIMK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIMa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAIh68aEdqf6aL57Hh6KQ" name="extension" type="_skHGwGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_4AJ5gK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4AAIiK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AAIia8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__hVAYa8kEdqRKeAGm8hhTw" name="extension" type="_skHGwGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="__hVA3q8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hVAYq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hVAY68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAIiq8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIh68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVAZK8kEdqRKeAGm8hhTw" annotatedElement="__hVAYa8kEdqRKeAGm8hhTw">

         <body>References the Extensions that specify additional properties of the metaclass. The property is derived from the extensions whose memberEnds are typed by the Class.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAIi68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAIjK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAZa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAZq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_4xcu4FYKEdqrn7iZ0eqieg" name="getExtensions" type="_skHGwGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_8-RUoFYKEdqrn7iZ0eqieg" type="_skHGwGvsEdqG6fBIPwe-mw" direction="return">

@@ -8752,49 +8752,49 @@
     <ownedOperation xmi:id="_shXKYGwQEdq14q0ETb1t3g" name="isMetaclass" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_urWVsGwQEdq14q0ETb1t3g" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33qFJK8aEdqf6aL57Hh6KQ" name="inherit" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33EPL68aEdqf6aL57Hh6KQ" bodyCondition="_33qFJq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFJa8aEdqf6aL57Hh6KQ" annotatedElement="_33qFJK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YiQ8a8kEdqRKeAGm8hhTw" name="inherit" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__X8bH68kEdqRKeAGm8hhTw" bodyCondition="__YiQ868kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiQ8q8kEdqRKeAGm8hhTw" annotatedElement="__YiQ8a8kEdqRKeAGm8hhTw">

         <body>The inherit operation is overridden to exclude redefined properties.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qFJq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qFJK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHdq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YiQ868kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YiQ8a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnga8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qFKK8aEdqf6aL57Hh6KQ" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36pHea8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36pHeq8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YiQ9a8kEdqRKeAGm8hhTw" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnhK8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEnha8kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_33qFK68aEdqf6aL57Hh6KQ" name="inhs" type="_csVgUGvtEdqG6fBIPwe-mw">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36pHe68aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36pHfK8aEdqf6aL57Hh6KQ"/>

+      <ownedParameter xmi:id="__YiQ-K8kEdqRKeAGm8hhTw" name="inhs" type="_csVgUGvtEdqG6fBIPwe-mw">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnhq8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEnh68kEdqRKeAGm8hhTw"/>

       </ownedParameter>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_uY5yQGv5Edq7X4sGURiZYA" name="ProfileApplication">

-    <ownedComment xmi:id="_4AAIja8aEdqf6aL57Hh6KQ" annotatedElement="_uY5yQGv5Edq7X4sGURiZYA">

+    <ownedComment xmi:id="__hVAZ68kEdqRKeAGm8hhTw" annotatedElement="_uY5yQGv5Edq7X4sGURiZYA">

       <body>ProfileApplication is a kind of PackageImport that adds the capability to state that a Profile is applied to a Package.</body>

     </ownedComment>

-    <generalization xmi:id="_4AAIjq8aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_4AAIj68aEdqf6aL57Hh6KQ" name="appliedProfile" type="__pew8GvzEdq7X4sGURiZYA" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_4AAI_68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AAIkK8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIj68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hVAaK8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__hVAaa8kEdqRKeAGm8hhTw" name="appliedProfile" type="__pew8GvzEdq7X4sGURiZYA" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__hVA2a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hVAaq8kEdqRKeAGm8hhTw" annotatedElement="__hVAaa8kEdqRKeAGm8hhTw">

         <body>References the Profiles that are applied to a Package through this ProfileApplication.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAIka8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAIkq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAa68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAbK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAIk68aEdqf6aL57Hh6KQ" name="isStrict" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4AAIlK8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIk68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hVAba8kEdqRKeAGm8hhTw" name="isStrict" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hVAbq8kEdqRKeAGm8hhTw" annotatedElement="__hVAba8kEdqRKeAGm8hhTw">

         <body>Specifies that the Profile filtering rules for the metaclasses of the referenced metamodel shall be strictly applied.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4AAIla8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__hVAb68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAIlq8aEdqf6aL57Hh6KQ" name="applyingPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ _33OACq8aEdqf6aL57Hh6KQ" association="_4AAI968aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4AAIl68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AAImK8aEdqf6aL57Hh6KQ" isTransient="true" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__hVAcK8kEdqRKeAGm8hhTw" name="applyingPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw" association="__hVA0a8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hVAca8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hVAcq8kEdqRKeAGm8hhTw" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAIma8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAImq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAc68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAdK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_GXI1QW10EdqniMBnIUw7ig" name="getAppliedDefinition" isQuery="true">

       <returnResult xmi:id="_LJ9EAG10EdqniMBnIUw7ig" direction="return">

@@ -8815,54 +8815,54 @@
     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_skHGwGvsEdqG6fBIPwe-mw" name="Extension">

-    <ownedComment xmi:id="_4AAIm68aEdqf6aL57Hh6KQ" annotatedElement="_skHGwGvsEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__hVAda8kEdqRKeAGm8hhTw" annotatedElement="_skHGwGvsEdqG6fBIPwe-mw">

       <body>Extension is a kind of Association. One end of the Extension is an ordinary Property and the other end is an ExtensionEnd. The former ties the Extension to a Class, while the latter ties the Extension to a Stereotype that extends the Class.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4AAInK8aEdqf6aL57Hh6KQ" name="non_owned_end" constrainedElement="_skHGwGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4AAIna8aEdqf6aL57Hh6KQ" annotatedElement="_4AAInK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hVAdq8kEdqRKeAGm8hhTw" name="non_owned_end" constrainedElement="_skHGwGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hVAd68kEdqRKeAGm8hhTw" annotatedElement="__hVAdq8kEdqRKeAGm8hhTw">

         <body>The non-owned end of an Extension is typed by a Class.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAInq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVAeK8kEdqRKeAGm8hhTw" language="OCL">

         <body>metaclassEnd()->notEmpty() and metaclass()->oclIsKindOf(Class)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AAIn68aEdqf6aL57Hh6KQ" name="is_binary" constrainedElement="_skHGwGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4AAIoK8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIn68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hVAea8kEdqRKeAGm8hhTw" name="is_binary" constrainedElement="_skHGwGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hVAeq8kEdqRKeAGm8hhTw" annotatedElement="__hVAea8kEdqRKeAGm8hhTw">

         <body>An Extension is binary, i.e., it has only two memberEnds.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAIoa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVAe68kEdqRKeAGm8hhTw" language="OCL">

         <body>memberEnd->size() = 2</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4AAIoq8aEdqf6aL57Hh6KQ" general="_AwvxoGwNEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_4AAIo68aEdqf6aL57Hh6KQ" name="isRequired" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

-      <eAnnotations xmi:id="_4AAIpK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4AAIpa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__hVAfK8kEdqRKeAGm8hhTw" general="_AwvxoGwNEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__hVAfa8kEdqRKeAGm8hhTw" name="isRequired" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

+      <eAnnotations xmi:id="__hVAfq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__hVAf68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAIpq8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIo68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVAgK8kEdqRKeAGm8hhTw" annotatedElement="__hVAfa8kEdqRKeAGm8hhTw">

         <body>Indicates whether an instance of the extending stereotype must be created when an instance of the extended class is created. The attribute value is derived from the multiplicity of the Property referenced by Extension::ownedEnd; a multiplicity of 1 means that isRequired is true, but otherwise it is false. Since the default multiplicity of an ExtensionEnd is 0..1, the default value of isRequired is false.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4AAIp68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__hVAga8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAIqK8aEdqf6aL57Hh6KQ" name="metaclass" type="_00owUGvdEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_4AJ5gK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4AAIqa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AAIqq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__hVAgq8kEdqRKeAGm8hhTw" name="metaclass" type="_00owUGvdEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="__hVA3q8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hVAg68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hVAhK8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAIq68aEdqf6aL57Hh6KQ" annotatedElement="_4AAIqK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVAha8kEdqRKeAGm8hhTw" annotatedElement="__hVAgq8kEdqRKeAGm8hhTw">

         <body>References the Class that is extended through an Extension. The property is derived from the type of the memberEnd that is not the ownedEnd.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAIrK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAIra8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAhq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAh68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAIrq8aEdqf6aL57Hh6KQ" name="ownedEnd" type="_2QuT0GvdEdq4DLWZOhbdEA" redefinedProperty="_33qE-68aEdqf6aL57Hh6KQ" association="_4AJ5ga8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AAIr68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AAIsK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hVAiK8kEdqRKeAGm8hhTw" name="ownedEnd" type="_2QuT0GvdEdq4DLWZOhbdEA" redefinedProperty="__YiQyK8kEdqRKeAGm8hhTw" association="__hVA368kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hVAia8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hVAiq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAIsa8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIrq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVAi68kEdqRKeAGm8hhTw" annotatedElement="__hVAiK8kEdqRKeAGm8hhTw">

         <body>References the end of the extension that is typed by a Stereotype.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAIsq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAIs68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAjK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAja8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_k1UVkJPtEdqpjIDDFZ2Hgw" name="getStereotypeEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true">

       <returnResult xmi:id="_BPaXoJPuEdqpjIDDFZ2Hgw" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return">

@@ -8876,106 +8876,106 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aF9tkJQGEdqpjIDDFZ2Hgw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_4AAItK8aEdqf6aL57Hh6KQ" name="metaclassEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true" bodyCondition="_4AAItq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AAIta8aEdqf6aL57Hh6KQ" annotatedElement="_4AAItK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__hVAjq8kEdqRKeAGm8hhTw" name="metaclassEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true" bodyCondition="__hVAkK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hVAj68kEdqRKeAGm8hhTw" annotatedElement="__hVAjq8kEdqRKeAGm8hhTw">

         <body>The query metaclassEnd() returns the Property that is typed by a metaclass (as opposed to a stereotype).</body>

       </ownedComment>

-      <ownedRule xmi:id="_4AAItq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4AAItK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAIt68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hVAkK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hVAjq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVAka8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = memberEnd->reject(ownedEnd)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4AAIuK8aEdqf6aL57Hh6KQ" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>

+      <returnResult xmi:id="__hVAkq8kEdqRKeAGm8hhTw" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_4AAIua8aEdqf6aL57Hh6KQ" name="metaclass" type="_00owUGvdEdq4DLWZOhbdEA" isQuery="true" bodyCondition="_4AAIva8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4AAIuq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_4AAIu68aEdqf6aL57Hh6KQ" operationName="getMetaclass"/>

+    <ownedOperation xmi:id="__hVAk68kEdqRKeAGm8hhTw" name="metaclass" type="_00owUGvdEdq4DLWZOhbdEA" isQuery="true" bodyCondition="__hVAl68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hVAlK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__hVAla8kEdqRKeAGm8hhTw" operationName="getMetaclass"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAIvK8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIua8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVAlq8kEdqRKeAGm8hhTw" annotatedElement="__hVAk68kEdqRKeAGm8hhTw">

         <body>The query metaclass() returns the metaclass that is being extended (as opposed to the extending stereotype).</body>

       </ownedComment>

-      <ownedRule xmi:id="_4AAIva8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4AAIua8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAIvq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hVAl68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hVAk68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVAmK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = metaclassEnd().type</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4AAIv68aEdqf6aL57Hh6KQ" type="_00owUGvdEdq4DLWZOhbdEA" direction="return"/>

+      <returnResult xmi:id="__hVAma8kEdqRKeAGm8hhTw" type="_00owUGvdEdq4DLWZOhbdEA" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_4AAIwK8aEdqf6aL57Hh6KQ" name="isRequired" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_4AAIwq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AAIwa8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIwK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__hVAmq8kEdqRKeAGm8hhTw" name="isRequired" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__hVAnK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hVAm68kEdqRKeAGm8hhTw" annotatedElement="__hVAmq8kEdqRKeAGm8hhTw">

         <body>The query isRequired() is true if the owned end has a multiplicity with the lower bound of 1.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4AAIwq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4AAIwK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAIw68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hVAnK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hVAmq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVAna8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (ownedEnd->lowerBound() = 1)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4AAIxK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__hVAnq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_nDq0wJPzEdqpjIDDFZ2Hgw" name="Image">

-    <ownedComment xmi:id="_4AAI268aEdqf6aL57Hh6KQ" annotatedElement="_nDq0wJPzEdqpjIDDFZ2Hgw">

+    <ownedComment xmi:id="__hVAta8kEdqRKeAGm8hhTw" annotatedElement="_nDq0wJPzEdqpjIDDFZ2Hgw">

       <body>The Image class provides the necessary information to display an Image in a diagram. Icons are typically handled through the Image class.</body>

     </ownedComment>

-    <generalization xmi:id="_4AAI3K8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4AAI3a8aEdqf6aL57Hh6KQ" name="content" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_4AAI3q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4AAI368aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <generalization xmi:id="__hVAtq8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__hVAt68kEdqRKeAGm8hhTw" name="content" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__hVAuK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__hVAua8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAI4K8aEdqf6aL57Hh6KQ" annotatedElement="_4AAI3a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVAuq8kEdqRKeAGm8hhTw" annotatedElement="__hVAt68kEdqRKeAGm8hhTw">

         <body>This contains the serialization of the image according to the format. The value could represent a bitmap, image such as a GIF file, or drawing 'instructions' using a standard such as Scalable Vector Graphic (SVG) (which is XML based).</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAI4a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAI4q8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAu68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAvK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAI468aEdqf6aL57Hh6KQ" name="location" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_4AAI5K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4AAI5a8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__hVAva8kEdqRKeAGm8hhTw" name="location" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__hVAvq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__hVAv68kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAI5q8aEdqf6aL57Hh6KQ" annotatedElement="_4AAI468aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVAwK8kEdqRKeAGm8hhTw" annotatedElement="__hVAva8kEdqRKeAGm8hhTw">

         <body>This contains a location that can be used by a tool to locate the image as an alternative to embedding it in the stereotype.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAI568aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAI6K8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAwa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAwq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAI6a8aEdqf6aL57Hh6KQ" name="format" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_4AAI6q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4AAI668aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__hVAw68kEdqRKeAGm8hhTw" name="format" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__hVAxK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__hVAxa8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAI7K8aEdqf6aL57Hh6KQ" annotatedElement="_4AAI6a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVAxq8kEdqRKeAGm8hhTw" annotatedElement="__hVAw68kEdqRKeAGm8hhTw">

         <body>This indicates the format of the content - which is how the string content should be interpreted. The following values are reserved: SVG, GIF, PNG, JPG, WMF, EMF, BMP.

 

 

 

 In addition the prefix 'MIME: ' is also reserved. This option can be used as an alternative to express the reserved values above, for example &quot;SVG&quot; could instead be expressed as &quot;MIME: image/svg+xml&quot;.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAI7a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAI7q8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAx68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAyK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_kl90MGvbEdq4DLWZOhbdEA" name="Element" isAbstract="true">

-    <ownedComment xmi:id="_33N__a8aEdqf6aL57Hh6KQ" annotatedElement="_kl90MGvbEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__YFk3K8kEdqRKeAGm8hhTw" annotatedElement="_kl90MGvbEdq4DLWZOhbdEA">

       <body>An element can own comments.</body>

     </ownedComment>

-    <ownedComment xmi:id="_35AIpK8aEdqf6aL57Hh6KQ" annotatedElement="_kl90MGvbEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__Zujlq8kEdqRKeAGm8hhTw" annotatedElement="_kl90MGvbEdq4DLWZOhbdEA">

       <body>Element is an abstract metaclass with no superclass. It is used as the common superclass for all metaclasses in the infrastructure library. Element has a derived composition association to itself to support the general capability for elements to own other elements.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4AAI768aEdqf6aL57Hh6KQ" annotatedElement="_kl90MGvbEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__hVAya8kEdqRKeAGm8hhTw" annotatedElement="_kl90MGvbEdq4DLWZOhbdEA">

       <body> An element is a constituent of a model. An element can own comments.</body>

     </ownedComment>

-    <ownedRule xmi:id="_33N__q8aEdqf6aL57Hh6KQ" name="not_own_self" constrainedElement="_kl90MGvbEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33N__68aEdqf6aL57Hh6KQ" annotatedElement="_33N__q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YFk3a8kEdqRKeAGm8hhTw" name="not_own_self" constrainedElement="_kl90MGvbEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YFk3q8kEdqRKeAGm8hhTw" annotatedElement="__YFk3a8kEdqRKeAGm8hhTw">

         <body>An element may not directly or indirectly own itself.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35AIpa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__Zujl68kEdqRKeAGm8hhTw" language="OCL">

         <body>not self.allOwnedElements()->includes(self)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33OAAa8aEdqf6aL57Hh6KQ" name="has_owner" constrainedElement="_kl90MGvbEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33OAAq8aEdqf6aL57Hh6KQ" annotatedElement="_33OAAa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YFk4K8kEdqRKeAGm8hhTw" name="has_owner" constrainedElement="_kl90MGvbEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YFk4a8kEdqRKeAGm8hhTw" annotatedElement="__YFk4K8kEdqRKeAGm8hhTw">

         <body>Elements that must be owned must have an owner.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35AIpq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ZujmK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.mustBeOwned() implies owner->notEmpty()</body>

       </specification>

     </ownedRule>

@@ -8988,35 +8988,35 @@
     <generalization xmi:id="_rcp_MGvbEdq4DLWZOhbdEA">

       <general xmi:type="uml:Class" href="Ecore.uml2#_439EC3AE03B53903D4E40050"/>

     </generalization>

-    <ownedAttribute xmi:id="_33OABK8aEdqf6aL57Hh6KQ" name="ownedElement" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_342Xya8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33OABa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33OABq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YFk468kEdqRKeAGm8hhTw" name="ownedElement" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__ZkyrK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YFk5K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YFk5a8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33OAB68aEdqf6aL57Hh6KQ" annotatedElement="_33OABK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YFk5q8kEdqRKeAGm8hhTw" annotatedElement="__YFk468kEdqRKeAGm8hhTw">

         <body>The Elements owned by this element.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35AIp68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35AIqK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Zujma8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Zujmq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33OACq8aEdqf6aL57Hh6KQ" name="owner" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_342Xya8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33OAC68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33OADK8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YFk6a8kEdqRKeAGm8hhTw" name="owner" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__ZkyrK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YFk6q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YFk668kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33OADa8aEdqf6aL57Hh6KQ" annotatedElement="_33OACq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YFk7K8kEdqRKeAGm8hhTw" annotatedElement="__YFk6a8kEdqRKeAGm8hhTw">

         <body>The Element that owns this element.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35AIqa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35AIqq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Zujm68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ZujnK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33OAEK8aEdqf6aL57Hh6KQ" name="ownedComment" type="_34jczK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_342X8q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_33OAEa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33OAEq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__YFk768kEdqRKeAGm8hhTw" name="ownedComment" type="__ZR3ta8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__Zky1a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__YFk8K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YFk8a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33OAE68aEdqf6aL57Hh6KQ" annotatedElement="_33OAEK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YFk8q8kEdqRKeAGm8hhTw" annotatedElement="__YFk768kEdqRKeAGm8hhTw">

         <body>The Comments owned by this element.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35AIq68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35AIrK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Zujna8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Zujnq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_XebbkGvuEdqG6fBIPwe-mw" name="destroy"/>

     <ownedOperation xmi:id="_7f8qYGvgEdq4DLWZOhbdEA" name="hasKeyword" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true">

@@ -9220,123 +9220,123 @@
         <type xmi:type="uml:Class" href="Ecore.uml2#_439EC3AE03B53903D5BF000A"/>

       </ownedParameter>

     </ownedOperation>

-    <ownedOperation xmi:id="_33OAFq8aEdqf6aL57Hh6KQ" name="allOwnedElements" type="_kl90MGvbEdq4DLWZOhbdEA" isQuery="true" bodyCondition="_33OAGK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33OAF68aEdqf6aL57Hh6KQ" annotatedElement="_33OAFq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YFk9a8kEdqRKeAGm8hhTw" name="allOwnedElements" type="_kl90MGvbEdq4DLWZOhbdEA" isQuery="true" bodyCondition="__YFk968kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YFk9q8kEdqRKeAGm8hhTw" annotatedElement="__YFk9a8kEdqRKeAGm8hhTw">

         <body>The query allOwnedElements() gives all of the direct and indirect owned elements of an element.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33OAGK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33OAFq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35AIra8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YFk968kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YFk9a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__Zujn68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33OAGq8aEdqf6aL57Hh6KQ" type="_kl90MGvbEdq4DLWZOhbdEA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35AIrq8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5oK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YFk-a8kEdqRKeAGm8hhTw" type="_kl90MGvbEdq4DLWZOhbdEA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ZujoK8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Zujoa8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33OAHa8aEdqf6aL57Hh6KQ" name="mustBeOwned" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33OAH68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33OAHq8aEdqf6aL57Hh6KQ" annotatedElement="_33OAHa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YFk_K8kEdqRKeAGm8hhTw" name="mustBeOwned" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YFk_q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YFk_a8kEdqRKeAGm8hhTw" annotatedElement="__YFk_K8kEdqRKeAGm8hhTw">

         <body>The query mustBeOwned() indicates whether elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33OAH68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33OAHa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35J5oa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YFk_q8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YFk_K8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__Zujoq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33OAIa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YFlAK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AAI968aEdqf6aL57Hh6KQ" name="A_profileApplication_applyingPackage" memberEnd="_4AAIlq8aEdqf6aL57Hh6KQ _4AAIgK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4AAI-K8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4AAI-a8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hVA0a8kEdqRKeAGm8hhTw" name="A_profileApplication_applyingPackage" memberEnd="__hVAcK8kEdqRKeAGm8hhTw __hLP5K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hVA0q8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__hVA068kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AAI-q8aEdqf6aL57Hh6KQ" name="A_ownedStereotype_profile" memberEnd="_3_2-_68aEdqf6aL57Hh6KQ _4AAI_K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4AAI-68aEdqf6aL57Hh6KQ" general="_342Xtq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4AAI_K8aEdqf6aL57Hh6KQ" type="__pew8GvzEdq7X4sGURiZYA" redefinedProperty="_342X568aEdqf6aL57Hh6KQ" association="_4AAI-q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAI_a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAI_q8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hVA1K8kEdqRKeAGm8hhTw" name="A_ownedStereotype_profile" memberEnd="__hLP0a8kEdqRKeAGm8hhTw __hVA1q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hVA1a8kEdqRKeAGm8hhTw" general="__Zkyma8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hVA1q8kEdqRKeAGm8hhTw" type="__pew8GvzEdq7X4sGURiZYA" redefinedProperty="__Zkyyq8kEdqRKeAGm8hhTw" association="__hVA1K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVA168kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVA2K8kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AAI_68aEdqf6aL57Hh6KQ" name="A_appliedProfile_profileApplication" memberEnd="_4AAIj68aEdqf6aL57Hh6KQ _4AAJAa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4AAJAK8aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4AAJAa8aEdqf6aL57Hh6KQ" type="_uY5yQGv5Edq7X4sGURiZYA" association="_4AAI_68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAJAq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAJA68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hVA2a8kEdqRKeAGm8hhTw" name="A_appliedProfile_profileApplication" memberEnd="__hVA268kEdqRKeAGm8hhTw __hVAaa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hVA2q8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hVA268kEdqRKeAGm8hhTw" type="_uY5yQGv5Edq7X4sGURiZYA" association="__hVA2a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVA3K8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVA3a8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AJ5gK8aEdqf6aL57Hh6KQ" name="A_extension_metaclass" isDerived="true" memberEnd="_4AAIqK8aEdqf6aL57Hh6KQ _4AAIh68aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AJ5ga8aEdqf6aL57Hh6KQ" name="A_ownedEnd_extension" memberEnd="_4AJ5g68aEdqf6aL57Hh6KQ _4AAIrq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4AJ5gq8aEdqf6aL57Hh6KQ" general="_34jc_a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4AJ5g68aEdqf6aL57Hh6KQ" type="_skHGwGvsEdqG6fBIPwe-mw" redefinedProperty="_342X568aEdqf6aL57Hh6KQ" association="_4AJ5ga8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AJ5hK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AJ5ha8aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hVA3q8kEdqRKeAGm8hhTw" name="A_extension_metaclass" isDerived="true" memberEnd="__hVAYa8kEdqRKeAGm8hhTw __hVAgq8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hVA368kEdqRKeAGm8hhTw" name="A_ownedEnd_extension" memberEnd="__hVAiK8kEdqRKeAGm8hhTw __hVA4a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hVA4K8kEdqRKeAGm8hhTw" general="__ZR35q8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hVA4a8kEdqRKeAGm8hhTw" type="_skHGwGvsEdqG6fBIPwe-mw" redefinedProperty="__Zkyyq8kEdqRKeAGm8hhTw" association="__hVA368kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVA4q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVA468kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AJ5hq8aEdqf6aL57Hh6KQ" name="A_type_extensionEnd" memberEnd="_4AAIza8aEdqf6aL57Hh6KQ _4AJ5iK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4AJ5h68aEdqf6aL57Hh6KQ" general="_34jc9K8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4AJ5iK8aEdqf6aL57Hh6KQ" type="_2QuT0GvdEdq4DLWZOhbdEA" association="_4AJ5hq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AJ5ia8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AJ5iq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hVA5K8kEdqRKeAGm8hhTw" name="A_type_extensionEnd" memberEnd="__hVA5q8kEdqRKeAGm8hhTw __hVAp68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hVA5a8kEdqRKeAGm8hhTw" general="__ZR33a8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hVA5q8kEdqRKeAGm8hhTw" type="_2QuT0GvdEdq4DLWZOhbdEA" association="__hVA5K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVA568kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVA6K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AJ5i68aEdqf6aL57Hh6KQ" name="A_metaclassReference_profile" memberEnd="_3_2_Ba8aEdqf6aL57Hh6KQ _4AJ5ja8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4AJ5jK8aEdqf6aL57Hh6KQ" general="_342XsK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4AJ5ja8aEdqf6aL57Hh6KQ" type="__pew8GvzEdq7X4sGURiZYA" association="_4AJ5i68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AJ5jq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AJ5j68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hexYK8kEdqRKeAGm8hhTw" name="A_metaclassReference_profile" memberEnd="__hexYq8kEdqRKeAGm8hhTw __hLP168kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hexYa8kEdqRKeAGm8hhTw" general="__Zkyk68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hexYq8kEdqRKeAGm8hhTw" type="__pew8GvzEdq7X4sGURiZYA" association="__hexYK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexY68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexZK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AJ5kK8aEdqf6aL57Hh6KQ" name="A_metamodelReference_profile" memberEnd="_4AJ5kq8aEdqf6aL57Hh6KQ _3_2_C68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4AJ5ka8aEdqf6aL57Hh6KQ" general="_342Xs68aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4AJ5kq8aEdqf6aL57Hh6KQ" type="__pew8GvzEdq7X4sGURiZYA" association="_4AJ5kK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AJ5k68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AJ5lK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hexZa8kEdqRKeAGm8hhTw" name="A_metamodelReference_profile" memberEnd="__hLP3a8kEdqRKeAGm8hhTw __hexZ68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hexZq8kEdqRKeAGm8hhTw" general="__Zkylq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hexZ68kEdqRKeAGm8hhTw" type="__pew8GvzEdq7X4sGURiZYA" association="__hexZa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexaK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexaa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4AJ5la8aEdqf6aL57Hh6KQ" name="A_icon_stereotype" memberEnd="_4AJ5lq8aEdqf6aL57Hh6KQ _3_2-868aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4AJ5lq8aEdqf6aL57Hh6KQ" type="_A7vDAGv0Edq7X4sGURiZYA" association="_4AJ5la8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AJ5l68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AJ5mK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hexaq8kEdqRKeAGm8hhTw" name="A_icon_stereotype" memberEnd="__hLPxa8kEdqRKeAGm8hhTw __hexa68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hexa68kEdqRKeAGm8hhTw" type="_A7vDAGv0Edq7X4sGURiZYA" association="__hexaq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexbK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexba8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_2QuT0GvdEdq4DLWZOhbdEA" name="ExtensionEnd">

-    <ownedComment xmi:id="_4AAIxa8aEdqf6aL57Hh6KQ" annotatedElement="_2QuT0GvdEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__hVAn68kEdqRKeAGm8hhTw" annotatedElement="_2QuT0GvdEdq4DLWZOhbdEA">

       <body>ExtensionEnd is a kind of Property that is always typed by a Stereotype. An ExtensionEnd is never navigable. If it was navigable, it would be a property of the extended classifier. Since a profile is not allowed to change the referenced metamodel, it is not possible to add properties to the extended classifier. As a consequence, an ExtensionEnd can only be owned by an Extension. The aggregation of an ExtensionEnd is always composite. The default multiplicity of an ExtensionEnd is 0..1.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4AAIxq8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_2QuT0GvdEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_4AAIx68aEdqf6aL57Hh6KQ" annotatedElement="_4AAIxq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hVAoK8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="_2QuT0GvdEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__hVAoa8kEdqRKeAGm8hhTw" annotatedElement="__hVAoK8kEdqRKeAGm8hhTw">

         <body>The multiplicity of ExtensionEnd is 0..1 or 1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAIyK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVAoq8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self->lowerBound() = 0 or self->lowerBound() = 1) and self->upperBound() = 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AAIya8aEdqf6aL57Hh6KQ" name="aggregation" constrainedElement="_2QuT0GvdEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_4AAIyq8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIya8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hVAo68kEdqRKeAGm8hhTw" name="aggregation" constrainedElement="_2QuT0GvdEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__hVApK8kEdqRKeAGm8hhTw" annotatedElement="__hVAo68kEdqRKeAGm8hhTw">

         <body>The aggregation of an ExtensionEnd is composite.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAIy68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVApa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.aggregation = #composite</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4AAIzK8aEdqf6aL57Hh6KQ" general="_Jp_1oGveEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4AAIza8aEdqf6aL57Hh6KQ" name="type" type="_A7vDAGv0Edq7X4sGURiZYA" redefinedProperty="_33g7Ea8aEdqf6aL57Hh6KQ" association="_4AJ5hq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AAIzq8aEdqf6aL57Hh6KQ" annotatedElement="_4AAIza8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hVApq8kEdqRKeAGm8hhTw" general="_Jp_1oGveEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__hVAp68kEdqRKeAGm8hhTw" name="type" type="_A7vDAGv0Edq7X4sGURiZYA" redefinedProperty="__YYf8a8kEdqRKeAGm8hhTw" association="__hVA5K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hVAqK8kEdqRKeAGm8hhTw" annotatedElement="__hVAp68kEdqRKeAGm8hhTw">

         <body>References the type of the ExtensionEnd. Note that this association restricts the possible types of an ExtensionEnd to only be Stereotypes.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAIz68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAI0K8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAqa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVAqq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAI0a8aEdqf6aL57Hh6KQ" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isDerived="true" redefinedProperty="_33OAPK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4AJ5ma8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4AJ5mq8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__hVAq68kEdqRKeAGm8hhTw" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isDerived="true" redefinedProperty="__YFlG68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hexbq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__hexb68kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAI0q8aEdqf6aL57Hh6KQ" annotatedElement="_4AAI0a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hVArK8kEdqRKeAGm8hhTw" annotatedElement="__hVAq68kEdqRKeAGm8hhTw">

         <body>This redefinition changes the default multiplicity of association ends, since model elements are usually extended by 0 or 1 instance of the extension stereotype.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AJ5m68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AJ5nK8aEdqf6aL57Hh6KQ"/>

-      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_4AJ5na8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexcK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexca8kEdqRKeAGm8hhTw"/>

+      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="__hexcq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_WLw30FYLEdqrn7iZ0eqieg" name="getLower" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_ZNVLYFYLEdqrn7iZ0eqieg" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

@@ -9348,122 +9348,122 @@
       <ownedParameter xmi:id="_4dG3wFYkEdqB6vblk3tuMA" name="newLower" visibility="protected" type="_XqvEIGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

     <ownedOperation xmi:id="_OIFfAGJxEdqjztwYO37Abg" name="unsetLower" visibility="protected"/>

-    <ownedOperation xmi:id="_4AAI1q8aEdqf6aL57Hh6KQ" name="lowerBound" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33XJ8K8aEdqf6aL57Hh6KQ" bodyCondition="_4AAI2K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AAI168aEdqf6aL57Hh6KQ" annotatedElement="_4AAI1q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__hVAsK8kEdqRKeAGm8hhTw" name="lowerBound" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YPV0K8kEdqRKeAGm8hhTw" bodyCondition="__hVAsq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hVAsa8kEdqRKeAGm8hhTw" annotatedElement="__hVAsK8kEdqRKeAGm8hhTw">

         <body>The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default

 

 lower bound, which normally, for MultiplicityElements, evaluates to 1 if empty.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4AAI2K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4AAI1q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAI2a8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hVAsq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hVAsK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVAs68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = lowerBound = if lowerValue->isEmpty() then 0 else lowerValue->IntegerValue() endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4AAI2q8aEdqf6aL57Hh6KQ" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__hVAtK8kEdqRKeAGm8hhTw" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATqgK8aEdqf6aL57Hh6KQ" name="VariableAction" isAbstract="true">

-    <ownedComment xmi:id="_4ATqga8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqgK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hexc68kEdqRKeAGm8hhTw" name="VariableAction" isAbstract="true">

+    <ownedComment xmi:id="__hexdK8kEdqRKeAGm8hhTw" annotatedElement="__hexc68kEdqRKeAGm8hhTw">

       <body>VariableAction is an abstract class for actions that operate on a statically specified variable.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4ATqgq8aEdqf6aL57Hh6KQ" name="scope_of_variable" constrainedElement="_4ATqgK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATqg68aEdqf6aL57Hh6KQ" annotatedElement="_4ATqgq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexda8kEdqRKeAGm8hhTw" name="scope_of_variable" constrainedElement="__hexc68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexdq8kEdqRKeAGm8hhTw" annotatedElement="__hexda8kEdqRKeAGm8hhTw">

         <body>The action must be in the scope of the variable.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATqhK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexd68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.variable.isAccessibleBy(self)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4ATqha8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4ATqhq8aEdqf6aL57Hh6KQ" name="variable" type="_38IVYK8aEdqf6aL57Hh6KQ" association="_4ATq5K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATqh68aEdqf6aL57Hh6KQ" annotatedElement="_4ATqhq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hexeK8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hexea8kEdqRKeAGm8hhTw" name="variable" type="__caEba8kEdqRKeAGm8hhTw" association="__hex168kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexeq8kEdqRKeAGm8hhTw" annotatedElement="__hexea8kEdqRKeAGm8hhTw">

         <body>Variable to be read.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATqiK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATqia8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexe68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexfK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATqiq8aEdqf6aL57Hh6KQ" name="ReadVariableAction">

-    <ownedComment xmi:id="_4ATqi68aEdqf6aL57Hh6KQ" annotatedElement="_4ATqiq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hexfa8kEdqRKeAGm8hhTw" name="ReadVariableAction">

+    <ownedComment xmi:id="__hexfq8kEdqRKeAGm8hhTw" annotatedElement="__hexfa8kEdqRKeAGm8hhTw">

       <body>This action reads the values of a variables, in order if the variable is ordered.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4ATqjK8aEdqf6aL57Hh6KQ" name="type_and_ordering" constrainedElement="_4ATqiq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATqja8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqjK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexf68kEdqRKeAGm8hhTw" name="type_and_ordering" constrainedElement="__hexfa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexgK8kEdqRKeAGm8hhTw" annotatedElement="__hexf68kEdqRKeAGm8hhTw">

         <body>The type and ordering of the result output pin of a read-variable action are the same as the type and ordering of the variable.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATqjq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexga8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type =self.variable.type

 and self.result.ordering = self.variable.ordering

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4ATqj68aEdqf6aL57Hh6KQ" name="compatible_multiplicity" constrainedElement="_4ATqiq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATqkK8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqj68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexgq8kEdqRKeAGm8hhTw" name="compatible_multiplicity" constrainedElement="__hexfa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexg68kEdqRKeAGm8hhTw" annotatedElement="__hexgq8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the variable must be compatible with the multiplicity of the output pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATqka8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexhK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.variable.multiplicity.compatibleWith(self.result.multiplicity)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4ATqkq8aEdqf6aL57Hh6KQ" general="_4ATqgK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4ATqk68aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4ATq6K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4ATqlK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4ATqla8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hexha8kEdqRKeAGm8hhTw" general="__hexc68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hexhq8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__hex268kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hexh68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hexiK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4ATqlq8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqk68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hexia8kEdqRKeAGm8hhTw" annotatedElement="__hexhq8kEdqRKeAGm8hhTw">

         <body>Gives the output pin on which the result is put.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATql68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATqmK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexiq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexi68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATqma8aEdqf6aL57Hh6KQ" name="WriteVariableAction" isAbstract="true">

-    <ownedComment xmi:id="_4ATqmq8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqma8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hexjK8kEdqRKeAGm8hhTw" name="WriteVariableAction" isAbstract="true">

+    <ownedComment xmi:id="__hexja8kEdqRKeAGm8hhTw" annotatedElement="__hexjK8kEdqRKeAGm8hhTw">

       <body>A write variable action operates on a variable to modify its values. It has an input pin on which the value that will be added or removed is put. Other aspects of write variable actions are inherited from VariableAction.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4ATqm68aEdqf6aL57Hh6KQ" name="same_type" constrainedElement="_4ATqma8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATqnK8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqm68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexjq8kEdqRKeAGm8hhTw" name="same_type" constrainedElement="__hexjK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexj68kEdqRKeAGm8hhTw" annotatedElement="__hexjq8kEdqRKeAGm8hhTw">

         <body>The type input pin is the same as the type of the variable.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATqna8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexkK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value.type = self.variable.type</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4ATqnq8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_4ATqma8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATqn68aEdqf6aL57Hh6KQ" annotatedElement="_4ATqnq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexka8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__hexjK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexkq8kEdqRKeAGm8hhTw" annotatedElement="__hexka8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATqoK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexk68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4ATqoa8aEdqf6aL57Hh6KQ" general="_4ATqgK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4ATqoq8aEdqf6aL57Hh6KQ" name="value" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4ATq7a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4ATqo68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4ATqpK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hexlK8kEdqRKeAGm8hhTw" general="__hexc68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hexla8kEdqRKeAGm8hhTw" name="value" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__hex4K8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hexlq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hexl68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4ATqpa8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqoq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hexmK8kEdqRKeAGm8hhTw" annotatedElement="__hexla8kEdqRKeAGm8hhTw">

         <body>Value to be added or removed from the variable.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATqpq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATqp68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexma8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexmq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATqqK8aEdqf6aL57Hh6KQ" name="ClearVariableAction">

-    <ownedComment xmi:id="_4ATqqa8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqqK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hexm68kEdqRKeAGm8hhTw" name="ClearVariableAction">

+    <ownedComment xmi:id="__hexnK8kEdqRKeAGm8hhTw" annotatedElement="__hexm68kEdqRKeAGm8hhTw">

       <body>This action removes all values of an variable.</body>

     </ownedComment>

-    <generalization xmi:id="_4ATqqq8aEdqf6aL57Hh6KQ" general="_4ATqgK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hexna8kEdqRKeAGm8hhTw" general="__hexc68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATqq68aEdqf6aL57Hh6KQ" name="AddVariableValueAction">

-    <ownedComment xmi:id="_4ATqrK8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqq68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hexnq8kEdqRKeAGm8hhTw" name="AddVariableValueAction">

+    <ownedComment xmi:id="__hexn68kEdqRKeAGm8hhTw" annotatedElement="__hexnq8kEdqRKeAGm8hhTw">

       <body>Variables are potentially multi-valued and ordered, so the action supports specification of insertion points for new values. It also supports the removal of existing values of the variable before the new value is added.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4ATqra8aEdqf6aL57Hh6KQ" name="single_input_pin" constrainedElement="_4ATqq68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATqrq8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqra8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexoK8kEdqRKeAGm8hhTw" name="single_input_pin" constrainedElement="__hexnq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexoa8kEdqRKeAGm8hhTw" annotatedElement="__hexoK8kEdqRKeAGm8hhTw">

         <body>Actions adding values to ordered variables must have a single input pin for the insertion point with type UnlimtedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATqr68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexoq8kEdqRKeAGm8hhTw" language="OCL">

         <body>let insertAtPins : Collection = self.insertAt in

 if self.variable.ordering = #unordered

 then insertAtPins->size() = 0

@@ -9475,278 +9475,278 @@
 </body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4ATqsK8aEdqf6aL57Hh6KQ" general="_4ATqma8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4ATqsa8aEdqf6aL57Hh6KQ" name="isReplaceAll" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4ATqsq8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqsa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hexo68kEdqRKeAGm8hhTw" general="__hexjK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hexpK8kEdqRKeAGm8hhTw" name="isReplaceAll" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hexpa8kEdqRKeAGm8hhTw" annotatedElement="__hexpK8kEdqRKeAGm8hhTw">

         <body>Specifies whether existing values of the variable should be removed before adding the new value.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4ATqs68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__hexpq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4ATqtK8aEdqf6aL57Hh6KQ" name="insertAt" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4ATq8q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4ATqta8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4ATqtq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hexp68kEdqRKeAGm8hhTw" name="insertAt" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__hex5a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hexqK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hexqa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4ATqt68aEdqf6aL57Hh6KQ" annotatedElement="_4ATqtK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hexqq8kEdqRKeAGm8hhTw" annotatedElement="__hexp68kEdqRKeAGm8hhTw">

         <body>Gives the position at which to insert a new value or move an existing value in ordered variables. The types is UnlimitedINatural, but the value cannot be zero. This pin is omitted for unordered variables.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATquK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATqua8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexq68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexrK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATquq8aEdqf6aL57Hh6KQ" name="RemoveVariableValueAction">

-    <ownedComment xmi:id="_4ATqu68aEdqf6aL57Hh6KQ" annotatedElement="_4ATquq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hexra8kEdqRKeAGm8hhTw" name="RemoveVariableValueAction">

+    <ownedComment xmi:id="__hexrq8kEdqRKeAGm8hhTw" annotatedElement="__hexra8kEdqRKeAGm8hhTw">

       <body>One value is removed from the set of possible variable values. Variables are potentially multi-valued and ordered, and may support duplicates, so the action supports specification of removal points for new values.  It also supports the removal of all duplicate values.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4ATqvK8aEdqf6aL57Hh6KQ" name="unlimited_natural" constrainedElement="_4ATquq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATqva8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqvK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexr68kEdqRKeAGm8hhTw" name="unlimited_natural" constrainedElement="__hexra8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexsK8kEdqRKeAGm8hhTw" annotatedElement="__hexr68kEdqRKeAGm8hhTw">

         <body>Actions removing a value from ordered nonunique variables must have a single removeAt input pin if isRemoveDuplicates is false. It must be of type UnlimitedNatural with multiplicity of 1..1, otherwise the action has no removeAt input pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATqvq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexsa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4ATqv68aEdqf6aL57Hh6KQ" general="_4ATqma8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4ATqwK8aEdqf6aL57Hh6KQ" name="isRemoveDuplicates" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4ATqwa8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqwK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hexsq8kEdqRKeAGm8hhTw" general="__hexjK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hexs68kEdqRKeAGm8hhTw" name="isRemoveDuplicates" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hextK8kEdqRKeAGm8hhTw" annotatedElement="__hexs68kEdqRKeAGm8hhTw">

         <body>Specifies whether to remove duplicates of the value in nonunique variables.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4ATqwq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__hexta8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4ATqw68aEdqf6aL57Hh6KQ" name="removeAt" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4ATq968aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4ATqxK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4ATqxa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hextq8kEdqRKeAGm8hhTw" name="removeAt" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__hex6q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hext68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hexuK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4ATqxq8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqw68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hexua8kEdqRKeAGm8hhTw" annotatedElement="__hextq8kEdqRKeAGm8hhTw">

         <body>Specifies the position of an existing value to remove in ordered nonunique variables. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATqx68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATqyK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexuq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexu68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATqya8aEdqf6aL57Hh6KQ" name="RaiseExceptionAction">

-    <ownedComment xmi:id="_4ATqyq8aEdqf6aL57Hh6KQ" annotatedElement="_4ATqya8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hexvK8kEdqRKeAGm8hhTw" name="RaiseExceptionAction">

+    <ownedComment xmi:id="__hexva8kEdqRKeAGm8hhTw" annotatedElement="__hexvK8kEdqRKeAGm8hhTw">

       <body>RaiseExceptionAction is an action that causes an exception to occur. The input value becomes the exception object.</body>

     </ownedComment>

-    <generalization xmi:id="_4ATqy68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4ATqzK8aEdqf6aL57Hh6KQ" name="exception" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4ATrAa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4ATqza8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4ATqzq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hexvq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hexv68kEdqRKeAGm8hhTw" name="exception" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__hn7Va8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hexwK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hexwa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4ATqz68aEdqf6aL57Hh6KQ" annotatedElement="_4ATqzK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hexwq8kEdqRKeAGm8hhTw" annotatedElement="__hexv68kEdqRKeAGm8hhTw">

         <body>An input pin whose value becomes an exception object.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATq0K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATq0a8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hexw68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hexxK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATq0q8aEdqf6aL57Hh6KQ" name="ActionInputPin">

-    <ownedComment xmi:id="_4ATq068aEdqf6aL57Hh6KQ" annotatedElement="_4ATq0q8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hexxa8kEdqRKeAGm8hhTw" name="ActionInputPin">

+    <ownedComment xmi:id="__hexxq8kEdqRKeAGm8hhTw" annotatedElement="__hexxa8kEdqRKeAGm8hhTw">

       <body>An action input pin is a kind of pin that executes an action to determine the values to input to another.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4ATq1K8aEdqf6aL57Hh6KQ" name="one_output_pin" constrainedElement="_4ATq0q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATq1a8aEdqf6aL57Hh6KQ" annotatedElement="_4ATq1K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexx68kEdqRKeAGm8hhTw" name="one_output_pin" constrainedElement="__hexxa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexyK8kEdqRKeAGm8hhTw" annotatedElement="__hexx68kEdqRKeAGm8hhTw">

         <body>The fromAction of an action input pin must have exactly one output pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATq1q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexya8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4ATq168aEdqf6aL57Hh6KQ" name="input_pin" constrainedElement="_4ATq0q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATq2K8aEdqf6aL57Hh6KQ" annotatedElement="_4ATq168aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexyq8kEdqRKeAGm8hhTw" name="input_pin" constrainedElement="__hexxa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexy68kEdqRKeAGm8hhTw" annotatedElement="__hexyq8kEdqRKeAGm8hhTw">

         <body>The fromAction of an action input pin must only have action input pins as input pins.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATq2a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexzK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4ATq2q8aEdqf6aL57Hh6KQ" name="no_control_or_data_flow" constrainedElement="_4ATq0q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATq268aEdqf6aL57Hh6KQ" annotatedElement="_4ATq2q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hexza8kEdqRKeAGm8hhTw" name="no_control_or_data_flow" constrainedElement="__hexxa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hexzq8kEdqRKeAGm8hhTw" annotatedElement="__hexza8kEdqRKeAGm8hhTw">

         <body>The fromAction of an action input pin cannot have control or data flows coming into or out of it or its pins.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATq3K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hexz68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4ATq3a8aEdqf6aL57Hh6KQ" general="_37_LM68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4ATq3q8aEdqf6aL57Hh6KQ" name="fromAction" type="_37_LkK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4ATq_K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4ATq368aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4ATq4K8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hex0K8kEdqRKeAGm8hhTw" general="__cQ6OK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hex0a8kEdqRKeAGm8hhTw" name="fromAction" type="__cQ6la8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__hn7UK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hex0q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hex068kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4ATq4a8aEdqf6aL57Hh6KQ" annotatedElement="_4ATq3q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hex1K8kEdqRKeAGm8hhTw" annotatedElement="__hex0a8kEdqRKeAGm8hhTw">

         <body>The action used to provide values.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATq4q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATq468aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hex1a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hex1q8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4ATq5K8aEdqf6aL57Hh6KQ" name="A_variable_variableAction" memberEnd="_4ATqhq8aEdqf6aL57Hh6KQ _4ATq5a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4ATq5a8aEdqf6aL57Hh6KQ" type="_4ATqgK8aEdqf6aL57Hh6KQ" association="_4ATq5K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATq5q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATq568aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hex168kEdqRKeAGm8hhTw" name="A_variable_variableAction" memberEnd="__hexea8kEdqRKeAGm8hhTw __hex2K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hex2K8kEdqRKeAGm8hhTw" type="__hexc68kEdqRKeAGm8hhTw" association="__hex168kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hex2a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hex2q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4ATq6K8aEdqf6aL57Hh6KQ" name="A_result_readVariableAction" memberEnd="_4ATq6q8aEdqf6aL57Hh6KQ _4ATqk68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4ATq6a8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4ATq6q8aEdqf6aL57Hh6KQ" type="_4ATqiq8aEdqf6aL57Hh6KQ" association="_4ATq6K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATq668aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATq7K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hex268kEdqRKeAGm8hhTw" name="A_result_readVariableAction" memberEnd="__hexhq8kEdqRKeAGm8hhTw __hex3a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hex3K8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hex3a8kEdqRKeAGm8hhTw" type="__hexfa8kEdqRKeAGm8hhTw" association="__hex268kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hex3q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hex368kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4ATq7a8aEdqf6aL57Hh6KQ" name="A_value_writeVariableAction" memberEnd="_4ATq768aEdqf6aL57Hh6KQ _4ATqoq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4ATq7q8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4ATq768aEdqf6aL57Hh6KQ" type="_4ATqma8aEdqf6aL57Hh6KQ" association="_4ATq7a8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATq8K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATq8a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hex4K8kEdqRKeAGm8hhTw" name="A_value_writeVariableAction" memberEnd="__hexla8kEdqRKeAGm8hhTw __hex4q8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hex4a8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hex4q8kEdqRKeAGm8hhTw" type="__hexjK8kEdqRKeAGm8hhTw" association="__hex4K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hex468kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hex5K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4ATq8q8aEdqf6aL57Hh6KQ" name="A_insertAt_addVariableValueAction" memberEnd="_4ATqtK8aEdqf6aL57Hh6KQ _4ATq9K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4ATq868aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4ATq9K8aEdqf6aL57Hh6KQ" type="_4ATqq68aEdqf6aL57Hh6KQ" association="_4ATq8q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATq9a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATq9q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hex5a8kEdqRKeAGm8hhTw" name="A_insertAt_addVariableValueAction" memberEnd="__hexp68kEdqRKeAGm8hhTw __hex568kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hex5q8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hex568kEdqRKeAGm8hhTw" type="__hexnq8kEdqRKeAGm8hhTw" association="__hex5a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hex6K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hex6a8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4ATq968aEdqf6aL57Hh6KQ" name="A_removeAt_removeVariableValueAction" memberEnd="_4ATqw68aEdqf6aL57Hh6KQ _4ATq-a8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4ATq-K8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4ATq-a8aEdqf6aL57Hh6KQ" type="_4ATquq8aEdqf6aL57Hh6KQ" association="_4ATq968aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATq-q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATq-68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hex6q8kEdqRKeAGm8hhTw" name="A_removeAt_removeVariableValueAction" memberEnd="__hex7K8kEdqRKeAGm8hhTw __hextq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hex668kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hex7K8kEdqRKeAGm8hhTw" type="__hexra8kEdqRKeAGm8hhTw" association="__hex6q8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hex7a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hex7q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4ATq_K8aEdqf6aL57Hh6KQ" name="A_fromAction_actionInputPin" memberEnd="_4ATq3q8aEdqf6aL57Hh6KQ _4ATq_q8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4ATq_a8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4ATq_q8aEdqf6aL57Hh6KQ" type="_4ATq0q8aEdqf6aL57Hh6KQ" association="_4ATq_K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATq_68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATrAK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7UK8kEdqRKeAGm8hhTw" name="A_fromAction_actionInputPin" memberEnd="__hex0a8kEdqRKeAGm8hhTw __hn7Uq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hn7Ua8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hn7Uq8kEdqRKeAGm8hhTw" type="__hexxa8kEdqRKeAGm8hhTw" association="__hn7UK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7U68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7VK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4ATrAa8aEdqf6aL57Hh6KQ" name="A_exception_raiseExceptionAction" memberEnd="_4ATrA68aEdqf6aL57Hh6KQ _4ATqzK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4ATrAq8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4ATrA68aEdqf6aL57Hh6KQ" type="_4ATqya8aEdqf6aL57Hh6KQ" association="_4ATrAa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATrBK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATrBa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7Va8kEdqRKeAGm8hhTw" name="A_exception_raiseExceptionAction" memberEnd="__hn7V68kEdqRKeAGm8hhTw __hexv68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hn7Vq8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hn7V68kEdqRKeAGm8hhTw" type="__hexvK8kEdqRKeAGm8hhTw" association="__hn7Va8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7WK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7Wa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4ATrBq8aEdqf6aL57Hh6KQ" name="GeneralizationSet">

-    <ownedComment xmi:id="_4ATrB68aEdqf6aL57Hh6KQ" annotatedElement="_4ATrBq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hn7Wq8kEdqRKeAGm8hhTw" name="GeneralizationSet">

+    <ownedComment xmi:id="__hn7W68kEdqRKeAGm8hhTw" annotatedElement="__hn7Wq8kEdqRKeAGm8hhTw">

       <body>Each Generalization is a binary relationship that relates a specific Classifier to a more general Classifier (i.e., from a class to its superclasses). Each GeneralizationSet defines a particular set of Generalization relationships that describe the way in which a general Classifier (or superclass) may be divided using specific subtypes. For example, a GeneralizationSet could define a partitioning of the class Person into two subclasses: Male Person and Female Person. Here, the GeneralizationSet would associate two instances of Generalization. Both instances would have Person as the general classifier, however one Generalization would involve Male Person as the specific Classifier and the other would involve Female Person as the specific classifier. In other words, the class Person can here be said to be partitioned into two subclasses: Male Person and Female Person. Person could also be divided into North American Person, Asian Person, European Person, or something else. This collection of subsets would  define a different GeneralizationSet that would associate with three other Generalization relationships. All three would have Person as the general Classifier; only the specific classifiers would differ: i.e., North American Person, Asian Person, and European Person.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4ATrCK8aEdqf6aL57Hh6KQ" name="generalization_same_classifier" constrainedElement="_4ATrBq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATrCa8aEdqf6aL57Hh6KQ" annotatedElement="_4ATrCK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7XK8kEdqRKeAGm8hhTw" name="generalization_same_classifier" constrainedElement="__hn7Wq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7Xa8kEdqRKeAGm8hhTw" annotatedElement="__hn7XK8kEdqRKeAGm8hhTw">

         <body>Every Generalization associated with a particular GeneralizationSet must have the same general Classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATrCq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7Xq8kEdqRKeAGm8hhTw" language="OCL">

         <body>generalization->collect(g | g.general)->asSet()->size() &lt;= 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4ATrC68aEdqf6aL57Hh6KQ" name="maps_to_generalization_set" constrainedElement="_4ATrBq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATrDK8aEdqf6aL57Hh6KQ" annotatedElement="_4ATrC68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7X68kEdqRKeAGm8hhTw" name="maps_to_generalization_set" constrainedElement="__hn7Wq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7YK8kEdqRKeAGm8hhTw" annotatedElement="__hn7X68kEdqRKeAGm8hhTw">

         <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4ATrDa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7Ya8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4ATrDq8aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_4ATrD68aEdqf6aL57Hh6KQ" name="isCovering" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4ATrEK8aEdqf6aL57Hh6KQ" annotatedElement="_4ATrD68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hn7Yq8kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__hn7Y68kEdqRKeAGm8hhTw" name="isCovering" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hn7ZK8kEdqRKeAGm8hhTw" annotatedElement="__hn7Y68kEdqRKeAGm8hhTw">

         <body>Indicates (via the associated Generalizations) whether or not the set of specific Classifiers are covering for a particular general classifier. When isCovering is true, every instance of a particular general Classifier is also an instance of at least one of its specific Classifiers for the GeneralizationSet. When isCovering is false, there are one or more instances of the particular general Classifier that are not instances of at least one of its specific Classifiers defined for the GeneralizationSet. For example, Person could have two Generalization relationships each with a different specific Classifier: Male Person and Female Person. This GeneralizationSet would be covering because every instance of Person would be an instance of Male Person or Female Person. In contrast, Person could have a three Generalization relationships involving three specific Classifiers: North American Person, Asian Person, and European Person. This GeneralizationSet would not be covering because there are instances of Person for which these three specific Classifiers do not apply. The first example, then, could be read: any Person would be specialized as either being a Male Person or a Female Person—and nothing else; the second could be read: any Person would be specialized as being North American Person, Asian Person, European Person, or something else.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4ATrEa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__hn7Za8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4ATrEq8aEdqf6aL57Hh6KQ" name="isDisjoint" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4ATrE68aEdqf6aL57Hh6KQ" annotatedElement="_4ATrEq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7Zq8kEdqRKeAGm8hhTw" name="isDisjoint" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hn7Z68kEdqRKeAGm8hhTw" annotatedElement="__hn7Zq8kEdqRKeAGm8hhTw">

         <body>Indicates whether or not the set of specific Classifiers in a Generalization relationship have instance in common. If isDisjoint is true, the specific Classifiers for a particular GeneralizationSet have no members in common; that is, their intersection is empty. If isDisjoint is false, the specific Classifiers in a particular GeneralizationSet have one or more members in common; that is, their intersection is not empty. For example, Person could have two Generalization relationships, each with the different specific Classifier: Manager or Staff. This would be disjoint because every instance of Person must either be a Manager or Staff. In contrast, Person could have two Generalization relationships involving two specific (and non-covering) Classifiers: Sales Person and Manager. This GeneralizationSet would not be disjoint because there are instances of Person which can be a Sales Person and a Manager.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4ATrFK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__hn7aK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4ATrFa8aEdqf6aL57Hh6KQ" name="powertype" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4Ac0f68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATrFq8aEdqf6aL57Hh6KQ" annotatedElement="_4ATrFa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7aa8kEdqRKeAGm8hhTw" name="powertype" type="_6UV2QGwJEdq7X4sGURiZYA" association="__hn7gK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7aq8kEdqRKeAGm8hhTw" annotatedElement="__hn7aa8kEdqRKeAGm8hhTw">

         <body>Designates the Classifier that is defined as the power type for the associated GeneralizationSet.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATrF68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATrGK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7a68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7bK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4ATrGa8aEdqf6aL57Hh6KQ" name="generalization" type="_C7AF4GwREdq14q0ETb1t3g" association="_4Ac0gK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4ATrGq8aEdqf6aL57Hh6KQ" annotatedElement="_4ATrGa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7ba8kEdqRKeAGm8hhTw" name="generalization" type="_C7AF4GwREdq14q0ETb1t3g" association="__hn7ga8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7bq8kEdqRKeAGm8hhTw" annotatedElement="__hn7ba8kEdqRKeAGm8hhTw">

         <body>Designates the instances of Generalization which are members of a given GeneralizationSet.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4ATrG68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ATrHK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7b68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7cK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_C7AF4GwREdq14q0ETb1t3g" name="Generalization">

-    <ownedComment xmi:id="_36WMcK8aEdqf6aL57Hh6KQ" annotatedElement="_C7AF4GwREdq14q0ETb1t3g">

+    <ownedComment xmi:id="__axFaK8kEdqRKeAGm8hhTw" annotatedElement="_C7AF4GwREdq14q0ETb1t3g">

       <body>A generalization relates a specific classifier to a more general classifier, and is owned by the specific classifier.

 

 A generalization can be designated as being a member of a particular generalization set.

 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_4Ac0d68aEdqf6aL57Hh6KQ" annotatedElement="_C7AF4GwREdq14q0ETb1t3g">

+    <ownedComment xmi:id="__hn7eK8kEdqRKeAGm8hhTw" annotatedElement="_C7AF4GwREdq14q0ETb1t3g">

       <body>A generalization relates a specific classifier to a more general classifier, and is owned by the specific classifier.

 

 

 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_4Ac0eK8aEdqf6aL57Hh6KQ" name="generalization_same_classifier" constrainedElement="_C7AF4GwREdq14q0ETb1t3g">

-      <ownedComment xmi:id="_4Ac0ea8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0eK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7ea8kEdqRKeAGm8hhTw" name="generalization_same_classifier" constrainedElement="_C7AF4GwREdq14q0ETb1t3g">

+      <ownedComment xmi:id="__hn7eq8kEdqRKeAGm8hhTw" annotatedElement="__hn7ea8kEdqRKeAGm8hhTw">

         <body>Every Generalization associated with a given GeneralizationSet must have the same general Classifier. That is, all Generalizations for a particular GeneralizationSet must have the same superclass.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0eq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7e68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_36WMca8aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_36WMcq8aEdqf6aL57Hh6KQ" name="isSubstitutable" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_36WMc68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_36WMdK8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <generalization xmi:id="__axFaa8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__axFaq8kEdqRKeAGm8hhTw" name="isSubstitutable" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__axFa68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__axFbK8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36WMda8aEdqf6aL57Hh6KQ" annotatedElement="_36WMcq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__axFba8kEdqRKeAGm8hhTw" annotatedElement="__axFaq8kEdqRKeAGm8hhTw">

         <body>Indicates whether the specific classifier can be used wherever the general classifier can be used. If true, the execution traces of the specific classifier will be a superset of the execution traces of the general classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMdq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMd68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__axFbq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__axFb68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36WMeK8aEdqf6aL57Hh6KQ" name="specific" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ _33OACq8aEdqf6aL57Hh6KQ" association="_37ifQK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_36WMea8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36WMeq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__axFcK8kEdqRKeAGm8hhTw" name="specific" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw" association="__bqddq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__axFca8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__axFcq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36WMe68aEdqf6aL57Hh6KQ" annotatedElement="_36WMeK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__axFc68kEdqRKeAGm8hhTw" annotatedElement="__axFcK8kEdqRKeAGm8hhTw">

         <body>References the specializing classifier in the Generalization relationship.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMfK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMfa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__axFdK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__axFda8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36WMfq8aEdqf6aL57Hh6KQ" name="general" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_37ifQ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_36WMf68aEdqf6aL57Hh6KQ" annotatedElement="_36WMfq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__axFdq8kEdqRKeAGm8hhTw" name="general" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__bqdea8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__axFd68kEdqRKeAGm8hhTw" annotatedElement="__axFdq8kEdqRKeAGm8hhTw">

         <body>References the general classifier in the Generalization relationship.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMgK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMga8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__axFeK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__axFea8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0e68aEdqf6aL57Hh6KQ" name="generalizationSet" type="_4ATrBq8aEdqf6aL57Hh6KQ" association="_4Ac0gK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0fK8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0e68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7fK8kEdqRKeAGm8hhTw" name="generalizationSet" type="__hn7Wq8kEdqRKeAGm8hhTw" association="__hn7ga8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7fa8kEdqRKeAGm8hhTw" annotatedElement="__hn7fK8kEdqRKeAGm8hhTw">

         <body>Designates a set in which instances of Generalization is considered members.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0fa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0fq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7fq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7f68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac0f68aEdqf6aL57Hh6KQ" name="A_powertypeExtent_powertype" memberEnd="_4Ac0c68aEdqf6aL57Hh6KQ _4ATrFa8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac0gK8aEdqf6aL57Hh6KQ" name="A_generalizationSet_generalization" memberEnd="_4Ac0e68aEdqf6aL57Hh6KQ _4ATrGa8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4Ac0ga8aEdqf6aL57Hh6KQ" name="InformationItem">

-    <ownedComment xmi:id="_4Ac0gq8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0ga8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7gK8kEdqRKeAGm8hhTw" name="A_powertypeExtent_powertype" memberEnd="__hn7aa8kEdqRKeAGm8hhTw __hn7dK8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7ga8kEdqRKeAGm8hhTw" name="A_generalizationSet_generalization" memberEnd="__hn7ba8kEdqRKeAGm8hhTw __hn7fK8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Class" xmi:id="__hn7gq8kEdqRKeAGm8hhTw" name="InformationItem">

+    <ownedComment xmi:id="__hn7g68kEdqRKeAGm8hhTw" annotatedElement="__hn7gq8kEdqRKeAGm8hhTw">

       <body>An information item is an abstraction of all kinds of information that can be exchanged between objects. It is a kind of classifier intended for representing information in a very abstract way, one which cannot be instantiated. One purpose of InformationItems is to be able to define preliminary models, before having made detailed modeling decisions on types or structures. One other purpose of information items and information flows is to abstract complex models by a less precise but more general representation of the information exchanged betwen entities of a system.

 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_4Ac0g68aEdqf6aL57Hh6KQ" name="sources_and_targets" constrainedElement="_4Ac0ga8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0hK8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0g68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7hK8kEdqRKeAGm8hhTw" name="sources_and_targets" constrainedElement="__hn7gq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7ha8kEdqRKeAGm8hhTw" annotatedElement="__hn7hK8kEdqRKeAGm8hhTw">

         <body>The sources and targets of an information item (its related information flows) must designate subsets of the sources and targets of the representation information item, if any.The Classifiers that can realize an information item can only be of the following kind: Class, Interface, InformationItem, Signal, Component.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0ha8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7hq8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.represented->select(p | p->oclIsKindOf(InformationItem))->forAll(p |

 

   p.informationFlow.source->forAll(q | self.informationFlow.source->include(q)) and

@@ -9758,40 +9758,40 @@
         oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Ac0hq8aEdqf6aL57Hh6KQ" name="has_no" constrainedElement="_4Ac0ga8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0h68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0hq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7h68kEdqRKeAGm8hhTw" name="has_no" constrainedElement="__hn7gq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7iK8kEdqRKeAGm8hhTw" annotatedElement="__hn7h68kEdqRKeAGm8hhTw">

         <body>An informationItem has no feature, no generalization, and no associations.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0iK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7ia8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.generalization->isEmpty() and self.feature->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Ac0ia8aEdqf6aL57Hh6KQ" name="not_instantiable" constrainedElement="_4Ac0ga8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0iq8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0ia8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7iq8kEdqRKeAGm8hhTw" name="not_instantiable" constrainedElement="__hn7gq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7i68kEdqRKeAGm8hhTw" annotatedElement="__hn7iq8kEdqRKeAGm8hhTw">

         <body>It is not instantiable.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0i68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7jK8kEdqRKeAGm8hhTw" language="OCL">

         <body>isAbstract</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4Ac0jK8aEdqf6aL57Hh6KQ" general="_6UV2QGwJEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_4Ac0ja8aEdqf6aL57Hh6KQ" name="represented" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4Ac0vq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0jq8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0ja8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hn7ja8kEdqRKeAGm8hhTw" general="_6UV2QGwJEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__hn7jq8kEdqRKeAGm8hhTw" name="represented" type="_6UV2QGwJEdq7X4sGURiZYA" association="__hn7v68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7j68kEdqRKeAGm8hhTw" annotatedElement="__hn7jq8kEdqRKeAGm8hhTw">

         <body>Determines the classifiers that will specify the structure and nature of the information. An information item represents all its represented classifiers.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0j68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0kK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7kK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7ka8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4Ac0ka8aEdqf6aL57Hh6KQ" name="InformationFlow">

-    <ownedComment xmi:id="_4Ac0kq8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0ka8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hn7kq8kEdqRKeAGm8hhTw" name="InformationFlow">

+    <ownedComment xmi:id="__hn7k68kEdqRKeAGm8hhTw" annotatedElement="__hn7kq8kEdqRKeAGm8hhTw">

       <body>An information flow specifies that one or more information items circulates from its sources to its targets. Information flows require some kind of information channel for transmitting information items from the source to the destination. An information channel is represented in various ways depending on the nature of its sources and targets. It may be represented by connectors, links, associations, or even dependencies. For example, if the source and destination are parts in some composite structure such as a collaboration, then the information channel is likely to be represented by a connector between them. Or, if the source and target are objects (which are a kind of InstanceSpecification), they may be represented by a link that joins the two, and so on.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4Ac0k68aEdqf6aL57Hh6KQ" name="sources_and_targets_kind" constrainedElement="_4Ac0ka8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0lK8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0k68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7lK8kEdqRKeAGm8hhTw" name="sources_and_targets_kind" constrainedElement="__hn7kq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7la8kEdqRKeAGm8hhTw" annotatedElement="__hn7lK8kEdqRKeAGm8hhTw">

         <body>The sources and targets of the information flow can only be one of the following kind: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link).</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0la8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7lq8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.source->forAll(p | p->oclIsKindOf(Actor) or oclIsKindOf(Node) or

 

   oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or

@@ -9813,1186 +9813,1186 @@
       oclIsKindOf(ActivityPartition) or oclIsKindOf(InstanceSpecification)))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Ac0lq8aEdqf6aL57Hh6KQ" name="must_conform" constrainedElement="_4Ac0ka8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0l68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0lq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7l68kEdqRKeAGm8hhTw" name="must_conform" constrainedElement="__hn7kq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7mK8kEdqRKeAGm8hhTw" annotatedElement="__hn7l68kEdqRKeAGm8hhTw">

         <body>The sources and targets of the information flow must conform with the sources and targets or conversely the targets and sources of the realization relationships.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0mK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7ma8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Ac0ma8aEdqf6aL57Hh6KQ" name="convey_classifiers" constrainedElement="_4Ac0ka8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0mq8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0ma8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7mq8kEdqRKeAGm8hhTw" name="convey_classifiers" constrainedElement="__hn7kq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7m68kEdqRKeAGm8hhTw" annotatedElement="__hn7mq8kEdqRKeAGm8hhTw">

         <body>An information flow can only convey classifiers that are allowed to represent an information item.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0m68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7nK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.conveyed.represented->forAll(p | p->oclIsKindOf(Class) or oclIsKindOf(Interface)

 

   or oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4Ac0nK8aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <generalization xmi:id="_4Ac0na8aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_4Ac0nq8aEdqf6aL57Hh6KQ" name="realization" type="_DH62EKPAEdqi_5gqUMOQtA" association="_4Ac0uq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0n68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0nq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hn7na8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <generalization xmi:id="__hn7nq8kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__hn7n68kEdqRKeAGm8hhTw" name="realization" type="_DH62EKPAEdqi_5gqUMOQtA" association="__hn7u68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7oK8kEdqRKeAGm8hhTw" annotatedElement="__hn7n68kEdqRKeAGm8hhTw">

         <body>Determines which Relationship will realize the specified flow</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0oK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0oa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7oa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7oq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0oq8aEdqf6aL57Hh6KQ" name="conveyed" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4Ac0wq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0o68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0oq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7o68kEdqRKeAGm8hhTw" name="conveyed" type="_6UV2QGwJEdq7X4sGURiZYA" association="__hn7w68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7pK8kEdqRKeAGm8hhTw" annotatedElement="__hn7o68kEdqRKeAGm8hhTw">

         <body>Specifies the information items that may circulate on this information flow.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0pK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0pa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7pa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7pq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0pq8aEdqf6aL57Hh6KQ" name="informationSource" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ" association="_4Ac0xq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0p68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0pq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7p68kEdqRKeAGm8hhTw" name="informationSource" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw" association="__hn7x68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7qK8kEdqRKeAGm8hhTw" annotatedElement="__hn7p68kEdqRKeAGm8hhTw">

         <body>Defines from which source the conveyed InformationItems are initiated.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0qK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0qa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7qa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7qq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0qq8aEdqf6aL57Hh6KQ" name="informationTarget" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_4Ac0y68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0q68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0qq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7q68kEdqRKeAGm8hhTw" name="informationTarget" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__hn7zK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7rK8kEdqRKeAGm8hhTw" annotatedElement="__hn7q68kEdqRKeAGm8hhTw">

         <body>Defines to which target the conveyed InformationItems are directed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0rK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0ra8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7ra8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7rq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0rq8aEdqf6aL57Hh6KQ" name="realizingActivityEdge" type="_3838V68aEdqf6aL57Hh6KQ" association="_4Ac00K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0r68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0rq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7r68kEdqRKeAGm8hhTw" name="realizingActivityEdge" type="__dAhdq8kEdqRKeAGm8hhTw" association="__hn70a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7sK8kEdqRKeAGm8hhTw" annotatedElement="__hn7r68kEdqRKeAGm8hhTw">

         <body>Determines which ActivityEdges will realize the specified flow.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0sK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0sa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7sa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7sq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0sq8aEdqf6aL57Hh6KQ" name="realizingConnector" type="_38uyHq8aEdqf6aL57Hh6KQ" association="_4Ac01K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0s68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0sq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7s68kEdqRKeAGm8hhTw" name="realizingConnector" type="__c2wVq8kEdqRKeAGm8hhTw" association="__hn71a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7tK8kEdqRKeAGm8hhTw" annotatedElement="__hn7s68kEdqRKeAGm8hhTw">

         <body>Determines which Connectors will realize the specified flow.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0tK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0ta8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7ta8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7tq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0tq8aEdqf6aL57Hh6KQ" name="realizingMessage" type="_gfgNwGveEdq4DLWZOhbdEA" association="_4Ac02K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0t68aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0tq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7t68kEdqRKeAGm8hhTw" name="realizingMessage" type="_gfgNwGveEdq4DLWZOhbdEA" association="__hn72a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7uK8kEdqRKeAGm8hhTw" annotatedElement="__hn7t68kEdqRKeAGm8hhTw">

         <body>Determines which Messages will realize the specified flow.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0uK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0ua8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7ua8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7uq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac0uq8aEdqf6aL57Hh6KQ" name="A_realization_abstraction" memberEnd="_4Ac0nq8aEdqf6aL57Hh6KQ _4Ac0u68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4Ac0u68aEdqf6aL57Hh6KQ" name="abstraction" type="_4Ac0ka8aEdqf6aL57Hh6KQ" association="_4Ac0uq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0vK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0va8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7u68kEdqRKeAGm8hhTw" name="A_realization_abstraction" memberEnd="__hn7vK8kEdqRKeAGm8hhTw __hn7n68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hn7vK8kEdqRKeAGm8hhTw" name="abstraction" type="__hn7kq8kEdqRKeAGm8hhTw" association="__hn7u68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7va8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7vq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac0vq8aEdqf6aL57Hh6KQ" name="A_represented_representation" memberEnd="_4Ac0ja8aEdqf6aL57Hh6KQ _4Ac0v68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4Ac0v68aEdqf6aL57Hh6KQ" name="representation" type="_4Ac0ga8aEdqf6aL57Hh6KQ" association="_4Ac0vq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0wK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0wa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7v68kEdqRKeAGm8hhTw" name="A_represented_representation" memberEnd="__hn7wK8kEdqRKeAGm8hhTw __hn7jq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hn7wK8kEdqRKeAGm8hhTw" name="representation" type="__hn7gq8kEdqRKeAGm8hhTw" association="__hn7v68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7wa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7wq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac0wq8aEdqf6aL57Hh6KQ" name="A_conveyed_informationFlow" memberEnd="_4Ac0oq8aEdqf6aL57Hh6KQ _4Ac0w68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4Ac0w68aEdqf6aL57Hh6KQ" type="_4Ac0ka8aEdqf6aL57Hh6KQ" association="_4Ac0wq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0xK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0xa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7w68kEdqRKeAGm8hhTw" name="A_conveyed_informationFlow" memberEnd="__hn7o68kEdqRKeAGm8hhTw __hn7xK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hn7xK8kEdqRKeAGm8hhTw" type="__hn7kq8kEdqRKeAGm8hhTw" association="__hn7w68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7xa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7xq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac0xq8aEdqf6aL57Hh6KQ" name="A_informationSource_informationFlow" memberEnd="_4Ac0pq8aEdqf6aL57Hh6KQ _4Ac0yK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4Ac0x68aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4Ac0yK8aEdqf6aL57Hh6KQ" type="_4Ac0ka8aEdqf6aL57Hh6KQ" association="_4Ac0xq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0ya8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0yq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7x68kEdqRKeAGm8hhTw" name="A_informationSource_informationFlow" memberEnd="__hn7p68kEdqRKeAGm8hhTw __hn7ya8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hn7yK8kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hn7ya8kEdqRKeAGm8hhTw" type="__hn7kq8kEdqRKeAGm8hhTw" association="__hn7x68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7yq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7y68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac0y68aEdqf6aL57Hh6KQ" name="A_informationTarget_informationFlow" memberEnd="_4Ac0qq8aEdqf6aL57Hh6KQ _4Ac0za8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4Ac0zK8aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4Ac0za8aEdqf6aL57Hh6KQ" type="_4Ac0ka8aEdqf6aL57Hh6KQ" association="_4Ac0y68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0zq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0z68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn7zK8kEdqRKeAGm8hhTw" name="A_informationTarget_informationFlow" memberEnd="__hn7zq8kEdqRKeAGm8hhTw __hn7q68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__hn7za8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__hn7zq8kEdqRKeAGm8hhTw" type="__hn7kq8kEdqRKeAGm8hhTw" association="__hn7zK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7z68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn70K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac00K8aEdqf6aL57Hh6KQ" name="A_realizingActivityEdge_informationFlow" memberEnd="_4Ac0rq8aEdqf6aL57Hh6KQ _4Ac00a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4Ac00a8aEdqf6aL57Hh6KQ" type="_4Ac0ka8aEdqf6aL57Hh6KQ" association="_4Ac00K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac00q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0068aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn70a8kEdqRKeAGm8hhTw" name="A_realizingActivityEdge_informationFlow" memberEnd="__hn7r68kEdqRKeAGm8hhTw __hn70q8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hn70q8kEdqRKeAGm8hhTw" type="__hn7kq8kEdqRKeAGm8hhTw" association="__hn70a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7068kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn71K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac01K8aEdqf6aL57Hh6KQ" name="A_realizingConnector_informationFlow" memberEnd="_4Ac0sq8aEdqf6aL57Hh6KQ _4Ac01a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4Ac01a8aEdqf6aL57Hh6KQ" type="_4Ac0ka8aEdqf6aL57Hh6KQ" association="_4Ac01K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac01q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0168aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn71a8kEdqRKeAGm8hhTw" name="A_realizingConnector_informationFlow" memberEnd="__hn71q8kEdqRKeAGm8hhTw __hn7s68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hn71q8kEdqRKeAGm8hhTw" type="__hn7kq8kEdqRKeAGm8hhTw" association="__hn71a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7168kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn72K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Ac02K8aEdqf6aL57Hh6KQ" name="A_realizingMessage_informationFlow" memberEnd="_4Ac0tq8aEdqf6aL57Hh6KQ _4Ac02a8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4Ac02a8aEdqf6aL57Hh6KQ" type="_4Ac0ka8aEdqf6aL57Hh6KQ" association="_4Ac02K8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac02q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0268aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__hn72a8kEdqRKeAGm8hhTw" name="A_realizingMessage_informationFlow" memberEnd="__hn7t68kEdqRKeAGm8hhTw __hn72q8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__hn72q8kEdqRKeAGm8hhTw" type="__hn7kq8kEdqRKeAGm8hhTw" association="__hn72a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7268kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn73K8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_NVhqMGv0Edq7X4sGURiZYA" name="Model">

-    <ownedComment xmi:id="_4Ac03K8aEdqf6aL57Hh6KQ" annotatedElement="_NVhqMGv0Edq7X4sGURiZYA">

+    <ownedComment xmi:id="__hn73a8kEdqRKeAGm8hhTw" annotatedElement="_NVhqMGv0Edq7X4sGURiZYA">

       <body>The Model construct is defined as a Package. It contains a (hierarchical) set of elements that together describe the physical system being modeled. A Model may also contain a set of elements that represents the environment of the system, typically Actors, together with their interrelationships, such as Associations and Dependencies</body>

     </ownedComment>

-    <generalization xmi:id="_4Ac03a8aEdqf6aL57Hh6KQ" general="_-cvRAGvzEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_4Ac03q8aEdqf6aL57Hh6KQ" name="viewpoint" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_4Ac0368aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4Ac04K8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <generalization xmi:id="__hn73q8kEdqRKeAGm8hhTw" general="_-cvRAGvzEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__hn7368kEdqRKeAGm8hhTw" name="viewpoint" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__hn74K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__hn74a8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Ac04a8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac03q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hn74q8kEdqRKeAGm8hhTw" annotatedElement="__hn7368kEdqRKeAGm8hhTw">

         <body>The name of the viewpoint that is expressed by a model (This name may refer to a profile definition).</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac04q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0468aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7468kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn75K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_9nl2EGwREdq14q0ETb1t3g" name="isMetamodel" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="__8c0oGwREdq14q0ETb1t3g" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4Ac05K8aEdqf6aL57Hh6KQ" name="ReadExtentAction">

-    <ownedComment xmi:id="_4Ac05a8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac05K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hxsUK8kEdqRKeAGm8hhTw" name="ReadExtentAction">

+    <ownedComment xmi:id="__hxsUa8kEdqRKeAGm8hhTw" annotatedElement="__hxsUK8kEdqRKeAGm8hhTw">

       <body>ReadExtentAction is an action that retrieves the current instances of a classifier.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4Ac05q8aEdqf6aL57Hh6KQ" name="type_is_classifier" constrainedElement="_4Ac05K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0568aEdqf6aL57Hh6KQ" annotatedElement="_4Ac05q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsUq8kEdqRKeAGm8hhTw" name="type_is_classifier" constrainedElement="__hxsUK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsU68kEdqRKeAGm8hhTw" annotatedElement="__hxsUq8kEdqRKeAGm8hhTw">

         <body>The type of the result output pin is the classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac06K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsVK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Ac06a8aEdqf6aL57Hh6KQ" name="multiplicity_of_result" constrainedElement="_4Ac05K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac06q8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac06a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsVa8kEdqRKeAGm8hhTw" name="multiplicity_of_result" constrainedElement="__hxsUK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsVq8kEdqRKeAGm8hhTw" annotatedElement="__hxsVa8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the result output pin is 0..*.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0668aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsV68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.multiplicity.is(0,#null)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4Ac07K8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4Ac07a8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4B8pmq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4Ac07q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4Ac0768aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hxsWK8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hxsWa8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__h62xq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxsWq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxsW68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Ac08K8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac07a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxsXK8kEdqRKeAGm8hhTw" annotatedElement="__hxsWa8kEdqRKeAGm8hhTw">

         <body>The runtime instances of the classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac08a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac08q8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsXa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsXq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0868aEdqf6aL57Hh6KQ" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4B8pn68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac09K8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0868aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hxsX68kEdqRKeAGm8hhTw" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="__h62y68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsYK8kEdqRKeAGm8hhTw" annotatedElement="__hxsX68kEdqRKeAGm8hhTw">

         <body>The classifier whose instances are to be retrieved.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac09a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac09q8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsYa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsYq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4AmlcK8aEdqf6aL57Hh6KQ" name="ReclassifyObjectAction">

-    <ownedComment xmi:id="_4Amlca8aEdqf6aL57Hh6KQ" annotatedElement="_4AmlcK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hxsY68kEdqRKeAGm8hhTw" name="ReclassifyObjectAction">

+    <ownedComment xmi:id="__hxsZK8kEdqRKeAGm8hhTw" annotatedElement="__hxsY68kEdqRKeAGm8hhTw">

       <body>ReclassifyObjectAction adds given classifier to an object and removes given classifiers from that object. Multiple classifiers may be added and removed at a time.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4Amlcq8aEdqf6aL57Hh6KQ" name="classifier_not_abstract" constrainedElement="_4AmlcK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlc68aEdqf6aL57Hh6KQ" annotatedElement="_4Amlcq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsZa8kEdqRKeAGm8hhTw" name="classifier_not_abstract" constrainedElement="__hxsY68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsZq8kEdqRKeAGm8hhTw" annotatedElement="__hxsZa8kEdqRKeAGm8hhTw">

         <body>None of the new classifiers may be abstract.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmldK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsZ68kEdqRKeAGm8hhTw" language="OCL">

         <body>not self.newClassifier->exists(isAbstract = true)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Amlda8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_4AmlcK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amldq8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlda8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsaK8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__hxsY68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsaa8kEdqRKeAGm8hhTw" annotatedElement="__hxsaK8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amld68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsaq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.argument.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmleK8aEdqf6aL57Hh6KQ" name="input_pin" constrainedElement="_4AmlcK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlea8aEdqf6aL57Hh6KQ" annotatedElement="_4AmleK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsa68kEdqRKeAGm8hhTw" name="input_pin" constrainedElement="__hxsY68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsbK8kEdqRKeAGm8hhTw" annotatedElement="__hxsa68kEdqRKeAGm8hhTw">

         <body>The input pin has no type.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amleq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsba8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.argument.type->size() = 0</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4Amle68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4AmlfK8aEdqf6aL57Hh6KQ" name="isReplaceAll" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4Amlfa8aEdqf6aL57Hh6KQ" annotatedElement="_4AmlfK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hxsbq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hxsb68kEdqRKeAGm8hhTw" name="isReplaceAll" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hxscK8kEdqRKeAGm8hhTw" annotatedElement="__hxsb68kEdqRKeAGm8hhTw">

         <body>Specifies whether existing classifiers should be removed before adding the new classifiers.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4Amlfq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__hxsca8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Amlf68aEdqf6aL57Hh6KQ" name="oldClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4B8po68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmlgK8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlf68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hxscq8kEdqRKeAGm8hhTw" name="oldClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="__h62z68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsc68kEdqRKeAGm8hhTw" annotatedElement="__hxscq8kEdqRKeAGm8hhTw">

         <body>A set of classifiers to be removed from the classifiers of the object.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Amlga8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Amlgq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsdK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsda8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Amlg68aEdqf6aL57Hh6KQ" name="newClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4B8pp68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmlhK8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlg68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hxsdq8kEdqRKeAGm8hhTw" name="newClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="__h62068kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsd68kEdqRKeAGm8hhTw" annotatedElement="__hxsdq8kEdqRKeAGm8hhTw">

         <body>A set of classifiers to be added to the classifiers of the object.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Amlha8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Amlhq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxseK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsea8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Amlh68aEdqf6aL57Hh6KQ" name="object" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4CFzPq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AmliK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4Amlia8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hxseq8kEdqRKeAGm8hhTw" name="object" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__iEnaa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxse68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxsfK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Amliq8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlh68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxsfa8kEdqRKeAGm8hhTw" annotatedElement="__hxseq8kEdqRKeAGm8hhTw">

         <body>Holds the object to be reclassified.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Amli68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AmljK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsfq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsf68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4Amlja8aEdqf6aL57Hh6KQ" name="ReadIsClassifiedObjectAction">

-    <ownedComment xmi:id="_4Amljq8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlja8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hxsgK8kEdqRKeAGm8hhTw" name="ReadIsClassifiedObjectAction">

+    <ownedComment xmi:id="__hxsga8kEdqRKeAGm8hhTw" annotatedElement="__hxsgK8kEdqRKeAGm8hhTw">

       <body>This action tests the classification of an object against a given class. It can be restricted to testing direct instances.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4Amlj68aEdqf6aL57Hh6KQ" name="multiplicity_of_input" constrainedElement="_4Amlja8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmlkK8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlj68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsgq8kEdqRKeAGm8hhTw" name="multiplicity_of_input" constrainedElement="__hxsgK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsg68kEdqRKeAGm8hhTw" annotatedElement="__hxsgq8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amlka8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxshK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.object.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Amlkq8aEdqf6aL57Hh6KQ" name="no_type" constrainedElement="_4Amlja8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlk68aEdqf6aL57Hh6KQ" annotatedElement="_4Amlkq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsha8kEdqRKeAGm8hhTw" name="no_type" constrainedElement="__hxsgK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxshq8kEdqRKeAGm8hhTw" annotatedElement="__hxsha8kEdqRKeAGm8hhTw">

         <body>The input pin has no type.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmllK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsh68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.object.type->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Amlla8aEdqf6aL57Hh6KQ" name="multiplicity_of_output" constrainedElement="_4Amlja8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amllq8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlla8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsiK8kEdqRKeAGm8hhTw" name="multiplicity_of_output" constrainedElement="__hxsgK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsia8kEdqRKeAGm8hhTw" annotatedElement="__hxsiK8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the output pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amll68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsiq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmlmK8aEdqf6aL57Hh6KQ" name="boolean_result" constrainedElement="_4Amlja8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlma8aEdqf6aL57Hh6KQ" annotatedElement="_4AmlmK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsi68kEdqRKeAGm8hhTw" name="boolean_result" constrainedElement="__hxsgK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsjK8kEdqRKeAGm8hhTw" annotatedElement="__hxsi68kEdqRKeAGm8hhTw">

         <body>The type of the output pin is Boolean</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amlmq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsja8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type = Boolean</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4Amlm68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4AmlnK8aEdqf6aL57Hh6KQ" name="isDirect" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4Amlna8aEdqf6aL57Hh6KQ" annotatedElement="_4AmlnK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hxsjq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hxsj68kEdqRKeAGm8hhTw" name="isDirect" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__hxskK8kEdqRKeAGm8hhTw" annotatedElement="__hxsj68kEdqRKeAGm8hhTw">

         <body>Indicates whether the classifier must directly classify the input object.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4Amlnq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__hxska8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Amln68aEdqf6aL57Hh6KQ" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4B8pq68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmloK8aEdqf6aL57Hh6KQ" annotatedElement="_4Amln68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hxskq8kEdqRKeAGm8hhTw" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="__h62168kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsk68kEdqRKeAGm8hhTw" annotatedElement="__hxskq8kEdqRKeAGm8hhTw">

         <body>The classifier against which the classification of the input object is tested.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Amloa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Amloq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxslK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsla8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Amlo68aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4B8pra8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AmlpK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4Amlpa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hxslq8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__h622a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxsl68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxsmK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Amlpq8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlo68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxsma8kEdqRKeAGm8hhTw" annotatedElement="__hxslq8kEdqRKeAGm8hhTw">

         <body>After termination of the action, will hold the result of the test.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Amlp68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AmlqK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsmq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsm68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Amlqa8aEdqf6aL57Hh6KQ" name="object" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4B8psq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4Amlqq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4Amlq68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hxsnK8kEdqRKeAGm8hhTw" name="object" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__h623q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxsna8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxsnq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AmlrK8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlqa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxsn68kEdqRKeAGm8hhTw" annotatedElement="__hxsnK8kEdqRKeAGm8hhTw">

         <body>Holds the object whose classification is to be tested.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Amlra8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Amlrq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsoK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsoa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4Amlr68aEdqf6aL57Hh6KQ" name="StartClassifierBehaviorAction">

-    <ownedComment xmi:id="_4AmlsK8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlr68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hxsoq8kEdqRKeAGm8hhTw" name="StartClassifierBehaviorAction">

+    <ownedComment xmi:id="__hxso68kEdqRKeAGm8hhTw" annotatedElement="__hxsoq8kEdqRKeAGm8hhTw">

       <body>StartClassifierBehaviorAction is an action that starts the classifier behavior of the input.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4Amlsa8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_4Amlr68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlsq8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlsa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxspK8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__hxsoq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxspa8kEdqRKeAGm8hhTw" annotatedElement="__hxspK8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the input pin is 1..1</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amls68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxspq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmltK8aEdqf6aL57Hh6KQ" name="type_has_classifier" constrainedElement="_4Amlr68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlta8aEdqf6aL57Hh6KQ" annotatedElement="_4AmltK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsp68kEdqRKeAGm8hhTw" name="type_has_classifier" constrainedElement="__hxsoq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsqK8kEdqRKeAGm8hhTw" annotatedElement="__hxsp68kEdqRKeAGm8hhTw">

         <body>If the input pin has a type, then the type must have a classifier behavior.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amltq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsqa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4Amlt68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4AmluK8aEdqf6aL57Hh6KQ" name="object" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4B8pt68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4Amlua8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4Amluq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hxsqq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hxsq68kEdqRKeAGm8hhTw" name="object" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__h62468kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxsrK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxsra8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Amlu68aEdqf6aL57Hh6KQ" annotatedElement="_4AmluK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxsrq8kEdqRKeAGm8hhTw" annotatedElement="__hxsq68kEdqRKeAGm8hhTw">

         <body>Holds the object on which to start the owned behavior.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AmlvK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Amlva8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsr68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxssK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4Amlvq8aEdqf6aL57Hh6KQ" name="QualifierValue">

-    <ownedComment xmi:id="_4Amlv68aEdqf6aL57Hh6KQ" annotatedElement="_4Amlvq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hxssa8kEdqRKeAGm8hhTw" name="QualifierValue">

+    <ownedComment xmi:id="__hxssq8kEdqRKeAGm8hhTw" annotatedElement="__hxssa8kEdqRKeAGm8hhTw">

       <body>A link cannot be passed as a runtime value to or from an action. Instead, a link is identified by its end objects and qualifier values, as required. This requires more than one piece of data, namely, the end in the user model, the object on the end, and the qualifier values for that end. These pieces are brought together around LinkEndData. Each association end is identified separately with an instance of the LinkEndData class.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4AmlwK8aEdqf6aL57Hh6KQ" name="qualifier_attribute" constrainedElement="_4Amlvq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlwa8aEdqf6aL57Hh6KQ" annotatedElement="_4AmlwK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxss68kEdqRKeAGm8hhTw" name="qualifier_attribute" constrainedElement="__hxssa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxstK8kEdqRKeAGm8hhTw" annotatedElement="__hxss68kEdqRKeAGm8hhTw">

         <body>The qualifier attribute must be a qualifier of the association end of the link-end data.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amlwq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsta8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.LinkEndData.end->collect(qualifier)->includes(self.qualifier)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Amlw68aEdqf6aL57Hh6KQ" name="type_of_qualifier" constrainedElement="_4Amlvq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmlxK8aEdqf6aL57Hh6KQ" annotatedElement="_4Amlw68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxstq8kEdqRKeAGm8hhTw" name="type_of_qualifier" constrainedElement="__hxssa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxst68kEdqRKeAGm8hhTw" annotatedElement="__hxstq8kEdqRKeAGm8hhTw">

         <body>The type of the qualifier value input pin is the same as the type of the qualifier attribute.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Amlxa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsuK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value.type = self.qualifier.type</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Amlxq8aEdqf6aL57Hh6KQ" name="multiplicity_of_qualifier" constrainedElement="_4Amlvq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlx68aEdqf6aL57Hh6KQ" annotatedElement="_4Amlxq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsua8kEdqRKeAGm8hhTw" name="multiplicity_of_qualifier" constrainedElement="__hxssa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsuq8kEdqRKeAGm8hhTw" annotatedElement="__hxsua8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the qualifier value input pin is &quot;1..1&quot;.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmlyK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsu68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4Amlya8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4Amlyq8aEdqf6aL57Hh6KQ" name="qualifier" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_4B8pwK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amly68aEdqf6aL57Hh6KQ" annotatedElement="_4Amlyq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__hxsvK8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__hxsva8kEdqRKeAGm8hhTw" name="qualifier" type="_Jp_1oGveEdq4DLWZOhbdEA" association="__iEnQK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsvq8kEdqRKeAGm8hhTw" annotatedElement="__hxsva8kEdqRKeAGm8hhTw">

         <body>Attribute representing the qualifier for which the value is to be specified.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AmlzK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Amlza8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsv68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxswK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Amlzq8aEdqf6aL57Hh6KQ" name="value" type="_37_LM68aEdqf6aL57Hh6KQ" association="_4B8pxK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Amlz68aEdqf6aL57Hh6KQ" annotatedElement="_4Amlzq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hxswa8kEdqRKeAGm8hhTw" name="value" type="__cQ6OK8kEdqRKeAGm8hhTw" association="__iEnRK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxswq8kEdqRKeAGm8hhTw" annotatedElement="__hxswa8kEdqRKeAGm8hhTw">

         <body>Input pin from which the specified value for the qualifier is taken.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Aml0K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Aml0a8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxsw68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxsxK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-qsTa8aEdqf6aL57Hh6KQ" name="LinkEndData">

-    <ownedComment xmi:id="_3-qsTq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsTa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__e8bDa8kEdqRKeAGm8hhTw" name="LinkEndData">

+    <ownedComment xmi:id="__e8bDq8kEdqRKeAGm8hhTw" annotatedElement="__e8bDa8kEdqRKeAGm8hhTw">

       <body>LinkEndData is not an action. It is an element that identifies links. It identifies one end of a link to be read or written by the children of LinkAction. A link cannot be passed as a runtime value to or from an action. Instead, a link is identified by its end objects and qualifier values, if any. This requires more than one piece of data, namely, the staticallyspecified end in the user model, the object on the end, and the qualifier values for that end, if any. These pieces are brought together around LinkEndData. Each association end is identified separately with an instance of the LinkEndData class.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4Aml0q8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsTa8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__hxsxa8kEdqRKeAGm8hhTw" annotatedElement="__e8bDa8kEdqRKeAGm8hhTw">

       <body>LinkEndData is not an action. It is an element that identifies links. It identifies one end of a link to be read or written by the children of LinkAction. A link cannot be passed as a runtime value to or from an action. Instead, a link is identified by its end objects and qualifier values, if any. This requires more than one piece of data, namely, the staticallyspecified end in the user model, the object on the end, and the qualifier values for that end, if any. These pieces are brought together around LinkEndData. Each association end is identified separately with an instance of the LinkEndData class.

 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3-qsT68aEdqf6aL57Hh6KQ" name="property_is_association_end" constrainedElement="_3-qsTa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsUK8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsT68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bD68kEdqRKeAGm8hhTw" name="property_is_association_end" constrainedElement="__e8bDa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bEK8kEdqRKeAGm8hhTw" annotatedElement="__e8bD68kEdqRKeAGm8hhTw">

         <body>The property must be an association end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsUa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bEa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.end.association->size() = 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qsUq8aEdqf6aL57Hh6KQ" name="same_type" constrainedElement="_3-qsTa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsU68aEdqf6aL57Hh6KQ" annotatedElement="_3-qsUq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bEq8kEdqRKeAGm8hhTw" name="same_type" constrainedElement="__e8bDa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bE68kEdqRKeAGm8hhTw" annotatedElement="__e8bEq8kEdqRKeAGm8hhTw">

         <body>The type of the end object input pin is the same as the type of the association end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsVK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bFK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value.type = self.end.type</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-qsVa8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_3-qsTa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsVq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsVa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__e8bFa8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__e8bDa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bFq8kEdqRKeAGm8hhTw" annotatedElement="__e8bFa8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the end object input pin must be 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-qsV68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__e8bF68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Aml068aEdqf6aL57Hh6KQ" name="qualifiers" constrainedElement="_3-qsTa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml1K8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml068aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsxq8kEdqRKeAGm8hhTw" name="qualifiers" constrainedElement="__e8bDa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsx68kEdqRKeAGm8hhTw" annotatedElement="__hxsxq8kEdqRKeAGm8hhTw">

         <body>The qualifiers include all and only the qualifiers of the association end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml1a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsyK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.qualifier->collect(qualifier) = self.end.qualifier</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Aml1q8aEdqf6aL57Hh6KQ" name="end_object_input_pin" constrainedElement="_3-qsTa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml168aEdqf6aL57Hh6KQ" annotatedElement="_4Aml1q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxsya8kEdqRKeAGm8hhTw" name="end_object_input_pin" constrainedElement="__e8bDa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxsyq8kEdqRKeAGm8hhTw" annotatedElement="__hxsya8kEdqRKeAGm8hhTw">

         <body>The end object input pin is not also a qualifier value input pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml2K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxsy68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.value->excludesAll(self.qualifier.value)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3-qsWK8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_3-qsWa8aEdqf6aL57Hh6KQ" name="value" type="_37_LM68aEdqf6aL57Hh6KQ" association="_3-9m1q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsWq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsWa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__e8bGK8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__e8bGa8kEdqRKeAGm8hhTw" name="value" type="__cQ6OK8kEdqRKeAGm8hhTw" association="__fPV268kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bGq8kEdqRKeAGm8hhTw" annotatedElement="__e8bGa8kEdqRKeAGm8hhTw">

         <body>Input pin that provides the specified object for the given end. This pin is omitted if the link-end data specifies an 'open' end for reading.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qsW68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qsXK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bG68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bHK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-qsXa8aEdqf6aL57Hh6KQ" name="end" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_3-9m2q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-qsXq8aEdqf6aL57Hh6KQ" annotatedElement="_3-qsXa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__e8bHa8kEdqRKeAGm8hhTw" name="end" type="_Jp_1oGveEdq4DLWZOhbdEA" association="__fPV368kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__e8bHq8kEdqRKeAGm8hhTw" annotatedElement="__e8bHa8kEdqRKeAGm8hhTw">

         <body>Association end for which this link-end data specifies values.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-qsX68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-qsYK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__e8bH68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__e8bIK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Aml2a8aEdqf6aL57Hh6KQ" name="qualifier" type="_4Amlvq8aEdqf6aL57Hh6KQ" association="_4B8pvK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4Aml2q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4Aml268aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hxszK8kEdqRKeAGm8hhTw" name="qualifier" type="__hxssa8kEdqRKeAGm8hhTw" association="__h626K8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxsza8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxszq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Aml3K8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml2a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxsz68kEdqRKeAGm8hhTw" annotatedElement="__hxszK8kEdqRKeAGm8hhTw">

         <body>List of qualifier values</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Aml3a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Aml3q8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxs0K8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxs0a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4Aml368aEdqf6aL57Hh6KQ" name="ReadLinkObjectEndAction">

-    <ownedComment xmi:id="_4Aml4K8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml368aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hxs0q8kEdqRKeAGm8hhTw" name="ReadLinkObjectEndAction">

+    <ownedComment xmi:id="__hxs068kEdqRKeAGm8hhTw" annotatedElement="__hxs0q8kEdqRKeAGm8hhTw">

       <body>This action reads the object on an end of a link object. The association end to retrieve the object from is specified statically, and the link object to read is provided on the input pin at run time.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4Aml4a8aEdqf6aL57Hh6KQ" name="property" constrainedElement="_4Aml368aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml4q8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml4a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs1K8kEdqRKeAGm8hhTw" name="property" constrainedElement="__hxs0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs1a8kEdqRKeAGm8hhTw" annotatedElement="__hxs1K8kEdqRKeAGm8hhTw">

         <body>The property must be an association end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml468aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxs1q8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.end.association.notEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Aml5K8aEdqf6aL57Hh6KQ" name="association_of_association" constrainedElement="_4Aml368aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml5a8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml5K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs168kEdqRKeAGm8hhTw" name="association_of_association" constrainedElement="__hxs0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs2K8kEdqRKeAGm8hhTw" annotatedElement="__hxs168kEdqRKeAGm8hhTw">

         <body>The association of the association end must be an association class.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml5q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxs2a8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.end.Association.oclIsKindOf(AssociationClass)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Aml568aEdqf6aL57Hh6KQ" name="ends_of_association" constrainedElement="_4Aml368aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml6K8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml568aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs2q8kEdqRKeAGm8hhTw" name="ends_of_association" constrainedElement="__hxs0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs268kEdqRKeAGm8hhTw" annotatedElement="__hxs2q8kEdqRKeAGm8hhTw">

         <body>The ends of the association must not be static.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml6a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxs3K8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.end.association.memberEnd->forall(e | not e.isStatic)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Aml6q8aEdqf6aL57Hh6KQ" name="type_of_object" constrainedElement="_4Aml368aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml668aEdqf6aL57Hh6KQ" annotatedElement="_4Aml6q8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs3a8kEdqRKeAGm8hhTw" name="type_of_object" constrainedElement="__hxs0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs3q8kEdqRKeAGm8hhTw" annotatedElement="__hxs3a8kEdqRKeAGm8hhTw">

         <body>The type of the object input pin is the association class that owns the association end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml7K8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxs368kEdqRKeAGm8hhTw" language="OCL">

         <body>self.object.type = self.end.association</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Aml7a8aEdqf6aL57Hh6KQ" name="multiplicity_of_object" constrainedElement="_4Aml368aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml7q8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml7a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs4K8kEdqRKeAGm8hhTw" name="multiplicity_of_object" constrainedElement="__hxs0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs4a8kEdqRKeAGm8hhTw" annotatedElement="__hxs4K8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the object input pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml768aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxs4q8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.object.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Aml8K8aEdqf6aL57Hh6KQ" name="type_of_result" constrainedElement="_4Aml368aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml8a8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml8K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs468kEdqRKeAGm8hhTw" name="type_of_result" constrainedElement="__hxs0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs5K8kEdqRKeAGm8hhTw" annotatedElement="__hxs468kEdqRKeAGm8hhTw">

         <body>The type of the result output pin is the same as the type of the association end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml8q8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxs5a8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type = self.end.type</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Aml868aEdqf6aL57Hh6KQ" name="multiplicity_of_result" constrainedElement="_4Aml368aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml9K8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml868aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs5q8kEdqRKeAGm8hhTw" name="multiplicity_of_result" constrainedElement="__hxs0q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs568kEdqRKeAGm8hhTw" annotatedElement="__hxs5q8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the result output pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Aml9a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxs6K8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4Aml9q8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4Aml968aEdqf6aL57Hh6KQ" name="object" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4B8pyK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4Aml-K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4Aml-a8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hxs6a8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hxs6q8kEdqRKeAGm8hhTw" name="object" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__iEnSK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxs668kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxs7K8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Aml-q8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml968aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxs7a8kEdqRKeAGm8hhTw" annotatedElement="__hxs6q8kEdqRKeAGm8hhTw">

         <body>Gives the input pin from which the link object is obtained.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Aml-68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Aml_K8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxs7q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxs768kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Aml_a8aEdqf6aL57Hh6KQ" name="end" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_4B8pza8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Aml_q8aEdqf6aL57Hh6KQ" annotatedElement="_4Aml_a8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hxs8K8kEdqRKeAGm8hhTw" name="end" type="_Jp_1oGveEdq4DLWZOhbdEA" association="__iEnTa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs8a8kEdqRKeAGm8hhTw" annotatedElement="__hxs8K8kEdqRKeAGm8hhTw">

         <body>Link end to be read.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Aml_68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AmmAK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxs8q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxs868kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AmmAa8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4B8p0a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AmmAq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AmmA68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hxs9K8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__iEnUa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxs9a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxs9q8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AmmBK8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmAa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxs968kEdqRKeAGm8hhTw" annotatedElement="__hxs9K8kEdqRKeAGm8hhTw">

         <body>Pin where the result value is placed</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AmmBa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AmmBq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxs-K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxs-a8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4AmmB68aEdqf6aL57Hh6KQ" name="ReadLinkObjectEndQualifierAction">

-    <ownedComment xmi:id="_4AmmCK8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmB68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hxs-q8kEdqRKeAGm8hhTw" name="ReadLinkObjectEndQualifierAction">

+    <ownedComment xmi:id="__hxs-68kEdqRKeAGm8hhTw" annotatedElement="__hxs-q8kEdqRKeAGm8hhTw">

       <body>This action reads a qualifier value or values on an end of a link object. The association end to retrieve the qualifier from is specified statically, and the link object to read is provided on the input pin at run time.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4AmmCa8aEdqf6aL57Hh6KQ" name="qualifier_attribute" constrainedElement="_4AmmB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmCq8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmCa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs_K8kEdqRKeAGm8hhTw" name="qualifier_attribute" constrainedElement="__hxs-q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxs_a8kEdqRKeAGm8hhTw" annotatedElement="__hxs_K8kEdqRKeAGm8hhTw">

         <body>The qualifier attribute must be a qualifier attribute of an association end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmC68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxs_q8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.qualifier.associationEnd->size() = 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmDK8aEdqf6aL57Hh6KQ" name="association_of_association" constrainedElement="_4AmmB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmDa8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmDK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxs_68kEdqRKeAGm8hhTw" name="association_of_association" constrainedElement="__hxs-q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtAK8kEdqRKeAGm8hhTw" annotatedElement="__hxs_68kEdqRKeAGm8hhTw">

         <body>The association of the association end of the qualifier attribute must be an association class.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmDq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtAa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.qualifier.associationEnd.association.oclIsKindOf(AssociationClass)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmD68aEdqf6aL57Hh6KQ" name="ends_of_association" constrainedElement="_4AmmB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmEK8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmD68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtAq8kEdqRKeAGm8hhTw" name="ends_of_association" constrainedElement="__hxs-q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtA68kEdqRKeAGm8hhTw" annotatedElement="__hxtAq8kEdqRKeAGm8hhTw">

         <body>The ends of the association must not be static.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmEa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtBK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.qualifier.associationEnd.association.memberEnd->forall(e | not e.isStatic)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmEq8aEdqf6aL57Hh6KQ" name="type_of_object" constrainedElement="_4AmmB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmE68aEdqf6aL57Hh6KQ" annotatedElement="_4AmmEq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtBa8kEdqRKeAGm8hhTw" name="type_of_object" constrainedElement="__hxs-q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtBq8kEdqRKeAGm8hhTw" annotatedElement="__hxtBa8kEdqRKeAGm8hhTw">

         <body>The type of the object input pin is the association class that owns the association end that has the given qualifier attribute.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmFK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtB68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.object.type = self.qualifier.associationEnd.association</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmFa8aEdqf6aL57Hh6KQ" name="multiplicity_of_qualifier" constrainedElement="_4AmmB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmFq8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmFa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtCK8kEdqRKeAGm8hhTw" name="multiplicity_of_qualifier" constrainedElement="__hxs-q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtCa8kEdqRKeAGm8hhTw" annotatedElement="__hxtCK8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the qualifier attribute is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmF68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtCq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.qualifier.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmGK8aEdqf6aL57Hh6KQ" name="multiplicity_of_object" constrainedElement="_4AmmB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmGa8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmGK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtC68kEdqRKeAGm8hhTw" name="multiplicity_of_object" constrainedElement="__hxs-q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtDK8kEdqRKeAGm8hhTw" annotatedElement="__hxtC68kEdqRKeAGm8hhTw">

         <body>The multiplicity of the object input pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmGq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtDa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.object.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmG68aEdqf6aL57Hh6KQ" name="same_type" constrainedElement="_4AmmB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmHK8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmG68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtDq8kEdqRKeAGm8hhTw" name="same_type" constrainedElement="__hxs-q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtD68kEdqRKeAGm8hhTw" annotatedElement="__hxtDq8kEdqRKeAGm8hhTw">

         <body>The type of the result output pin is the same as the type of the qualifier attribute.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmHa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtEK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type = self.qualifier.type</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmHq8aEdqf6aL57Hh6KQ" name="multiplicity_of_result" constrainedElement="_4AmmB68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmH68aEdqf6aL57Hh6KQ" annotatedElement="_4AmmHq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtEa8kEdqRKeAGm8hhTw" name="multiplicity_of_result" constrainedElement="__hxs-q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtEq8kEdqRKeAGm8hhTw" annotatedElement="__hxtEa8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the result output pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmIK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtE68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4AmmIa8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4AmmIq8aEdqf6aL57Hh6KQ" name="object" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4B8p1q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AmmI68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AmmJK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hxtFK8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hxtFa8kEdqRKeAGm8hhTw" name="object" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__iEnVq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxtFq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxtF68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AmmJa8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmIq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxtGK8kEdqRKeAGm8hhTw" annotatedElement="__hxtFa8kEdqRKeAGm8hhTw">

         <body>(Specialized from Action:input) Gives the input pin from which the link object is obtained.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AmmJq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AmmJ68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxtGa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxtGq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AmmKK8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4CFzMK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AmmKa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AmmKq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hxtG68kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__iEnW68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxtHK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxtHa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AmmK68aEdqf6aL57Hh6KQ" annotatedElement="_4AmmKK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxtHq8kEdqRKeAGm8hhTw" annotatedElement="__hxtG68kEdqRKeAGm8hhTw">

         <body>Pin where the result value is placed</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AmmLK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AmmLa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxtH68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxtIK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AmmLq8aEdqf6aL57Hh6KQ" name="qualifier" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_4CFzNa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmL68aEdqf6aL57Hh6KQ" annotatedElement="_4AmmLq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hxtIa8kEdqRKeAGm8hhTw" name="qualifier" type="_Jp_1oGveEdq4DLWZOhbdEA" association="__iEnYK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtIq8kEdqRKeAGm8hhTw" annotatedElement="__hxtIa8kEdqRKeAGm8hhTw">

         <body>The attribute representing the qualifier to be read.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AmmMK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AmmMa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxtI68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxtJK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4AmmMq8aEdqf6aL57Hh6KQ" name="CreateLinkObjectAction">

-    <ownedComment xmi:id="_4AmmM68aEdqf6aL57Hh6KQ" annotatedElement="_4AmmMq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hxtJa8kEdqRKeAGm8hhTw" name="CreateLinkObjectAction">

+    <ownedComment xmi:id="__hxtJq8kEdqRKeAGm8hhTw" annotatedElement="__hxtJa8kEdqRKeAGm8hhTw">

       <body>This action is exclusively for creating links of association classes. It returns the created link object.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4AmmNK8aEdqf6aL57Hh6KQ" name="association_class" constrainedElement="_4AmmMq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmNa8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmNK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtJ68kEdqRKeAGm8hhTw" name="association_class" constrainedElement="__hxtJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtKK8kEdqRKeAGm8hhTw" annotatedElement="__hxtJ68kEdqRKeAGm8hhTw">

         <body>The association must be an association class.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmNq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtKa8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.association().oclIsKindOf(Class)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmN68aEdqf6aL57Hh6KQ" name="type_of_result" constrainedElement="_4AmmMq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmOK8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmN68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtKq8kEdqRKeAGm8hhTw" name="type_of_result" constrainedElement="__hxtJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtK68kEdqRKeAGm8hhTw" annotatedElement="__hxtKq8kEdqRKeAGm8hhTw">

         <body>The type of the result pin must be the same as the association of the action.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmOa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtLK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.type = self.association()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AmmOq8aEdqf6aL57Hh6KQ" name="multiplicity" constrainedElement="_4AmmMq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AmmO68aEdqf6aL57Hh6KQ" annotatedElement="_4AmmOq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hxtLa8kEdqRKeAGm8hhTw" name="multiplicity" constrainedElement="__hxtJa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hxtLq8kEdqRKeAGm8hhTw" annotatedElement="__hxtLa8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the output pin is 1..1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AmmPK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hxtL68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.result.multiplicity.is(1,1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4AmmPa8aEdqf6aL57Hh6KQ" general="_3-z12K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4AmmPq8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4CFzOa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AmmP68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AmmQK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hxtMK8kEdqRKeAGm8hhTw" general="__e8bSa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__hxtMa8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__iEnZK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hxtMq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hxtM68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AmmQa8aEdqf6aL57Hh6KQ" annotatedElement="_4AmmPq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hxtNK8kEdqRKeAGm8hhTw" annotatedElement="__hxtMa8kEdqRKeAGm8hhTw">

         <body>Gives the output pin on which the result is put.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AmmQq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AmmQ68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hxtNa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hxtNq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4AwWcK8aEdqf6aL57Hh6KQ" name="AcceptEventAction">

-    <ownedComment xmi:id="_4AwWca8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWcK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__h62QK8kEdqRKeAGm8hhTw" name="AcceptEventAction">

+    <ownedComment xmi:id="__h62Qa8kEdqRKeAGm8hhTw" annotatedElement="__h62QK8kEdqRKeAGm8hhTw">

       <body>AcceptEventAction is an action that waits for the occurrence of an event meeting specified conditions.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4AwWcq8aEdqf6aL57Hh6KQ" name="no_input_pins" constrainedElement="_4AwWcK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWc68aEdqf6aL57Hh6KQ" annotatedElement="_4AwWcq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62Qq8kEdqRKeAGm8hhTw" name="no_input_pins" constrainedElement="__h62QK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62Q68kEdqRKeAGm8hhTw" annotatedElement="__h62Qq8kEdqRKeAGm8hhTw">

         <body>AcceptEventActions may have no input pins.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AwWdK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62RK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AwWda8aEdqf6aL57Hh6KQ" name="no_output_pins" constrainedElement="_4AwWcK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWdq8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWda8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62Ra8kEdqRKeAGm8hhTw" name="no_output_pins" constrainedElement="__h62QK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62Rq8kEdqRKeAGm8hhTw" annotatedElement="__h62Ra8kEdqRKeAGm8hhTw">

         <body>There are no output pins if the trigger events are only ChangeEvents, or if they are only CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction).</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AwWd68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62R68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AwWeK8aEdqf6aL57Hh6KQ" name="trigger_events" constrainedElement="_4AwWcK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWea8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWeK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62SK8kEdqRKeAGm8hhTw" name="trigger_events" constrainedElement="__h62QK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62Sa8kEdqRKeAGm8hhTw" annotatedElement="__h62SK8kEdqRKeAGm8hhTw">

         <body>If the trigger events are all TimeEvents, there is exactly one output pin.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AwWeq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62Sq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AwWe68aEdqf6aL57Hh6KQ" name="unmarshall_signal_events" constrainedElement="_4AwWcK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWfK8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWe68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62S68kEdqRKeAGm8hhTw" name="unmarshall_signal_events" constrainedElement="__h62QK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62TK8kEdqRKeAGm8hhTw" annotatedElement="__h62S68kEdqRKeAGm8hhTw">

         <body>If isUnmarshall is true, there must be exactly one trigger for events of type SignalEvent. The number of result output pins must be the same as the number of attributes of the signal. The type and ordering of each result output pin must be the same as the corresponding attribute of the signal. The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding attribute.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AwWfa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62Ta8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4AwWfq8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4AwWf68aEdqf6aL57Hh6KQ" name="isUnmarshall" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4AwWgK8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWf68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__h62Tq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__h62T68kEdqRKeAGm8hhTw" name="isUnmarshall" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__h62UK8kEdqRKeAGm8hhTw" annotatedElement="__h62T68kEdqRKeAGm8hhTw">

         <body>Indicates whether there is a single output pin for the event, or multiple output pins for attributes of the event.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4AwWga8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__h62Ua8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AwWgq8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4CFzQa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWg68aEdqf6aL57Hh6KQ" annotatedElement="_4AwWgq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__h62Uq8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__iEnbK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62U68kEdqRKeAGm8hhTw" annotatedElement="__h62Uq8kEdqRKeAGm8hhTw">

         <body>Pins holding the received event objects or their attributes. Event objects may be copied in transmission, so identity might not be preserved.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AwWhK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AwWha8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62VK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62Va8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AwWhq8aEdqf6aL57Hh6KQ" name="trigger" type="_39njHa8aEdqf6aL57Hh6KQ" association="_4CFzYa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AwWh68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AwWiK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__h62Vq8kEdqRKeAGm8hhTw" name="trigger" type="__dwIMq8kEdqRKeAGm8hhTw" association="__iEnjK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__h62V68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__h62WK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AwWia8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWhq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__h62Wa8kEdqRKeAGm8hhTw" annotatedElement="__h62Vq8kEdqRKeAGm8hhTw">

         <body>The type of events accepted by the action, as specified by triggers. For triggers with signal events, a signal of the specified type or any subtype of the specified signal type is accepted.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AwWiq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AwWi68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62Wq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62W68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4AwWjK8aEdqf6aL57Hh6KQ" name="AcceptCallAction">

-    <ownedComment xmi:id="_4AwWja8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWjK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__h62XK8kEdqRKeAGm8hhTw" name="AcceptCallAction">

+    <ownedComment xmi:id="__h62Xa8kEdqRKeAGm8hhTw" annotatedElement="__h62XK8kEdqRKeAGm8hhTw">

       <body>AcceptCallAction is an accept event action representing the receipt of a synchronous call request. In addition to the normal operation parameters, the action produces an output that is needed later to supply the information to the ReplyAction necessary to return control to the caller. This action is for synchronous calls. If it is used to handle an asynchronous call, execution of the subsequent reply action will complete immediately with no effects.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4AwWjq8aEdqf6aL57Hh6KQ" name="result_pins" constrainedElement="_4AwWjK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWj68aEdqf6aL57Hh6KQ" annotatedElement="_4AwWjq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62Xq8kEdqRKeAGm8hhTw" name="result_pins" constrainedElement="__h62XK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62X68kEdqRKeAGm8hhTw" annotatedElement="__h62Xq8kEdqRKeAGm8hhTw">

         <body>The result pins must match the in and inout parameters of the operation specified by the trigger event in number, type, and order.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AwWkK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62YK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AwWka8aEdqf6aL57Hh6KQ" name="trigger_call_event" constrainedElement="_4AwWjK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWkq8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWka8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62Ya8kEdqRKeAGm8hhTw" name="trigger_call_event" constrainedElement="__h62XK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62Yq8kEdqRKeAGm8hhTw" annotatedElement="__h62Ya8kEdqRKeAGm8hhTw">

         <body>The trigger event must be a CallEvent.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AwWk68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62Y68kEdqRKeAGm8hhTw" language="OCL">

         <body>trigger.event.oclIsKindOf(CallEvent)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4AwWlK8aEdqf6aL57Hh6KQ" name="unmarshall" constrainedElement="_4AwWjK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWla8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWlK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62ZK8kEdqRKeAGm8hhTw" name="unmarshall" constrainedElement="__h62XK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62Za8kEdqRKeAGm8hhTw" annotatedElement="__h62ZK8kEdqRKeAGm8hhTw">

         <body>isUnmrashall must be true for an AcceptCallAction.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AwWlq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62Zq8kEdqRKeAGm8hhTw" language="OCL">

         <body>isUnmarshall = true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4AwWl68aEdqf6aL57Hh6KQ" general="_4AwWcK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4AwWmK8aEdqf6aL57Hh6KQ" name="returnInformation" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4CFzRK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AwWma8aEdqf6aL57Hh6KQ" annotatedElement="_4AwWmK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__h62Z68kEdqRKeAGm8hhTw" general="__h62QK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__h62aK8kEdqRKeAGm8hhTw" name="returnInformation" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__iEnb68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62aa8kEdqRKeAGm8hhTw" annotatedElement="__h62aK8kEdqRKeAGm8hhTw">

         <body>Pin where a value is placed containing sufficient information to perform a subsequent reply and return control to the caller. The contents of this value are opaque. It can be passed and copied but it cannot be manipulated by the model.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AwWmq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AwWm68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62aq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62a68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4B8pQK8aEdqf6aL57Hh6KQ" name="ReplyAction">

-    <ownedComment xmi:id="_4B8pQa8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pQK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__h62bK8kEdqRKeAGm8hhTw" name="ReplyAction">

+    <ownedComment xmi:id="__h62ba8kEdqRKeAGm8hhTw" annotatedElement="__h62bK8kEdqRKeAGm8hhTw">

       <body>ReplyAction is an action that accepts a set of return values and a value containing return information produced by a previous accept call action. The reply action returns the values to the caller of the previous call, completing execution of the call.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4B8pQq8aEdqf6aL57Hh6KQ" name="pins_match_parameter" constrainedElement="_4B8pQK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pQ68aEdqf6aL57Hh6KQ" annotatedElement="_4B8pQq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62bq8kEdqRKeAGm8hhTw" name="pins_match_parameter" constrainedElement="__h62bK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62b68kEdqRKeAGm8hhTw" annotatedElement="__h62bq8kEdqRKeAGm8hhTw">

         <body>The reply value pins must match the return, out, and inout parameters of the operation on the event on the trigger in number, type, and order.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pRK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62cK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8pRa8aEdqf6aL57Hh6KQ" name="event_on_reply_to_call_trigger" constrainedElement="_4B8pQK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pRq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pRa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62ca8kEdqRKeAGm8hhTw" name="event_on_reply_to_call_trigger" constrainedElement="__h62bK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62cq8kEdqRKeAGm8hhTw" annotatedElement="__h62ca8kEdqRKeAGm8hhTw">

         <body>The event on replyToCall trigger must be a CallEvent replyToCallEvent.oclIsKindOf(CallEvent)</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pR68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62c68kEdqRKeAGm8hhTw" language="OCL">

         <body>replyToCallEvent.oclIsKindOf(CallEvent)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4B8pSK8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4B8pSa8aEdqf6aL57Hh6KQ" name="replyToCall" type="_39njHa8aEdqf6aL57Hh6KQ" association="_4CFzR68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pSq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pSa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__h62dK8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__h62da8kEdqRKeAGm8hhTw" name="replyToCall" type="__dwIMq8kEdqRKeAGm8hhTw" association="__iEncq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62dq8kEdqRKeAGm8hhTw" annotatedElement="__h62da8kEdqRKeAGm8hhTw">

         <body>The trigger specifying the operation whose call is being replied to.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pS68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pTK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62d68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62eK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4B8pTa8aEdqf6aL57Hh6KQ" name="returnInformation" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4CFzV68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4B8pTq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4B8pT68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__h62ea8kEdqRKeAGm8hhTw" name="returnInformation" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__iEngq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__h62eq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__h62e68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4B8pUK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pTa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__h62fK8kEdqRKeAGm8hhTw" annotatedElement="__h62ea8kEdqRKeAGm8hhTw">

         <body>A pin containing the return information value produced by an earlier AcceptCallAction.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pUa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pUq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62fa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62fq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4B8pU68aEdqf6aL57Hh6KQ" name="replyValue" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4CFzXK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4B8pVK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4B8pVa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__h62f68kEdqRKeAGm8hhTw" name="replyValue" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__iEnh68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__h62gK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__h62ga8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4B8pVq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pU68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__h62gq8kEdqRKeAGm8hhTw" annotatedElement="__h62f68kEdqRKeAGm8hhTw">

         <body>A list of pins containing the reply values of the operation. These values are returned to the caller.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pV68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pWK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62g68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62hK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4B8pWa8aEdqf6aL57Hh6KQ" name="UnmarshallAction">

-    <ownedComment xmi:id="_4B8pWq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pWa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__h62ha8kEdqRKeAGm8hhTw" name="UnmarshallAction">

+    <ownedComment xmi:id="__h62hq8kEdqRKeAGm8hhTw" annotatedElement="__h62ha8kEdqRKeAGm8hhTw">

       <body>The outputs of this action correspond to the structural features of the specified type. The input must be of this type.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4B8pW68aEdqf6aL57Hh6KQ" name="same_type" constrainedElement="_4B8pWa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pXK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pW68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62h68kEdqRKeAGm8hhTw" name="same_type" constrainedElement="__h62ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62iK8kEdqRKeAGm8hhTw" annotatedElement="__h62h68kEdqRKeAGm8hhTw">

         <body>The type of the object input pin must be the same as the unmarshall classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pXa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62ia8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8pXq8aEdqf6aL57Hh6KQ" name="multiplicity_of_object" constrainedElement="_4B8pWa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pX68aEdqf6aL57Hh6KQ" annotatedElement="_4B8pXq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62iq8kEdqRKeAGm8hhTw" name="multiplicity_of_object" constrainedElement="__h62ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62i68kEdqRKeAGm8hhTw" annotatedElement="__h62iq8kEdqRKeAGm8hhTw">

         <body>The multiplicity of the object input pin is 1..1</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pYK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62jK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8pYa8aEdqf6aL57Hh6KQ" name="number_of_result" constrainedElement="_4B8pWa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pYq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pYa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62ja8kEdqRKeAGm8hhTw" name="number_of_result" constrainedElement="__h62ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62jq8kEdqRKeAGm8hhTw" annotatedElement="__h62ja8kEdqRKeAGm8hhTw">

         <body>The number of result output pins must be the same as the number of structural features of the unmarshall classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pY68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62j68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8pZK8aEdqf6aL57Hh6KQ" name="type_and_ordering" constrainedElement="_4B8pWa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pZa8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pZK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62kK8kEdqRKeAGm8hhTw" name="type_and_ordering" constrainedElement="__h62ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62ka8kEdqRKeAGm8hhTw" annotatedElement="__h62kK8kEdqRKeAGm8hhTw">

         <body>The type and ordering of each result output pin must be the same as the corresponding structural feature of the unmarshall classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pZq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62kq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8pZ68aEdqf6aL57Hh6KQ" name="multiplicity_of_result" constrainedElement="_4B8pWa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8paK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pZ68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62k68kEdqRKeAGm8hhTw" name="multiplicity_of_result" constrainedElement="__h62ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62lK8kEdqRKeAGm8hhTw" annotatedElement="__h62k68kEdqRKeAGm8hhTw">

         <body>The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding structural features of the unmarshall classifier.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8paa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62la8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8paq8aEdqf6aL57Hh6KQ" name="structural_feature" constrainedElement="_4B8pWa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pa68aEdqf6aL57Hh6KQ" annotatedElement="_4B8paq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62lq8kEdqRKeAGm8hhTw" name="structural_feature" constrainedElement="__h62ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62l68kEdqRKeAGm8hhTw" annotatedElement="__h62lq8kEdqRKeAGm8hhTw">

         <body>The unmarshall classifier must have at least one structural feature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pbK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62mK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8pba8aEdqf6aL57Hh6KQ" name="unmarshallType_is_classifier" constrainedElement="_4B8pWa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pbq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pba8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62ma8kEdqRKeAGm8hhTw" name="unmarshallType_is_classifier" constrainedElement="__h62ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62mq8kEdqRKeAGm8hhTw" annotatedElement="__h62ma8kEdqRKeAGm8hhTw">

         <body>unmarshallType must be a Classifier with ordered attributes</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pb68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62m68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4B8pcK8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4B8pca8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4CFzSa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pcq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pca8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__h62nK8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__h62na8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__iEndK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62nq8kEdqRKeAGm8hhTw" annotatedElement="__h62na8kEdqRKeAGm8hhTw">

         <body>The values of the structural features of the input object.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pc68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pdK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62n68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62oK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4B8pda8aEdqf6aL57Hh6KQ" name="unmarshallType" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4CFzTq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pdq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pda8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__h62oa8kEdqRKeAGm8hhTw" name="unmarshallType" type="_6UV2QGwJEdq7X4sGURiZYA" association="__iEnea8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62oq8kEdqRKeAGm8hhTw" annotatedElement="__h62oa8kEdqRKeAGm8hhTw">

         <body>The type of the object to be unmarshalled.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pd68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8peK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62o68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62pK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4B8pea8aEdqf6aL57Hh6KQ" name="object" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4CFzUq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4B8peq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4B8pe68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__h62pa8kEdqRKeAGm8hhTw" name="object" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__iEnfa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__h62pq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__h62p68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4B8pfK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pea8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__h62qK8kEdqRKeAGm8hhTw" annotatedElement="__h62pa8kEdqRKeAGm8hhTw">

         <body>The object to be unmarshalled.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pfa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pfq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62qa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62qq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4B8pf68aEdqf6aL57Hh6KQ" name="ReduceAction">

-    <ownedComment xmi:id="_4B8pgK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pf68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__h62q68kEdqRKeAGm8hhTw" name="ReduceAction">

+    <ownedComment xmi:id="__h62rK8kEdqRKeAGm8hhTw" annotatedElement="__h62q68kEdqRKeAGm8hhTw">

       <body>This action takes a collection as input and produces an output by applying a behavior with two inputs pairwise to the elements of the collection.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4B8pga8aEdqf6aL57Hh6KQ" name="input_type_is_collection" constrainedElement="_4B8pf68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pgq8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pga8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62ra8kEdqRKeAGm8hhTw" name="input_type_is_collection" constrainedElement="__h62q68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62rq8kEdqRKeAGm8hhTw" annotatedElement="__h62ra8kEdqRKeAGm8hhTw">

         <body>The type of the input must be a collection.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pg68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62r68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8phK8aEdqf6aL57Hh6KQ" name="output_types_are_compatible" constrainedElement="_4B8pf68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pha8aEdqf6aL57Hh6KQ" annotatedElement="_4B8phK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62sK8kEdqRKeAGm8hhTw" name="output_types_are_compatible" constrainedElement="__h62q68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62sa8kEdqRKeAGm8hhTw" annotatedElement="__h62sK8kEdqRKeAGm8hhTw">

         <body>The type of the output must be compatible with the type of the output of the reducer behavior.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8phq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62sq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4B8ph68aEdqf6aL57Hh6KQ" name="reducer_inputs_output" constrainedElement="_4B8pf68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8piK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8ph68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__h62s68kEdqRKeAGm8hhTw" name="reducer_inputs_output" constrainedElement="__h62q68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62tK8kEdqRKeAGm8hhTw" annotatedElement="__h62s68kEdqRKeAGm8hhTw">

         <body>The reducer behavior must have two input parameters and one output parameter, of types compatible with the types of elements of the input collection.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4B8pia8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__h62ta8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4B8piq8aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4B8pi68aEdqf6aL57Hh6KQ" name="reducer" type="_TUPtYGveEdq4DLWZOhbdEA" association="_4CFza68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4B8pjK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pi68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__h62tq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__h62t68kEdqRKeAGm8hhTw" name="reducer" type="_TUPtYGveEdq4DLWZOhbdEA" association="__iEnlq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__h62uK8kEdqRKeAGm8hhTw" annotatedElement="__h62t68kEdqRKeAGm8hhTw">

         <body>Behavior that is applied to two elements of the input collection to produce a value that is the same type as elements of the collection.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pja8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pjq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62ua8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62uq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4B8pj68aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4CFzZa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <ownedComment xmi:id="_4B8pkK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pj68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__h62u68kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__iEnkK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <ownedComment xmi:id="__h62vK8kEdqRKeAGm8hhTw" annotatedElement="__h62u68kEdqRKeAGm8hhTw">

         <body>Gives the output pin on which the result is put.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pka8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pkq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62va8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62vq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4B8pk68aEdqf6aL57Hh6KQ" name="collection" type="_37_LM68aEdqf6aL57Hh6KQ" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4CFzaK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <ownedComment xmi:id="_4B8plK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pk68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__h62v68kEdqRKeAGm8hhTw" name="collection" type="__cQ6OK8kEdqRKeAGm8hhTw" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__iEnk68kEdqRKeAGm8hhTw" aggregation="composite">

+      <ownedComment xmi:id="__h62wK8kEdqRKeAGm8hhTw" annotatedElement="__h62v68kEdqRKeAGm8hhTw">

         <body>The collection to be reduced.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pla8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8plq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62wa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62wq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4B8pl68aEdqf6aL57Hh6KQ" name="isOrdered" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4B8pmK8aEdqf6aL57Hh6KQ" annotatedElement="_4B8pl68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__h62w68kEdqRKeAGm8hhTw" name="isOrdered" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__h62xK8kEdqRKeAGm8hhTw" annotatedElement="__h62w68kEdqRKeAGm8hhTw">

         <body>Tells whether the order of the input collection should determine the order in which the behavior is applied to its elements.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4B8pma8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__h62xa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pmq8aEdqf6aL57Hh6KQ" name="A_result_readExtentAction" memberEnd="_4Ac07a8aEdqf6aL57Hh6KQ _4B8pnK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4B8pm68aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4B8pnK8aEdqf6aL57Hh6KQ" type="_4Ac05K8aEdqf6aL57Hh6KQ" association="_4B8pmq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pna8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pnq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h62xq8kEdqRKeAGm8hhTw" name="A_result_readExtentAction" memberEnd="__h62yK8kEdqRKeAGm8hhTw __hxsWa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__h62x68kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__h62yK8kEdqRKeAGm8hhTw" type="__hxsUK8kEdqRKeAGm8hhTw" association="__h62xq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62ya8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62yq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pn68aEdqf6aL57Hh6KQ" name="A_classifier_readExtentAction" memberEnd="_4B8poK8aEdqf6aL57Hh6KQ _4Ac0868aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4B8poK8aEdqf6aL57Hh6KQ" type="_4Ac05K8aEdqf6aL57Hh6KQ" association="_4B8pn68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8poa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8poq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h62y68kEdqRKeAGm8hhTw" name="A_classifier_readExtentAction" memberEnd="__h62zK8kEdqRKeAGm8hhTw __hxsX68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__h62zK8kEdqRKeAGm8hhTw" type="__hxsUK8kEdqRKeAGm8hhTw" association="__h62y68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h62za8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62zq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8po68aEdqf6aL57Hh6KQ" name="A_oldClassifier_reclassifyObjectAction" memberEnd="_4B8ppK8aEdqf6aL57Hh6KQ _4Amlf68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4B8ppK8aEdqf6aL57Hh6KQ" type="_4AmlcK8aEdqf6aL57Hh6KQ" association="_4B8po68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8ppa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8ppq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h62z68kEdqRKeAGm8hhTw" name="A_oldClassifier_reclassifyObjectAction" memberEnd="__hxscq8kEdqRKeAGm8hhTw __h620K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__h620K8kEdqRKeAGm8hhTw" type="__hxsY68kEdqRKeAGm8hhTw" association="__h62z68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h620a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h620q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pp68aEdqf6aL57Hh6KQ" name="A_newClassifier_reclassifyObjectAction" memberEnd="_4Amlg68aEdqf6aL57Hh6KQ _4B8pqK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4B8pqK8aEdqf6aL57Hh6KQ" type="_4AmlcK8aEdqf6aL57Hh6KQ" association="_4B8pp68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pqa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pqq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h62068kEdqRKeAGm8hhTw" name="A_newClassifier_reclassifyObjectAction" memberEnd="__hxsdq8kEdqRKeAGm8hhTw __h621K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__h621K8kEdqRKeAGm8hhTw" type="__hxsY68kEdqRKeAGm8hhTw" association="__h62068kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h621a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h621q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pq68aEdqf6aL57Hh6KQ" name="A_classifier_readIsClassifiedObjectAction" memberEnd="_4Amln68aEdqf6aL57Hh6KQ _4B8prK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4B8prK8aEdqf6aL57Hh6KQ" type="_4Amlja8aEdqf6aL57Hh6KQ" association="_4B8pq68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h62168kEdqRKeAGm8hhTw" name="A_classifier_readIsClassifiedObjectAction" memberEnd="__hxskq8kEdqRKeAGm8hhTw __h622K8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__h622K8kEdqRKeAGm8hhTw" type="__hxsgK8kEdqRKeAGm8hhTw" association="__h62168kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pra8aEdqf6aL57Hh6KQ" name="A_result_readIsClassifiedObjectAction" memberEnd="_4B8pr68aEdqf6aL57Hh6KQ _4Amlo68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4B8prq8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4B8pr68aEdqf6aL57Hh6KQ" type="_4Amlja8aEdqf6aL57Hh6KQ" association="_4B8pra8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8psK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8psa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h622a8kEdqRKeAGm8hhTw" name="A_result_readIsClassifiedObjectAction" memberEnd="__hxslq8kEdqRKeAGm8hhTw __h62268kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__h622q8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__h62268kEdqRKeAGm8hhTw" type="__hxsgK8kEdqRKeAGm8hhTw" association="__h622a8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h623K8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h623a8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8psq8aEdqf6aL57Hh6KQ" name="A_object_readIsClassifiedObjectAction" memberEnd="_4Amlqa8aEdqf6aL57Hh6KQ _4B8ptK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4B8ps68aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4B8ptK8aEdqf6aL57Hh6KQ" type="_4Amlja8aEdqf6aL57Hh6KQ" association="_4B8psq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pta8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8ptq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h623q8kEdqRKeAGm8hhTw" name="A_object_readIsClassifiedObjectAction" memberEnd="__hxsnK8kEdqRKeAGm8hhTw __h624K8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__h62368kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__h624K8kEdqRKeAGm8hhTw" type="__hxsgK8kEdqRKeAGm8hhTw" association="__h623q8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h624a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h624q8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pt68aEdqf6aL57Hh6KQ" name="A_object_startClassifierBehaviorAction" memberEnd="_4AmluK8aEdqf6aL57Hh6KQ _4B8pua8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4B8puK8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4B8pua8aEdqf6aL57Hh6KQ" type="_4Amlr68aEdqf6aL57Hh6KQ" association="_4B8pt68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8puq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pu68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h62468kEdqRKeAGm8hhTw" name="A_object_startClassifierBehaviorAction" memberEnd="__hxsq68kEdqRKeAGm8hhTw __h625a8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__h625K8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__h625a8kEdqRKeAGm8hhTw" type="__hxsoq8kEdqRKeAGm8hhTw" association="__h62468kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h625q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62568kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pvK8aEdqf6aL57Hh6KQ" name="A_qualifier_linkEndData" memberEnd="_4Aml2a8aEdqf6aL57Hh6KQ _4B8pva8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4B8pva8aEdqf6aL57Hh6KQ" type="_3-qsTa8aEdqf6aL57Hh6KQ" association="_4B8pvK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pvq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pv68aEdqf6aL57Hh6KQ" value="1"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__h626K8kEdqRKeAGm8hhTw" name="A_qualifier_linkEndData" memberEnd="__hxszK8kEdqRKeAGm8hhTw __h626a8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__h626a8kEdqRKeAGm8hhTw" type="__e8bDa8kEdqRKeAGm8hhTw" association="__h626K8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__h626q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__h62668kEdqRKeAGm8hhTw" value="1"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pwK8aEdqf6aL57Hh6KQ" name="A_qualifier_qualifierValue" memberEnd="_4Amlyq8aEdqf6aL57Hh6KQ _4B8pwa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4B8pwa8aEdqf6aL57Hh6KQ" type="_4Amlvq8aEdqf6aL57Hh6KQ" association="_4B8pwK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pwq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pw68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnQK8kEdqRKeAGm8hhTw" name="A_qualifier_qualifierValue" memberEnd="__hxsva8kEdqRKeAGm8hhTw __iEnQa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iEnQa8kEdqRKeAGm8hhTw" type="__hxssa8kEdqRKeAGm8hhTw" association="__iEnQK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnQq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnQ68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pxK8aEdqf6aL57Hh6KQ" name="A_value_qualifierValue" memberEnd="_4Amlzq8aEdqf6aL57Hh6KQ _4B8pxa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4B8pxa8aEdqf6aL57Hh6KQ" type="_4Amlvq8aEdqf6aL57Hh6KQ" association="_4B8pxK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pxq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8px68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnRK8kEdqRKeAGm8hhTw" name="A_value_qualifierValue" memberEnd="__hxswa8kEdqRKeAGm8hhTw __iEnRa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iEnRa8kEdqRKeAGm8hhTw" type="__hxssa8kEdqRKeAGm8hhTw" association="__iEnRK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnRq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnR68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pyK8aEdqf6aL57Hh6KQ" name="A_object_readLinkObjectEndAction" memberEnd="_4Aml968aEdqf6aL57Hh6KQ _4B8pyq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4B8pya8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4B8pyq8aEdqf6aL57Hh6KQ" type="_4Aml368aEdqf6aL57Hh6KQ" association="_4B8pyK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8py68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8pzK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnSK8kEdqRKeAGm8hhTw" name="A_object_readLinkObjectEndAction" memberEnd="__hxs6q8kEdqRKeAGm8hhTw __iEnSq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnSa8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnSq8kEdqRKeAGm8hhTw" type="__hxs0q8kEdqRKeAGm8hhTw" association="__iEnSK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnS68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnTK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8pza8aEdqf6aL57Hh6KQ" name="A_end_readLinkObjectEndAction" memberEnd="_4Aml_a8aEdqf6aL57Hh6KQ _4B8pzq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4B8pzq8aEdqf6aL57Hh6KQ" type="_4Aml368aEdqf6aL57Hh6KQ" association="_4B8pza8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8pz68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8p0K8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnTa8kEdqRKeAGm8hhTw" name="A_end_readLinkObjectEndAction" memberEnd="__hxs8K8kEdqRKeAGm8hhTw __iEnTq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iEnTq8kEdqRKeAGm8hhTw" type="__hxs0q8kEdqRKeAGm8hhTw" association="__iEnTa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnT68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnUK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8p0a8aEdqf6aL57Hh6KQ" name="A_result_readLinkObjectEndAction" memberEnd="_4AmmAa8aEdqf6aL57Hh6KQ _4B8p068aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4B8p0q8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4B8p068aEdqf6aL57Hh6KQ" type="_4Aml368aEdqf6aL57Hh6KQ" association="_4B8p0a8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8p1K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8p1a8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnUa8kEdqRKeAGm8hhTw" name="A_result_readLinkObjectEndAction" memberEnd="__hxs9K8kEdqRKeAGm8hhTw __iEnU68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnUq8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnU68kEdqRKeAGm8hhTw" type="__hxs0q8kEdqRKeAGm8hhTw" association="__iEnUa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnVK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnVa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4B8p1q8aEdqf6aL57Hh6KQ" name="A_object_readLinkObjectEndQualifierAction" memberEnd="_4AmmIq8aEdqf6aL57Hh6KQ _4B8p2K8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4B8p168aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4B8p2K8aEdqf6aL57Hh6KQ" type="_4AmmB68aEdqf6aL57Hh6KQ" association="_4B8p1q8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B8p2a8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4B8p2q8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnVq8kEdqRKeAGm8hhTw" name="A_object_readLinkObjectEndQualifierAction" memberEnd="__iEnWK8kEdqRKeAGm8hhTw __hxtFa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnV68kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnWK8kEdqRKeAGm8hhTw" type="__hxs-q8kEdqRKeAGm8hhTw" association="__iEnVq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnWa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnWq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzMK8aEdqf6aL57Hh6KQ" name="A_result_readLinkObjectEndQualifierAction" memberEnd="_4AmmKK8aEdqf6aL57Hh6KQ _4CFzMq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzMa8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzMq8aEdqf6aL57Hh6KQ" type="_4AmmB68aEdqf6aL57Hh6KQ" association="_4CFzMK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzM68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzNK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnW68kEdqRKeAGm8hhTw" name="A_result_readLinkObjectEndQualifierAction" memberEnd="__hxtG68kEdqRKeAGm8hhTw __iEnXa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnXK8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnXa8kEdqRKeAGm8hhTw" type="__hxs-q8kEdqRKeAGm8hhTw" association="__iEnW68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnXq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnX68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzNa8aEdqf6aL57Hh6KQ" name="A_qualifier_readLinkObjectEndQualifierAction" memberEnd="_4AmmLq8aEdqf6aL57Hh6KQ _4CFzNq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CFzNq8aEdqf6aL57Hh6KQ" type="_4AmmB68aEdqf6aL57Hh6KQ" association="_4CFzNa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzN68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzOK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnYK8kEdqRKeAGm8hhTw" name="A_qualifier_readLinkObjectEndQualifierAction" memberEnd="__iEnYa8kEdqRKeAGm8hhTw __hxtIa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iEnYa8kEdqRKeAGm8hhTw" type="__hxs-q8kEdqRKeAGm8hhTw" association="__iEnYK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnYq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnY68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzOa8aEdqf6aL57Hh6KQ" name="A_result_createLinkObjectAction" memberEnd="_4AmmPq8aEdqf6aL57Hh6KQ _4CFzO68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzOq8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzO68aEdqf6aL57Hh6KQ" type="_4AmmMq8aEdqf6aL57Hh6KQ" association="_4CFzOa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzPK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzPa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnZK8kEdqRKeAGm8hhTw" name="A_result_createLinkObjectAction" memberEnd="__iEnZq8kEdqRKeAGm8hhTw __hxtMa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnZa8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnZq8kEdqRKeAGm8hhTw" type="__hxtJa8kEdqRKeAGm8hhTw" association="__iEnZK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnZ68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnaK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzPq8aEdqf6aL57Hh6KQ" name="A_reclassifyObjectAction_object" memberEnd="_4CFzQK8aEdqf6aL57Hh6KQ _4Amlh68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzP68aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzQK8aEdqf6aL57Hh6KQ" type="_4AmlcK8aEdqf6aL57Hh6KQ" redefinedProperty="_37_LyK8aEdqf6aL57Hh6KQ" association="_4CFzPq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnaa8kEdqRKeAGm8hhTw" name="A_reclassifyObjectAction_object" memberEnd="__hxseq8kEdqRKeAGm8hhTw __iEna68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnaq8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEna68kEdqRKeAGm8hhTw" type="__hxsY68kEdqRKeAGm8hhTw" redefinedProperty="__cQ6za8kEdqRKeAGm8hhTw" association="__iEnaa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzQa8aEdqf6aL57Hh6KQ" name="A_result_acceptEventAction" memberEnd="_4AwWgq8aEdqf6aL57Hh6KQ _4CFzQ68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzQq8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzQ68aEdqf6aL57Hh6KQ" type="_4AwWcK8aEdqf6aL57Hh6KQ" redefinedProperty="_37_Lw68aEdqf6aL57Hh6KQ" association="_4CFzQa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnbK8kEdqRKeAGm8hhTw" name="A_result_acceptEventAction" memberEnd="__h62Uq8kEdqRKeAGm8hhTw __iEnbq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnba8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnbq8kEdqRKeAGm8hhTw" type="__h62QK8kEdqRKeAGm8hhTw" redefinedProperty="__cQ6yK8kEdqRKeAGm8hhTw" association="__iEnbK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzRK8aEdqf6aL57Hh6KQ" name="A_returnInformation_acceptCallAction" memberEnd="_4CFzRq8aEdqf6aL57Hh6KQ _4AwWmK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzRa8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzRq8aEdqf6aL57Hh6KQ" type="_4AwWjK8aEdqf6aL57Hh6KQ" redefinedProperty="_37_Lw68aEdqf6aL57Hh6KQ" association="_4CFzRK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnb68kEdqRKeAGm8hhTw" name="A_returnInformation_acceptCallAction" memberEnd="__h62aK8kEdqRKeAGm8hhTw __iEnca8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEncK8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnca8kEdqRKeAGm8hhTw" type="__h62XK8kEdqRKeAGm8hhTw" redefinedProperty="__cQ6yK8kEdqRKeAGm8hhTw" association="__iEnb68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzR68aEdqf6aL57Hh6KQ" name="A_replyToCall_replyAction" memberEnd="_4B8pSa8aEdqf6aL57Hh6KQ _4CFzSK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CFzSK8aEdqf6aL57Hh6KQ" type="_4B8pQK8aEdqf6aL57Hh6KQ" association="_4CFzR68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEncq8kEdqRKeAGm8hhTw" name="A_replyToCall_replyAction" memberEnd="__iEnc68kEdqRKeAGm8hhTw __h62da8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iEnc68kEdqRKeAGm8hhTw" type="__h62bK8kEdqRKeAGm8hhTw" association="__iEncq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzSa8aEdqf6aL57Hh6KQ" name="A_result_unmarshallAction" memberEnd="_4CFzS68aEdqf6aL57Hh6KQ _4B8pca8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzSq8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzS68aEdqf6aL57Hh6KQ" type="_4B8pWa8aEdqf6aL57Hh6KQ" association="_4CFzSa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzTK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzTa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEndK8kEdqRKeAGm8hhTw" name="A_result_unmarshallAction" memberEnd="__h62na8kEdqRKeAGm8hhTw __iEndq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnda8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEndq8kEdqRKeAGm8hhTw" type="__h62ha8kEdqRKeAGm8hhTw" association="__iEndK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnd68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEneK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzTq8aEdqf6aL57Hh6KQ" name="A_unmarshallType_unmarshallAction" memberEnd="_4B8pda8aEdqf6aL57Hh6KQ _4CFzT68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CFzT68aEdqf6aL57Hh6KQ" type="_4B8pWa8aEdqf6aL57Hh6KQ" association="_4CFzTq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzUK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzUa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnea8kEdqRKeAGm8hhTw" name="A_unmarshallType_unmarshallAction" memberEnd="__h62oa8kEdqRKeAGm8hhTw __iEneq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iEneq8kEdqRKeAGm8hhTw" type="__h62ha8kEdqRKeAGm8hhTw" association="__iEnea8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEne68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnfK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzUq8aEdqf6aL57Hh6KQ" name="A_object_unmarshallAction" memberEnd="_4CFzVK8aEdqf6aL57Hh6KQ _4B8pea8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzU68aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzVK8aEdqf6aL57Hh6KQ" type="_4B8pWa8aEdqf6aL57Hh6KQ" association="_4CFzUq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzVa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzVq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnfa8kEdqRKeAGm8hhTw" name="A_object_unmarshallAction" memberEnd="__iEnf68kEdqRKeAGm8hhTw __h62pa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnfq8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnf68kEdqRKeAGm8hhTw" type="__h62ha8kEdqRKeAGm8hhTw" association="__iEnfa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEngK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnga8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzV68aEdqf6aL57Hh6KQ" name="A_returnInformation_replyAction" memberEnd="_4B8pTa8aEdqf6aL57Hh6KQ _4CFzWa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzWK8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzWa8aEdqf6aL57Hh6KQ" type="_4B8pQK8aEdqf6aL57Hh6KQ" association="_4CFzV68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzWq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzW68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEngq8kEdqRKeAGm8hhTw" name="A_returnInformation_replyAction" memberEnd="__h62ea8kEdqRKeAGm8hhTw __iEnhK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEng68kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnhK8kEdqRKeAGm8hhTw" type="__h62bK8kEdqRKeAGm8hhTw" association="__iEngq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnha8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnhq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzXK8aEdqf6aL57Hh6KQ" name="A_replyValue_replyAction" memberEnd="_4B8pU68aEdqf6aL57Hh6KQ _4CFzXq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzXa8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzXq8aEdqf6aL57Hh6KQ" type="_4B8pQK8aEdqf6aL57Hh6KQ" association="_4CFzXK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzX68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzYK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnh68kEdqRKeAGm8hhTw" name="A_replyValue_replyAction" memberEnd="__iEnia8kEdqRKeAGm8hhTw __h62f68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEniK8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnia8kEdqRKeAGm8hhTw" type="__h62bK8kEdqRKeAGm8hhTw" association="__iEnh68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEniq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEni68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzYa8aEdqf6aL57Hh6KQ" name="A_trigger_acceptEventAction" memberEnd="_4CFzYq8aEdqf6aL57Hh6KQ _4AwWhq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CFzYq8aEdqf6aL57Hh6KQ" type="_4AwWcK8aEdqf6aL57Hh6KQ" association="_4CFzYa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzY68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzZK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnjK8kEdqRKeAGm8hhTw" name="A_trigger_acceptEventAction" memberEnd="__iEnja8kEdqRKeAGm8hhTw __h62Vq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iEnja8kEdqRKeAGm8hhTw" type="__h62QK8kEdqRKeAGm8hhTw" association="__iEnjK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnjq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnj68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzZa8aEdqf6aL57Hh6KQ" name="A_result_reduceAction" memberEnd="_4B8pj68aEdqf6aL57Hh6KQ _4CFzZ68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzZq8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzZ68aEdqf6aL57Hh6KQ" type="_4B8pf68aEdqf6aL57Hh6KQ" redefinedProperty="_37_Lw68aEdqf6aL57Hh6KQ" association="_4CFzZa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnkK8kEdqRKeAGm8hhTw" name="A_result_reduceAction" memberEnd="__iEnkq8kEdqRKeAGm8hhTw __h62u68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnka8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnkq8kEdqRKeAGm8hhTw" type="__h62q68kEdqRKeAGm8hhTw" redefinedProperty="__cQ6yK8kEdqRKeAGm8hhTw" association="__iEnkK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFzaK8aEdqf6aL57Hh6KQ" name="A_collection_reduceAction" memberEnd="_4CFzaq8aEdqf6aL57Hh6KQ _4B8pk68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CFzaa8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CFzaq8aEdqf6aL57Hh6KQ" type="_4B8pf68aEdqf6aL57Hh6KQ" redefinedProperty="_37_LyK8aEdqf6aL57Hh6KQ" association="_4CFzaK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnk68kEdqRKeAGm8hhTw" name="A_collection_reduceAction" memberEnd="__iEnla8kEdqRKeAGm8hhTw __h62v68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iEnlK8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iEnla8kEdqRKeAGm8hhTw" type="__h62q68kEdqRKeAGm8hhTw" redefinedProperty="__cQ6za8kEdqRKeAGm8hhTw" association="__iEnk68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CFza68aEdqf6aL57Hh6KQ" name="A_reducer_reduceAction" memberEnd="_4B8pi68aEdqf6aL57Hh6KQ _4CFzbK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CFzbK8aEdqf6aL57Hh6KQ" type="_4B8pf68aEdqf6aL57Hh6KQ" association="_4CFza68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iEnlq8kEdqRKeAGm8hhTw" name="A_reducer_reduceAction" memberEnd="__h62t68kEdqRKeAGm8hhTw __iEnl68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iEnl68kEdqRKeAGm8hhTw" type="__h62q68kEdqRKeAGm8hhTw" association="__iEnlq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_397FCK8aEdqf6aL57Hh6KQ" name="JoinNode">

-    <ownedComment xmi:id="_397FCa8aEdqf6aL57Hh6KQ" annotatedElement="_397FCK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eDDRK8kEdqRKeAGm8hhTw" name="JoinNode">

+    <ownedComment xmi:id="__eDDRa8kEdqRKeAGm8hhTw" annotatedElement="__eDDRK8kEdqRKeAGm8hhTw">

       <body>A join node has multiple incoming edges and one outgoing edge.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4CFzba8aEdqf6aL57Hh6KQ" annotatedElement="_397FCK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__iEnmK8kEdqRKeAGm8hhTw" annotatedElement="__eDDRK8kEdqRKeAGm8hhTw">

       <body>A join node has multiple incoming edges and one outgoing edge. In CompleteActivities, Join nodes have a Boolean value specification using the names of the incoming edges to specify the conditions under which the join will emit a token.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CFzbq8aEdqf6aL57Hh6KQ" name="one_outgoing_edge" constrainedElement="_397FCK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzb68aEdqf6aL57Hh6KQ" annotatedElement="_4CFzbq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iEnma8kEdqRKeAGm8hhTw" name="one_outgoing_edge" constrainedElement="__eDDRK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iEnmq8kEdqRKeAGm8hhTw" annotatedElement="__iEnma8kEdqRKeAGm8hhTw">

         <body>A join node has one outgoing edge.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFzcK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iEnm68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.outgoing->size() = 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CFzca8aEdqf6aL57Hh6KQ" name="incoming_object_flow" constrainedElement="_397FCK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzcq8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzca8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iEnnK8kEdqRKeAGm8hhTw" name="incoming_object_flow" constrainedElement="__eDDRK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iEnna8kEdqRKeAGm8hhTw" annotatedElement="__iEnnK8kEdqRKeAGm8hhTw">

         <body>If a join node has an incoming object flow, it must have an outgoing object flow, otherwise, it must have an outgoing control flow.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFzc68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iEnnq8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.incoming.select(e | e.isTypeOf(ObjectFlow)->notEmpty() implies

 

   self.outgoing.isTypeOf(ObjectFlow)) and

@@ -11002,259 +11002,259 @@
       self.outgoing.isTypeOf(ControlFlow))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_397FCq8aEdqf6aL57Hh6KQ" general="_3838VK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CFzdK8aEdqf6aL57Hh6KQ" name="isCombineDuplicate" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CFzda8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzdK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eDDRq8kEdqRKeAGm8hhTw" general="__dAhc68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__iEnn68kEdqRKeAGm8hhTw" name="isCombineDuplicate" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__iEnoK8kEdqRKeAGm8hhTw" annotatedElement="__iEnn68kEdqRKeAGm8hhTw">

         <body>Tells whether tokens having objects with the same identity are combined into one by the join.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CFzdq8aEdqf6aL57Hh6KQ" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__iEnoa8kEdqRKeAGm8hhTw" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzd68aEdqf6aL57Hh6KQ" name="joinSpec" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4CYuO68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CFzeK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CFzea8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__iEnoq8kEdqRKeAGm8hhTw" name="joinSpec" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ihTTq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__iEno68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__iEnpK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CFzeq8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzd68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iEnpa8kEdqRKeAGm8hhTw" annotatedElement="__iEnoq8kEdqRKeAGm8hhTw">

         <body>A specification giving the conditions under which the join with emit a token. Default is &quot;and&quot;.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFze68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzfK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iEnpq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iEnp68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CFzfa8aEdqf6aL57Hh6KQ" name="DataStoreNode">

-    <ownedComment xmi:id="_4CFzfq8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzfa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__iEnqK8kEdqRKeAGm8hhTw" name="DataStoreNode">

+    <ownedComment xmi:id="__iEnqa8kEdqRKeAGm8hhTw" annotatedElement="__iEnqK8kEdqRKeAGm8hhTw">

       <body>A data store keeps all tokens that enter it, copying them when they are chosen to move downstream. Incoming tokens containing a particular object replace any tokens in the object node containing that object.</body>

     </ownedComment>

-    <generalization xmi:id="_4CFzf68aEdqf6aL57Hh6KQ" general="_39xUIa8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__iEnqq8kEdqRKeAGm8hhTw" general="__eDC4K8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838fq8aEdqf6aL57Hh6KQ" name="ObjectFlow">

-    <ownedComment xmi:id="_3838f68aEdqf6aL57Hh6KQ" annotatedElement="_3838fq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dAhna8kEdqRKeAGm8hhTw" name="ObjectFlow">

+    <ownedComment xmi:id="__dAhnq8kEdqRKeAGm8hhTw" annotatedElement="__dAhna8kEdqRKeAGm8hhTw">

       <body>An object flow models the flow of values to or from object nodes.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3838gK8aEdqf6aL57Hh6KQ" name="no_actions" constrainedElement="_3838fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838ga8aEdqf6aL57Hh6KQ" annotatedElement="_3838gK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhn68kEdqRKeAGm8hhTw" name="no_actions" constrainedElement="__dAhna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhoK8kEdqRKeAGm8hhTw" annotatedElement="__dAhn68kEdqRKeAGm8hhTw">

         <body>Object flows may not have actions at either end.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838gq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhoa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838g68aEdqf6aL57Hh6KQ" name="compatible_types" constrainedElement="_3838fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838hK8aEdqf6aL57Hh6KQ" annotatedElement="_3838g68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhoq8kEdqRKeAGm8hhTw" name="compatible_types" constrainedElement="__dAhna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAho68kEdqRKeAGm8hhTw" annotatedElement="__dAhoq8kEdqRKeAGm8hhTw">

         <body>Object nodes connected by an object flow, with optionally intervening control nodes, must have compatible types. In particular, the downstream object node type must be the same or a supertype of the upstream object node type.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838ha8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhpK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838hq8aEdqf6aL57Hh6KQ" name="same_upper_bounds" constrainedElement="_3838fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838h68aEdqf6aL57Hh6KQ" annotatedElement="_3838hq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhpa8kEdqRKeAGm8hhTw" name="same_upper_bounds" constrainedElement="__dAhna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhpq8kEdqRKeAGm8hhTw" annotatedElement="__dAhpa8kEdqRKeAGm8hhTw">

         <body>Object nodes connected by an object flow, with optionally intervening control nodes, must have the same upper bounds.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838iK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhp68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CFzgK8aEdqf6aL57Hh6KQ" name="target" constrainedElement="_3838fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzga8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzgK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYQK8kEdqRKeAGm8hhTw" name="target" constrainedElement="__dAhna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYQa8kEdqRKeAGm8hhTw" annotatedElement="__iOYQK8kEdqRKeAGm8hhTw">

         <body>An edge with constant weight may not target an object node, or lead to an object node downstream with no intervening actions, that has an upper bound less than the weight.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFzgq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYQq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CFzg68aEdqf6aL57Hh6KQ" name="transformation_behaviour" constrainedElement="_3838fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzhK8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzg68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYQ68kEdqRKeAGm8hhTw" name="transformation_behaviour" constrainedElement="__dAhna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYRK8kEdqRKeAGm8hhTw" annotatedElement="__iOYQ68kEdqRKeAGm8hhTw">

         <body>A transformation behavior has one input parameter and one output parameter. The input parameter must be the same as or a supertype of the type of object token coming from the source end. The output parameter must be the same or a subtype of the type of object token expected downstream. The behavior cannot have side effects.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFzha8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYRa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CFzhq8aEdqf6aL57Hh6KQ" name="selection_behaviour" constrainedElement="_3838fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzh68aEdqf6aL57Hh6KQ" annotatedElement="_4CFzhq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYRq8kEdqRKeAGm8hhTw" name="selection_behaviour" constrainedElement="__dAhna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYR68kEdqRKeAGm8hhTw" annotatedElement="__iOYRq8kEdqRKeAGm8hhTw">

         <body>An object flow may have a selection behavior only if has an object node as a source.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFziK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYSK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CFzia8aEdqf6aL57Hh6KQ" name="input_and_output_parameter" constrainedElement="_3838fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFziq8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzia8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYSa8kEdqRKeAGm8hhTw" name="input_and_output_parameter" constrainedElement="__dAhna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYSq8kEdqRKeAGm8hhTw" annotatedElement="__iOYSa8kEdqRKeAGm8hhTw">

         <body>A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same as or a supertype of the type of source object node. The output parameter must be the same or a subtype of the type of source object node. The behavior cannot have side effects.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFzi68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYS68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CFzjK8aEdqf6aL57Hh6KQ" name="is_multicast_or_is_multireceive" constrainedElement="_3838fq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzja8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzjK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYTK8kEdqRKeAGm8hhTw" name="is_multicast_or_is_multireceive" constrainedElement="__dAhna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYTa8kEdqRKeAGm8hhTw" annotatedElement="__iOYTK8kEdqRKeAGm8hhTw">

         <body>isMulticast and isMultireceive cannot both be true.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFzjq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYTq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3838ia8aEdqf6aL57Hh6KQ" general="_3838V68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CFzj68aEdqf6aL57Hh6KQ" name="isMulticast" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CFzkK8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzj68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dAhqK8kEdqRKeAGm8hhTw" general="__dAhdq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__iOYT68kEdqRKeAGm8hhTw" name="isMulticast" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__iOYUK8kEdqRKeAGm8hhTw" annotatedElement="__iOYT68kEdqRKeAGm8hhTw">

         <body>Tells whether the objects in the flow are passed by multicasting.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CFzka8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__iOYUa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzkq8aEdqf6aL57Hh6KQ" name="isMultireceive" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CFzk68aEdqf6aL57Hh6KQ" annotatedElement="_4CFzkq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iOYUq8kEdqRKeAGm8hhTw" name="isMultireceive" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__iOYU68kEdqRKeAGm8hhTw" annotatedElement="__iOYUq8kEdqRKeAGm8hhTw">

         <body>Tells whether the objects in the flow are gathered from respondents to multicasting.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CFzlK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__iOYVK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzla8aEdqf6aL57Hh6KQ" name="transformation" type="_TUPtYGveEdq4DLWZOhbdEA" association="_4CPkt68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzlq8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzla8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iOYVa8kEdqRKeAGm8hhTw" name="transformation" type="_TUPtYGveEdq4DLWZOhbdEA" association="__iXika8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYVq8kEdqRKeAGm8hhTw" annotatedElement="__iOYVa8kEdqRKeAGm8hhTw">

         <body>Changes or replaces data tokens flowing along edge.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzl68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzmK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYV68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYWK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzma8aEdqf6aL57Hh6KQ" name="selection" type="_TUPtYGveEdq4DLWZOhbdEA" association="_4CYuJq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzmq8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzma8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iOYWa8kEdqRKeAGm8hhTw" name="selection" type="_TUPtYGveEdq4DLWZOhbdEA" association="__ihTOa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYWq8kEdqRKeAGm8hhTw" annotatedElement="__iOYWa8kEdqRKeAGm8hhTw">

         <body>Selects tokens from a source object node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzm68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFznK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYW68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYXK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838Sq8aEdqf6aL57Hh6KQ" name="ObjectNode" isAbstract="true">

-    <ownedComment xmi:id="_3838S68aEdqf6aL57Hh6KQ" annotatedElement="_3838Sq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dAhaa8kEdqRKeAGm8hhTw" name="ObjectNode" isAbstract="true">

+    <ownedComment xmi:id="__dAhaq8kEdqRKeAGm8hhTw" annotatedElement="__dAhaa8kEdqRKeAGm8hhTw">

       <body>An object node is an activity node that indicates an instance of a particular classifier, possibly in a particular state, may be available at a particular point in the activity. Object nodes can be used in a variety of ways, depending on where objects are flowing from and to, as described in the semantics section.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4CFzp68aEdqf6aL57Hh6KQ" annotatedElement="_3838Sq8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__iOYZ68kEdqRKeAGm8hhTw" annotatedElement="__dAhaa8kEdqRKeAGm8hhTw">

       <body>An object node is an activity node that indicates an instance of a particular classifier, possibly in a particular state, may be available at a particular point in the activity. Object nodes can be used in a variety of ways, depending on where objects are flowing from and to, as described in the semantics section.

 

 Complete object nodes add support for token selection, limitation on the number of tokens, specifying the state required for tokens, and carrying control values.

 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3838TK8aEdqf6aL57Hh6KQ" name="object_flow_edges" constrainedElement="_3838Sq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838Ta8aEdqf6aL57Hh6KQ" annotatedElement="_3838TK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAha68kEdqRKeAGm8hhTw" name="object_flow_edges" constrainedElement="__dAhaa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhbK8kEdqRKeAGm8hhTw" annotatedElement="__dAha68kEdqRKeAGm8hhTw">

         <body>All edges coming into or going out of object nodes must be object flow edges.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838Tq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhba8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838T68aEdqf6aL57Hh6KQ" name="not_unique" constrainedElement="_3838Sq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838UK8aEdqf6aL57Hh6KQ" annotatedElement="_3838T68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhbq8kEdqRKeAGm8hhTw" name="not_unique" constrainedElement="__dAhaa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhb68kEdqRKeAGm8hhTw" annotatedElement="__dAhbq8kEdqRKeAGm8hhTw">

         <body>Object nodes are not unique typed elements</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838Ua8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhcK8kEdqRKeAGm8hhTw" language="OCL">

         <body>isUnique = false</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CFzqK8aEdqf6aL57Hh6KQ" name="selection_behavior" constrainedElement="_3838Sq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzqa8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzqK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYaK8kEdqRKeAGm8hhTw" name="selection_behavior" constrainedElement="__dAhaa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYaa8kEdqRKeAGm8hhTw" annotatedElement="__iOYaK8kEdqRKeAGm8hhTw">

         <body>If an object node has a selection behavior, then the ordering of the object node is ordered, and vice versa.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFzqq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYaq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CFzq68aEdqf6aL57Hh6KQ" name="input_output_parameter" constrainedElement="_3838Sq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzrK8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzq68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYa68kEdqRKeAGm8hhTw" name="input_output_parameter" constrainedElement="__dAhaa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYbK8kEdqRKeAGm8hhTw" annotatedElement="__iOYa68kEdqRKeAGm8hhTw">

         <body>A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same type as the object node or a supertype of the type of object node. The output parameter must be the same or a subtype of the type of object node. The behavior cannot have side effects.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CFzra8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYba8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3838Uq8aEdqf6aL57Hh6KQ" general="_38IVSq8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3838U68aEdqf6aL57Hh6KQ" general="_33g7Dq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CFzrq8aEdqf6aL57Hh6KQ" name="ordering" type="_4CPknq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzr68aEdqf6aL57Hh6KQ" annotatedElement="_4CFzrq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__dAhca8kEdqRKeAGm8hhTw" general="__caEV68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__dAhcq8kEdqRKeAGm8hhTw" general="__YYf7q8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__iOYbq8kEdqRKeAGm8hhTw" name="ordering" type="__iXieK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYb68kEdqRKeAGm8hhTw" annotatedElement="__iOYbq8kEdqRKeAGm8hhTw">

         <body>Tells whether and how the tokens in the object node are ordered for selection to traverse edges outgoing from the object node.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_4CFzsK8aEdqf6aL57Hh6KQ" instance="_4CPko68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__iOYcK8kEdqRKeAGm8hhTw" instance="__iXifa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzsa8aEdqf6aL57Hh6KQ" name="isControlType" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CFzsq8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzsa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iOYca8kEdqRKeAGm8hhTw" name="isControlType" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__iOYcq8kEdqRKeAGm8hhTw" annotatedElement="__iOYca8kEdqRKeAGm8hhTw">

         <body>Tells whether the type of the object node is to be treated as control.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CFzs68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__iOYc68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFztK8aEdqf6aL57Hh6KQ" name="upperBound" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4CPkra8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CFzta8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CFztq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__iOYdK8kEdqRKeAGm8hhTw" name="upperBound" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__iXih68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__iOYda8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__iOYdq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CFzt68aEdqf6aL57Hh6KQ" annotatedElement="_4CFztK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iOYd68kEdqRKeAGm8hhTw" annotatedElement="__iOYdK8kEdqRKeAGm8hhTw">

         <body>The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzuK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzua8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYeK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYea8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzuq8aEdqf6aL57Hh6KQ" name="inState" type="_3_kDoK8aEdqf6aL57Hh6KQ" association="_4CPksq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzu68aEdqf6aL57Hh6KQ" annotatedElement="_4CFzuq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iOYeq8kEdqRKeAGm8hhTw" name="inState" type="__gujr68kEdqRKeAGm8hhTw" association="__iXijK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYe68kEdqRKeAGm8hhTw" annotatedElement="__iOYeq8kEdqRKeAGm8hhTw">

         <body>The required states of the object available at this point in the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzvK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzva8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYfK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYfa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzvq8aEdqf6aL57Hh6KQ" name="selection" type="_TUPtYGveEdq4DLWZOhbdEA" association="_4CYuKq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzv68aEdqf6aL57Hh6KQ" annotatedElement="_4CFzvq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iOYfq8kEdqRKeAGm8hhTw" name="selection" type="_TUPtYGveEdq4DLWZOhbdEA" association="__ihTPa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYf68kEdqRKeAGm8hhTw" annotatedElement="__iOYfq8kEdqRKeAGm8hhTw">

         <body>Selects tokens for outgoing edges.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzwK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzwa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYgK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYga8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CPkMK8aEdqf6aL57Hh6KQ" name="ParameterSet">

-    <ownedComment xmi:id="_4CPkMa8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkMK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__iOYgq8kEdqRKeAGm8hhTw" name="ParameterSet">

+    <ownedComment xmi:id="__iOYg68kEdqRKeAGm8hhTw" annotatedElement="__iOYgq8kEdqRKeAGm8hhTw">

       <body>An parameter set acts as a complete set of inputs or outputs to a behavior, exclusive of other parameter sets on the behavior.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CPkMq8aEdqf6aL57Hh6KQ" name="same_parameterized_entity" constrainedElement="_4CPkMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkM68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkMq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYhK8kEdqRKeAGm8hhTw" name="same_parameterized_entity" constrainedElement="__iOYgq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYha8kEdqRKeAGm8hhTw" annotatedElement="__iOYhK8kEdqRKeAGm8hhTw">

         <body>The parameters in a parameter set must all be inputs or all be outputs of the same parameterized entity, and the parameter set is owned by that entity.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkNK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYhq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CPkNa8aEdqf6aL57Hh6KQ" name="input" constrainedElement="_4CPkMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkNq8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkNa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYh68kEdqRKeAGm8hhTw" name="input" constrainedElement="__iOYgq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYiK8kEdqRKeAGm8hhTw" annotatedElement="__iOYh68kEdqRKeAGm8hhTw">

         <body>If a behavior has input parameters that are in a parameter set, then any inputs that are not in a parameter set must be streaming. Same for output parameters.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkN68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYia8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CPkOK8aEdqf6aL57Hh6KQ" name="two_parameter_sets" constrainedElement="_4CPkMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkOa8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkOK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYiq8kEdqRKeAGm8hhTw" name="two_parameter_sets" constrainedElement="__iOYgq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYi68kEdqRKeAGm8hhTw" annotatedElement="__iOYiq8kEdqRKeAGm8hhTw">

         <body>Two parameter sets cannot have exactly the same set of parameters.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkOq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYjK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4CPkO68aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_4CPkPK8aEdqf6aL57Hh6KQ" name="parameter" type="_KyaPMGveEdq4DLWZOhbdEA" association="_4CPktq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkPa8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkPK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__iOYja8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__iOYjq8kEdqRKeAGm8hhTw" name="parameter" type="_KyaPMGveEdq4DLWZOhbdEA" association="__iXikK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYj68kEdqRKeAGm8hhTw" annotatedElement="__iOYjq8kEdqRKeAGm8hhTw">

         <body>Parameters in the parameter set.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkPq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkP68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYkK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYka8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkQK8aEdqf6aL57Hh6KQ" name="condition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4CYuLq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CPkQa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CPkQq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__iOYkq8kEdqRKeAGm8hhTw" name="condition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ihTQa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__iOYk68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__iOYlK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CPkQ68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkQK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iOYla8kEdqRKeAGm8hhTw" annotatedElement="__iOYkq8kEdqRKeAGm8hhTw">

         <body>Constraint that should be satisfied for the owner of the parameters in an input parameter set to start execution using the values provided for those parameters, or the owner of the parameters in an output parameter set to end execution providing the values for those parameters, if all preconditions and conditions on input parameter sets were satisfied.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkRK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkRa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYlq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYl68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_L168aEdqf6aL57Hh6KQ" name="Activity">

-    <ownedComment xmi:id="_37_L2K8aEdqf6aL57Hh6KQ" annotatedElement="_37_L168aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__caEKK8kEdqRKeAGm8hhTw" name="Activity">

+    <ownedComment xmi:id="__caEKa8kEdqRKeAGm8hhTw" annotatedElement="__caEKK8kEdqRKeAGm8hhTw">

       <body>An activity specifies the coordination of executions of subordinate behaviors, using a control and data flow model. The subordinate behaviors coordinated by these models may be initiated because other behaviors in the model finish executing, because objects and data become available, or because events occur external to the flow. The flow of execution is modeled as activity nodes connected by activity edges. A node can be the execution of a subordinate behavior, such as an arithmetic computation, a call to an operation, or manipulation of object contents. Activity nodes also include flow-of-control constructs, such as synchronization, decision, and concurrency control. Activities may form invocation hierarchies invoking other activities, ultimately resolving to individual actions. In an object-oriented model, activities are usually invoked indirectly as methods bound to operations that are directly invoked. 

 

 

@@ -11273,223 +11273,223 @@
 

 Actions have no further decomposition in the activity containing them. However, the execution of a single action may induce the execution of many other actions. For example, a call action invokes an operation which is implemented by an activity containing actions that execute before the call action completes.</body>

     </ownedComment>

-    <ownedRule xmi:id="_37_L2a8aEdqf6aL57Hh6KQ" name="no_supergroups" constrainedElement="_37_L168aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37_L2q8aEdqf6aL57Hh6KQ" annotatedElement="_37_L2a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__caEKq8kEdqRKeAGm8hhTw" name="no_supergroups" constrainedElement="__caEKK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEK68kEdqRKeAGm8hhTw" annotatedElement="__caEKq8kEdqRKeAGm8hhTw">

         <body>The groups of an activity have no supergroups.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37_L268aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__caELK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtKK8aEdqf6aL57Hh6KQ" name="activity_parameter_node" constrainedElement="_37_L168aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtKa8aEdqf6aL57Hh6KQ" annotatedElement="_39BtKK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrQ68kEdqRKeAGm8hhTw" name="activity_parameter_node" constrainedElement="__caEKK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrRK8kEdqRKeAGm8hhTw" annotatedElement="__dJrQ68kEdqRKeAGm8hhTw">

         <body>The nodes of the activity must include one ActivityParameterNode for each parameter.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtKq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrRa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtK68aEdqf6aL57Hh6KQ" name="autonomous" constrainedElement="_37_L168aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtLK8aEdqf6aL57Hh6KQ" annotatedElement="_39BtK68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrRq8kEdqRKeAGm8hhTw" name="autonomous" constrainedElement="__caEKK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrR68kEdqRKeAGm8hhTw" annotatedElement="__dJrRq8kEdqRKeAGm8hhTw">

         <body>An activity cannot be autonomous and have a classifier or behavioral feature context at the same time.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtLa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrSK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38IVIK8aEdqf6aL57Hh6KQ" general="_TUPtYGveEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_38SGUK8aEdqf6aL57Hh6KQ" name="structuredNode" type="_38IVea8aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" subsettedProperty="_38IVIa8aEdqf6aL57Hh6KQ _38IVJ68aEdqf6aL57Hh6KQ" association="_38bQFK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38SGUa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38SGUq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__caELa8kEdqRKeAGm8hhTw" general="_TUPtYGveEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__cj1IK8kEdqRKeAGm8hhTw" name="structuredNode" type="__caEhq8kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" subsettedProperty="__caELq8kEdqRKeAGm8hhTw __caENK8kEdqRKeAGm8hhTw" association="__cj1da8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cj1Ia8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cj1Iq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38SGU68aEdqf6aL57Hh6KQ" annotatedElement="_38SGUK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cj1I68kEdqRKeAGm8hhTw" annotatedElement="__cj1IK8kEdqRKeAGm8hhTw">

         <body>Top-level structured nodes in the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGVK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGVa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1JK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1Ja8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGVq8aEdqf6aL57Hh6KQ" name="variable" type="_38IVYK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_38bQF68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38SGV68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38SGWK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__cj1Jq8kEdqRKeAGm8hhTw" name="variable" type="__caEba8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__cj1eK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cj1J68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cj1KK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38SGWa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGVq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cj1Ka8kEdqRKeAGm8hhTw" annotatedElement="__cj1Jq8kEdqRKeAGm8hhTw">

         <body>Top-level variables in the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGWq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGW68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1Kq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1K68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVIa8aEdqf6aL57Hh6KQ" name="node" type="_38IVSq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_38IVWa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38IVIq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVI68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__caELq8kEdqRKeAGm8hhTw" name="node" type="__caEV68kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__caEZq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__caEL68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEMK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVJK8aEdqf6aL57Hh6KQ" annotatedElement="_38IVIa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEMa8kEdqRKeAGm8hhTw" annotatedElement="__caELq8kEdqRKeAGm8hhTw">

         <body>Nodes coordinated by the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGXq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGX68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1Lq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1L68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtLq8aEdqf6aL57Hh6KQ" name="isReadOnly" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_39BtL68aEdqf6aL57Hh6KQ" annotatedElement="_39BtLq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dJrSa8kEdqRKeAGm8hhTw" name="isReadOnly" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__dJrSq8kEdqRKeAGm8hhTw" annotatedElement="__dJrSa8kEdqRKeAGm8hhTw">

         <body>If true, this activity must not make any changes to variables outside the activity or to objects. (This is an assertion, not an executable property. It may be used by an execution engine to optimize model execution. If the assertion is violated by the action, then the model is ill-formed.) The default is false (an activity may make nonlocal changes).</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_39BtMK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__dJrS68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtMa8aEdqf6aL57Hh6KQ" name="edge" type="_3838V68aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_39BtN68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39BtMq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39BtM68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dJrTK8kEdqRKeAGm8hhTw" name="edge" type="__dAhdq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__dJrUq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dJrTa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dJrTq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39BtNK8aEdqf6aL57Hh6KQ" annotatedElement="_39BtMa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dJrT68kEdqRKeAGm8hhTw" annotatedElement="__dJrTK8kEdqRKeAGm8hhTw">

         <body>Edges expressing flow between nodes of the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtNa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtNq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrUK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrUa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_397FD68aEdqf6aL57Hh6KQ" name="partition" type="_39xUJK8aEdqf6aL57Hh6KQ" subsettedProperty="_38IVJ68aEdqf6aL57Hh6KQ" association="_397FJq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397FEK8aEdqf6aL57Hh6KQ" annotatedElement="_397FD68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eDDS68kEdqRKeAGm8hhTw" name="partition" type="__eDC468kEdqRKeAGm8hhTw" subsettedProperty="__caENK8kEdqRKeAGm8hhTw" association="__eMz4K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDTK8kEdqRKeAGm8hhTw" annotatedElement="__eDDS68kEdqRKeAGm8hhTw">

         <body>Top-level partitions in the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FEa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FEq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDTa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDTq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVJ68aEdqf6aL57Hh6KQ" name="group" type="_38IVLa8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_38IVXK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38IVKK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVKa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__caENK8kEdqRKeAGm8hhTw" name="group" type="__caEOq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__caEaa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__caENa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caENq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVKq8aEdqf6aL57Hh6KQ" annotatedElement="_38IVJ68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEN68kEdqRKeAGm8hhTw" annotatedElement="__caENK8kEdqRKeAGm8hhTw">

         <body>Top-level groups in the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FE68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FFK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDT68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDUK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkRq8aEdqf6aL57Hh6KQ" name="isSingleExecution" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CPkR68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkRq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iOYmK8kEdqRKeAGm8hhTw" name="isSingleExecution" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__iOYma8kEdqRKeAGm8hhTw" annotatedElement="__iOYmK8kEdqRKeAGm8hhTw">

         <body>If true, all invocations of the activity are handled by the same execution.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CPkSK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__iOYmq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_KyaPMGveEdq4DLWZOhbdEA" name="Parameter">

-    <ownedComment xmi:id="_34Gw6K8aEdqf6aL57Hh6KQ" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__Y-8tq8kEdqRKeAGm8hhTw" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">

       <body>A parameter is a kind of typed element in order to allow the specification of an optional multiplicity on parameters. In addition, it supports the specification of an optional default value.</body>

     </ownedComment>

-    <ownedComment xmi:id="_36WMia8aEdqf6aL57Hh6KQ" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__axFga8kEdqRKeAGm8hhTw" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">

       <body>A parameter is a specification of an argument used to pass information into or out of an invocation of a behavioral feature. It has a type, and may have a multiplicity and an optional default value.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3838La8aEdqf6aL57Hh6KQ" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__dAhTK8kEdqRKeAGm8hhTw" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">

       <body>Parameters are allowed to be treated as connectable elements.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4CPkSa8aEdqf6aL57Hh6KQ" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__iOYm68kEdqRKeAGm8hhTw" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">

       <body>Parameters are extended in complete activities to add support for streaming, exceptions, and parameter sets.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3838Lq8aEdqf6aL57Hh6KQ" name="connector_end" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_3838L68aEdqf6aL57Hh6KQ" annotatedElement="_3838Lq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhTa8kEdqRKeAGm8hhTw" name="connector_end" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__dAhTq8kEdqRKeAGm8hhTw" annotatedElement="__dAhTa8kEdqRKeAGm8hhTw">

         <body>A parameter may only be associated with a connector end within the context of a collaboration.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838MK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhT68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.end.notEmpty() implies self.collaboration.notEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CPkSq8aEdqf6aL57Hh6KQ" name="stream_and_exception" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_4CPkS68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkSq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYnK8kEdqRKeAGm8hhTw" name="stream_and_exception" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__iOYna8kEdqRKeAGm8hhTw" annotatedElement="__iOYnK8kEdqRKeAGm8hhTw">

         <body>A parameter cannot be a stream and exception at the same time.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkTK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYnq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CPkTa8aEdqf6aL57Hh6KQ" name="not_exception" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_4CPkTq8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkTa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYn68kEdqRKeAGm8hhTw" name="not_exception" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__iOYoK8kEdqRKeAGm8hhTw" annotatedElement="__iOYn68kEdqRKeAGm8hhTw">

         <body>An input parameter cannot be an exception.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkT68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYoa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CPkUK8aEdqf6aL57Hh6KQ" name="reentrant_behaviors" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_4CPkUa8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkUK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYoq8kEdqRKeAGm8hhTw" name="reentrant_behaviors" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__iOYo68kEdqRKeAGm8hhTw" annotatedElement="__iOYoq8kEdqRKeAGm8hhTw">

         <body>Reentrant behaviors cannot have stream parameters.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkUq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYpK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CPkU68aEdqf6aL57Hh6KQ" name="in_and_out" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_4CPkVK8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkU68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iOYpa8kEdqRKeAGm8hhTw" name="in_and_out" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__iOYpq8kEdqRKeAGm8hhTw" annotatedElement="__iOYpa8kEdqRKeAGm8hhTw">

         <body>Only in and inout parameters may have a delete effect. Only out, inout, and return parameters may have a create effect.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkVa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iOYp68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_34Gw6q8aEdqf6aL57Hh6KQ" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

-    <generalization xmi:id="_3838Ma8aEdqf6aL57Hh6KQ" general="_38uyV68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_34Gw8a8aEdqf6aL57Hh6KQ" name="direction" type="_34jc2a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34QhwK8aEdqf6aL57Hh6KQ" annotatedElement="_34Gw8a8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__Y-8uK8kEdqRKeAGm8hhTw" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

+    <generalization xmi:id="__dAhUK8kEdqRKeAGm8hhTw" general="__c2wj68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__Y-8v68kEdqRKeAGm8hhTw" name="direction" type="__ZR3wq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y-8wK8kEdqRKeAGm8hhTw" annotatedElement="__Y-8v68kEdqRKeAGm8hhTw">

         <body>Indicates whether a parameter is being sent into or out of a behavioral element.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_36WMiq8aEdqf6aL57Hh6KQ" instance="_34jc268aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__axFgq8kEdqRKeAGm8hhTw" instance="__ZR3xK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34Gw668aEdqf6aL57Hh6KQ" name="default" type="_aAyVgGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_34Gw7K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_34Gw7a8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__Y-8ua8kEdqRKeAGm8hhTw" name="default" type="_aAyVgGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__Y-8uq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__Y-8u68kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34Gw7q8aEdqf6aL57Hh6KQ" annotatedElement="_34Gw668aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y-8vK8kEdqRKeAGm8hhTw" annotatedElement="__Y-8ua8kEdqRKeAGm8hhTw">

         <body>Specifies a String that represents a value to be used when no argument is supplied for the Parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMi68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMjK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62YK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62Ya8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36WMja8aEdqf6aL57Hh6KQ" name="defaultValue" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37ifY68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_36WMjq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36WMj68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__a62Yq8kEdqRKeAGm8hhTw" name="defaultValue" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__b9YNa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__a62Y68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__a62ZK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36WMkK8aEdqf6aL57Hh6KQ" annotatedElement="_36WMja8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__a62Za8kEdqRKeAGm8hhTw" annotatedElement="__a62Yq8kEdqRKeAGm8hhTw">

         <body>Specifies a ValueSpecification that represents a value to be used when no argument is supplied for the Parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMka8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMkq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62Zq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62Z68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34Qhwq8aEdqf6aL57Hh6KQ" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_342X8K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34Qhw68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34QhxK8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__Y-8wq8kEdqRKeAGm8hhTw" name="operation" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__Zky068kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Y-8w68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y-8xK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34Qhxa8aEdqf6aL57Hh6KQ" annotatedElement="_34Qhwq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y-8xa8kEdqRKeAGm8hhTw" annotatedElement="__Y-8wq8kEdqRKeAGm8hhTw">

         <body>References the Operation for which this is a formal parameter.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36WMk68aEdqf6aL57Hh6KQ" annotatedElement="_34Qhwq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__a62aK8kEdqRKeAGm8hhTw" annotatedElement="__Y-8wq8kEdqRKeAGm8hhTw">

         <body>References the Operation owning this parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMlK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMla8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62aa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62aq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkVq8aEdqf6aL57Hh6KQ" name="isException" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CPkV68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkVq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iXiMK8kEdqRKeAGm8hhTw" name="isException" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__iXiMa8kEdqRKeAGm8hhTw" annotatedElement="__iXiMK8kEdqRKeAGm8hhTw">

         <body>Tells whether an output parameter may emit a value to the exclusion of the other outputs.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CPkWK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__iXiMq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkWa8aEdqf6aL57Hh6KQ" name="isStream" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CPkWq8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkWa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iXiM68kEdqRKeAGm8hhTw" name="isStream" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__iXiNK8kEdqRKeAGm8hhTw" annotatedElement="__iXiM68kEdqRKeAGm8hhTw">

         <body>Tells whether an input parameter may accept values while its behavior is executing, or whether an output parameter post values while the behavior is executing.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CPkW68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__iXiNa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkXK8aEdqf6aL57Hh6KQ" name="effect" type="_4CPkpK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4CPkXa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4CPkXq8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__iXiNq8kEdqRKeAGm8hhTw" name="effect" type="__iXifq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__iXiN68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__iXiOK8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CPkX68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkXK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iXiOa8kEdqRKeAGm8hhTw" annotatedElement="__iXiNq8kEdqRKeAGm8hhTw">

         <body>Specifies the effect that the owner of the parameter has on values passed in or out of the parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkYK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkYa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiOq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiO68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkYq8aEdqf6aL57Hh6KQ" name="parameterSet" type="_4CPkMK8aEdqf6aL57Hh6KQ" association="_4CPktq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkY68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkYq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iXiPK8kEdqRKeAGm8hhTw" name="parameterSet" type="__iOYgq8kEdqRKeAGm8hhTw" association="__iXikK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iXiPa8kEdqRKeAGm8hhTw" annotatedElement="__iXiPK8kEdqRKeAGm8hhTw">

         <body>The parameter sets containing the parameter. See ParameterSet.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkZK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkZa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiPq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiP68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_7UJKkFYJEdqrn7iZ0eqieg" name="getDefault" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_-PwAEFYJEdqrn7iZ0eqieg" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return">

@@ -11518,261 +11518,261 @@
     </ownedOperation>

     <ownedOperation xmi:id="_kK3ZdK6_EdqjppZik4kD8A" name="setNullDefaultValue"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_37_LkK8aEdqf6aL57Hh6KQ" name="Action" isAbstract="true">

-    <ownedComment xmi:id="_37_Lka8aEdqf6aL57Hh6KQ" annotatedElement="_37_LkK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cQ6la8kEdqRKeAGm8hhTw" name="Action" isAbstract="true">

+    <ownedComment xmi:id="__cQ6lq8kEdqRKeAGm8hhTw" annotatedElement="__cQ6la8kEdqRKeAGm8hhTw">

       <body>An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise.</body>

     </ownedComment>

-    <ownedComment xmi:id="_38IVSK8aEdqf6aL57Hh6KQ" annotatedElement="_37_LkK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__caEVa8kEdqRKeAGm8hhTw" annotatedElement="__cQ6la8kEdqRKeAGm8hhTw">

       <body>An action may have sets of incoming and outgoing activity edges that specify control flow and data flow from and to other nodes. An action will not begin execution until all of its input conditions are satisfied. The completion of the execution of an action may enable the execution of a set of successor nodes and actions that take their inputs from the outputs of the action.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4CPkZq8aEdqf6aL57Hh6KQ" annotatedElement="_37_LkK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__iXiQK8kEdqRKeAGm8hhTw" annotatedElement="__cQ6la8kEdqRKeAGm8hhTw">

       <body>An action may have sets of incoming and outgoing activity edges that specify control flow and data flow from and to other nodes. An action will not begin execution until all of its input conditions are satisfied. The completion of the execution of an action may enable the execution of a set of successor nodes and actions that take their inputs from the outputs of the action. In CompleteActivities, action is extended to have pre- and postconditions.</body>

     </ownedComment>

-    <generalization xmi:id="_38SGeq8aEdqf6aL57Hh6KQ" general="_38SGbq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_37_Lk68aEdqf6aL57Hh6KQ" name="output" type="_37_LMK8aEdqf6aL57Hh6KQ" isOrdered="true" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37_Lwa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_37_LlK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_37_Lla8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__cj1Sq8kEdqRKeAGm8hhTw" general="__cj1Pq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cQ6mK8kEdqRKeAGm8hhTw" name="output" type="__cQ6Na8kEdqRKeAGm8hhTw" isOrdered="true" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__cQ6xq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cQ6ma8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cQ6mq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37_Llq8aEdqf6aL57Hh6KQ" annotatedElement="_37_Lk68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cQ6m68kEdqRKeAGm8hhTw" annotatedElement="__cQ6mK8kEdqRKeAGm8hhTw">

         <body>The ordered set of output pins connected to the Action. The action places its results onto pins in this set.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Ll68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_LmK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6nK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6na8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_37_Lma8aEdqf6aL57Hh6KQ" name="input" type="_37_LM68aEdqf6aL57Hh6KQ" isOrdered="true" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37_Lxq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_37_Lmq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_37_Lm68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__cQ6nq8kEdqRKeAGm8hhTw" name="input" type="__cQ6OK8kEdqRKeAGm8hhTw" isOrdered="true" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__cQ6y68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cQ6n68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cQ6oK8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37_LnK8aEdqf6aL57Hh6KQ" annotatedElement="_37_Lma8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cQ6oa8kEdqRKeAGm8hhTw" annotatedElement="__cQ6nq8kEdqRKeAGm8hhTw">

         <body>The ordered set of input pins connected to the Action. These are among the total set of inputs.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lna8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_Lnq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6oq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6o68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_37_Ln68aEdqf6aL57Hh6KQ" name="context" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="_37_Lz68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_37_LoK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_37_Loa8aEdqf6aL57Hh6KQ" isTransient="true" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__cQ6pK8kEdqRKeAGm8hhTw" name="context" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="__caEIK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__cQ6pa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cQ6pq8kEdqRKeAGm8hhTw" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_37_Loq8aEdqf6aL57Hh6KQ" annotatedElement="_37_Ln68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cQ6p68kEdqRKeAGm8hhTw" annotatedElement="__cQ6pK8kEdqRKeAGm8hhTw">

         <body>The classifier that owns the behavior of which this action is a part.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37_Lo68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37_LpK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cQ6qK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cQ6qa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkZ68aEdqf6aL57Hh6KQ" name="localPrecondition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4CPku68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CPkaK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CPkaa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__iXiQa8kEdqRKeAGm8hhTw" name="localPrecondition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ihTMK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__iXiQq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__iXiQ68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CPkaq8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkZ68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iXiRK8kEdqRKeAGm8hhTw" annotatedElement="__iXiQa8kEdqRKeAGm8hhTw">

         <body>Constraint that must be satisfied when execution is started.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPka68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkbK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiRa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiRq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkba8aEdqf6aL57Hh6KQ" name="localPostcondition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4CYuIK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CPkbq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CPkb68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__iXiR68kEdqRKeAGm8hhTw" name="localPostcondition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__ihTM68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__iXiSK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__iXiSa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CPkcK8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkba8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iXiSq8kEdqRKeAGm8hhTw" annotatedElement="__iXiR68kEdqRKeAGm8hhTw">

         <body>Constraint that must be satisfied when executed is completed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkca8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkcq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiS68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiTK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CPkc68aEdqf6aL57Hh6KQ" name="InterruptibleActivityRegion">

-    <ownedComment xmi:id="_4CPkdK8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkc68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__iXiTa8kEdqRKeAGm8hhTw" name="InterruptibleActivityRegion">

+    <ownedComment xmi:id="__iXiTq8kEdqRKeAGm8hhTw" annotatedElement="__iXiTa8kEdqRKeAGm8hhTw">

       <body>An interruptible region contains activity nodes. When a token leaves an interruptible region via edges designated by the region as interrupting edges, all tokens and behaviors in the region are terminated.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CPkda8aEdqf6aL57Hh6KQ" name="interrupting_edges" constrainedElement="_4CPkc68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkdq8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkda8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iXiT68kEdqRKeAGm8hhTw" name="interrupting_edges" constrainedElement="__iXiTa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iXiUK8kEdqRKeAGm8hhTw" annotatedElement="__iXiT68kEdqRKeAGm8hhTw">

         <body>Interrupting edges of a region must have their source node in the region and their target node outside the region in the same activity containing the region.

 

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkd68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iXiUa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4CPkeK8aEdqf6aL57Hh6KQ" general="_38IVLa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CPkea8aEdqf6aL57Hh6KQ" name="interruptingEdge" type="_3838V68aEdqf6aL57Hh6KQ" association="_4CYuI68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkeq8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkea8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__iXiUq8kEdqRKeAGm8hhTw" general="__caEOq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__iXiU68kEdqRKeAGm8hhTw" name="interruptingEdge" type="__dAhdq8kEdqRKeAGm8hhTw" association="__ihTNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iXiVK8kEdqRKeAGm8hhTw" annotatedElement="__iXiU68kEdqRKeAGm8hhTw">

         <body>The edges leaving the region that will abort other tokens flowing in the region.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPke68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkfK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiVa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiVq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkfa8aEdqf6aL57Hh6KQ" name="node" type="_38IVSq8aEdqf6aL57Hh6KQ" subsettedProperty="_38IVMK8aEdqf6aL57Hh6KQ" association="_4CYuJK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkfq8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkfa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iXiV68kEdqRKeAGm8hhTw" name="node" type="__caEV68kEdqRKeAGm8hhTw" subsettedProperty="__caEPa8kEdqRKeAGm8hhTw" association="__ihTN68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iXiWK8kEdqRKeAGm8hhTw" annotatedElement="__iXiV68kEdqRKeAGm8hhTw">

         <body>Nodes immediately contained in the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkf68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkgK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiWa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiWq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38IVSq8aEdqf6aL57Hh6KQ" name="ActivityNode" isAbstract="true">

-    <ownedComment xmi:id="_39BtFq8aEdqf6aL57Hh6KQ" annotatedElement="_38IVSq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__caEV68kEdqRKeAGm8hhTw" name="ActivityNode" isAbstract="true">

+    <ownedComment xmi:id="__dJrMa8kEdqRKeAGm8hhTw" annotatedElement="__caEV68kEdqRKeAGm8hhTw">

       <body>An activity node is an abstract class for the steps of an activity. It covers executable nodes, control nodes, and object nodes. Nodes can be replaced in generalization.</body>

     </ownedComment>

-    <ownedComment xmi:id="_38IVS68aEdqf6aL57Hh6KQ" annotatedElement="_38IVSq8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__caEWK8kEdqRKeAGm8hhTw" annotatedElement="__caEV68kEdqRKeAGm8hhTw">

       <body>An activity node is an abstract class for the steps of an activity. It covers executable nodes, control nodes, and object nodes.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4CPkga8aEdqf6aL57Hh6KQ" annotatedElement="_38IVSq8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__iXiW68kEdqRKeAGm8hhTw" annotatedElement="__caEV68kEdqRKeAGm8hhTw">

       <body>An activity node is an abstract class for the steps of an activity. It covers executable nodes, control nodes, and object nodes. Nodes can be contained in interruptible regions.</body>

     </ownedComment>

-    <ownedRule xmi:id="_38SGYK8aEdqf6aL57Hh6KQ" name="owned_structured_node" constrainedElement="_38IVSq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGYa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGYK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cj1MK8kEdqRKeAGm8hhTw" name="owned_structured_node" constrainedElement="__caEV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cj1Ma8kEdqRKeAGm8hhTw" annotatedElement="__cj1MK8kEdqRKeAGm8hhTw">

         <body>Activity nodes may be owned by at most one structured node.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38SGYq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cj1Mq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_39BtF68aEdqf6aL57Hh6KQ" name="owned" constrainedElement="_38IVSq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtGK8aEdqf6aL57Hh6KQ" annotatedElement="_39BtF68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrMq8kEdqRKeAGm8hhTw" name="owned" constrainedElement="__caEV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrM68kEdqRKeAGm8hhTw" annotatedElement="__dJrMq8kEdqRKeAGm8hhTw">

         <body>Activity nodes can only be owned by activities or groups.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_39BtGa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrNK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38SGY68aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38SGZK8aEdqf6aL57Hh6KQ" name="inStructuredNode" type="_38IVea8aEdqf6aL57Hh6KQ" subsettedProperty="_38IVU68aEdqf6aL57Hh6KQ" association="_38SGga8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38SGZa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38SGZq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__cj1M68kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__cj1NK8kEdqRKeAGm8hhTw" name="inStructuredNode" type="__caEhq8kEdqRKeAGm8hhTw" subsettedProperty="__caEYK8kEdqRKeAGm8hhTw" association="__cj1Ua8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__cj1Na8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cj1Nq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38SGZ68aEdqf6aL57Hh6KQ" annotatedElement="_38SGZK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cj1N68kEdqRKeAGm8hhTw" annotatedElement="__cj1NK8kEdqRKeAGm8hhTw">

         <body>Structured activity node containing the node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGaK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGaa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1OK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1Oa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVTa8aEdqf6aL57Hh6KQ" name="activity" type="_37_L168aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_38IVWa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38IVTq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVT68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__caEWq8kEdqRKeAGm8hhTw" name="activity" type="__caEKK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__caEZq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__caEW68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEXK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVUK8aEdqf6aL57Hh6KQ" annotatedElement="_38IVTa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEXa8kEdqRKeAGm8hhTw" annotatedElement="__caEWq8kEdqRKeAGm8hhTw">

         <body>Activity containing the node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGbK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGba8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cj1PK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cj1Pa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtGq8aEdqf6aL57Hh6KQ" name="outgoing" type="_3838V68aEdqf6aL57Hh6KQ" association="_39BtOa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtG68aEdqf6aL57Hh6KQ" annotatedElement="_39BtGq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dJrNa8kEdqRKeAGm8hhTw" name="outgoing" type="__dAhdq8kEdqRKeAGm8hhTw" association="__dJrVK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrNq8kEdqRKeAGm8hhTw" annotatedElement="__dJrNa8kEdqRKeAGm8hhTw">

         <body>Edges that have the node as source.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtHK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtHa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrN68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrOK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtHq8aEdqf6aL57Hh6KQ" name="incoming" type="_3838V68aEdqf6aL57Hh6KQ" association="_39BtOq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtH68aEdqf6aL57Hh6KQ" annotatedElement="_39BtHq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dJrOa8kEdqRKeAGm8hhTw" name="incoming" type="__dAhdq8kEdqRKeAGm8hhTw" association="__dJrVa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrOq8kEdqRKeAGm8hhTw" annotatedElement="__dJrOa8kEdqRKeAGm8hhTw">

         <body>Edges that have the node as target.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtIK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtIa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrO68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrPK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39BtIq8aEdqf6aL57Hh6KQ" name="redefinedNode" type="_38IVSq8aEdqf6aL57Hh6KQ" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_39BtPq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39BtI68aEdqf6aL57Hh6KQ" annotatedElement="_39BtIq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dJrPa8kEdqRKeAGm8hhTw" name="redefinedNode" type="__caEV68kEdqRKeAGm8hhTw" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__dJrWa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrPq8kEdqRKeAGm8hhTw" annotatedElement="__dJrPa8kEdqRKeAGm8hhTw">

         <body>Inherited nodes replaced by this node in a specialization of the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39BtJK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39BtJa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dJrP68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dJrQK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_397E4q8aEdqf6aL57Hh6KQ" name="inPartition" type="_39xUJK8aEdqf6aL57Hh6KQ" subsettedProperty="_38IVU68aEdqf6aL57Hh6KQ" association="_397FF68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397E468aEdqf6aL57Hh6KQ" annotatedElement="_397E4q8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eDDHq8kEdqRKeAGm8hhTw" name="inPartition" type="__eDC468kEdqRKeAGm8hhTw" subsettedProperty="__caEYK8kEdqRKeAGm8hhTw" association="__eDDU68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDH68kEdqRKeAGm8hhTw" annotatedElement="__eDDHq8kEdqRKeAGm8hhTw">

         <body>Partitions containing the node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397E5K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397E5a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDIK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDIa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkgq8aEdqf6aL57Hh6KQ" name="inInterruptibleRegion" type="_4CPkc68aEdqf6aL57Hh6KQ" subsettedProperty="_38IVU68aEdqf6aL57Hh6KQ" association="_4CYuJK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkg68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkgq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iXiXK8kEdqRKeAGm8hhTw" name="inInterruptibleRegion" type="__iXiTa8kEdqRKeAGm8hhTw" subsettedProperty="__caEYK8kEdqRKeAGm8hhTw" association="__ihTN68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iXiXa8kEdqRKeAGm8hhTw" annotatedElement="__iXiXK8kEdqRKeAGm8hhTw">

         <body>Interruptible regions containing the node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkhK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkha8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiXq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiX68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVU68aEdqf6aL57Hh6KQ" name="inGroup" type="_38IVLa8aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_38IVW68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38IVVK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVVa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__caEYK8kEdqRKeAGm8hhTw" name="inGroup" type="__caEOq8kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__caEaK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__caEYa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEYq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVVq8aEdqf6aL57Hh6KQ" annotatedElement="_38IVU68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEY68kEdqRKeAGm8hhTw" annotatedElement="__caEYK8kEdqRKeAGm8hhTw">

         <body>Groups containing the node. Multiplicity specialized to [0..1] for StructuredActivity-Group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkhq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkh68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiYK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiYa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_rHT3YKOsEdqi_5gqUMOQtA" name="BehavioralFeature" isAbstract="true">

-    <ownedComment xmi:id="_34QhyK8aEdqf6aL57Hh6KQ" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">

+    <ownedComment xmi:id="__Y-8yK8kEdqRKeAGm8hhTw" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">

       <body>A behavioral feature is a feature of a classifier that specifies an aspect of the behavior of its instances. BehavioralFeature is an abstract metaclass specializing Feature and Namespace. Kinds of behavioral aspects are modeled by subclasses of BehavioralFeature.</body>

     </ownedComment>

-    <ownedComment xmi:id="_36WMgq8aEdqf6aL57Hh6KQ" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">

+    <ownedComment xmi:id="__axFeq8kEdqRKeAGm8hhTw" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">

       <body>A behavioral feature specifies that an instance of a classifier will respond to a designated request by invoking a behavior.

 

 BehavioralFeature is an abstract metaclass specializing Feature and Namespace. Kinds of behavioral aspects are modeled by subclasses of BehavioralFeature.

 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_371aca8aEdqf6aL57Hh6KQ" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">

+    <ownedComment xmi:id="__cHJf68kEdqRKeAGm8hhTw" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">

       <body>A behavioral feature is implemented (realized) by a behavior. A behavioral feature specifies that a classifier will respond to a designated request by invoking its implementing method.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4CPkiK8aEdqf6aL57Hh6KQ" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">

+    <ownedComment xmi:id="__iXiYq8kEdqRKeAGm8hhTw" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">

       <body>The concept of BehavioralFeature is extended to own ParameterSets.</body>

     </ownedComment>

-    <generalization xmi:id="_34Qhya8aEdqf6aL57Hh6KQ" general="_33OAIq8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_34Qhyq8aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_34Qhy68aEdqf6aL57Hh6KQ" name="ownedParameter" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_342XoK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_34QhzK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34Qhza8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__Y-8ya8kEdqRKeAGm8hhTw" general="__YFlAa8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__Y-8yq8kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__Y-8y68kEdqRKeAGm8hhTw" name="ownedParameter" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__Zbora8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__Y-8zK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y-8za8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34Qhzq8aEdqf6aL57Hh6KQ" annotatedElement="_34Qhy68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y-8zq8kEdqRKeAGm8hhTw" annotatedElement="__Y-8y68kEdqRKeAGm8hhTw">

         <body>Specifies the ordered set of formal parameters of this BehavioralFeature.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36WMg68aEdqf6aL57Hh6KQ" annotatedElement="_34Qhy68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__axFe68kEdqRKeAGm8hhTw" annotatedElement="__Y-8y68kEdqRKeAGm8hhTw">

         <body>Specifies the ordered set of formal parameters owned by this BehavioralFeature. The parameter direction can be 'in', 'inout', 'out', pr 'return' to specify input, output, or return parameters.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36WMhK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36WMha8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__axFfK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__axFfa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371acq8aEdqf6aL57Hh6KQ" name="isAbstract" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_371ac68aEdqf6aL57Hh6KQ" annotatedElement="_371acq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cHJgK8kEdqRKeAGm8hhTw" name="isAbstract" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__cHJga8kEdqRKeAGm8hhTw" annotatedElement="__cHJgK8kEdqRKeAGm8hhTw">

         <body>If true, then the behavioral feature does not have an implementation, and one must be supplied by a more specific element. If false, the behavioral feature must have an implementation in the classifier or one must be inherited from a more general element.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_371adK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__cHJgq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371ada8aEdqf6aL57Hh6KQ" name="method" type="_TUPtYGveEdq4DLWZOhbdEA" association="_371aoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371adq8aEdqf6aL57Hh6KQ" annotatedElement="_371ada8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cHJg68kEdqRKeAGm8hhTw" name="method" type="_TUPtYGveEdq4DLWZOhbdEA" association="__cHJrq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJhK8kEdqRKeAGm8hhTw" annotatedElement="__cHJg68kEdqRKeAGm8hhTw">

         <body>A behavioral description that implements the behavioral feature. There may be at most one behavior for a particular pairing of a classifier (as owner of the behavior) and a behavioral feature (as specification of the behavior).</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371ad68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aeK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJha8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJhq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39ni-a8aEdqf6aL57Hh6KQ" name="concurrency" type="_39xT4K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39ni-q8aEdqf6aL57Hh6KQ" annotatedElement="_39ni-a8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dwIDq8kEdqRKeAGm8hhTw" name="concurrency" type="__d54_a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dwID68kEdqRKeAGm8hhTw" annotatedElement="__dwIDq8kEdqRKeAGm8hhTw">

         <body>Specifies the semantics of concurrent calls to the same passive instance (i.e., an instance originating from a class with isActive being false). Active instances control access to their own behavioral features.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_39ni-68aEdqf6aL57Hh6KQ" type="_39xT4K8aEdqf6aL57Hh6KQ" instance="_39xT4q8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__dwIEK8kEdqRKeAGm8hhTw" type="__d54_a8kEdqRKeAGm8hhTw" instance="__d54_68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34Qh0a8aEdqf6aL57Hh6KQ" name="raisedException" type="_ynRtoGvtEdqG6fBIPwe-mw" association="_342Xpa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34Qh0q8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh0a8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__Y-80a8kEdqRKeAGm8hhTw" name="raisedException" type="_ynRtoGvtEdqG6fBIPwe-mw" association="__Zbosq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y-80q8kEdqRKeAGm8hhTw" annotatedElement="__Y-80a8kEdqRKeAGm8hhTw">

         <body>References the Types representing exceptions that may be raised during an invocation of this feature.</body>

       </ownedComment>

-      <ownedComment xmi:id="_39ni_K8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh0a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dwIEa8kEdqRKeAGm8hhTw" annotatedElement="__Y-80a8kEdqRKeAGm8hhTw">

         <body>The signals that the behavioral feature raises as exceptions.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39ni_a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39ni_q8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIEq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIE68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkia8aEdqf6aL57Hh6KQ" name="ownedParameterSet" type="_4CPkMK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_4CYuMa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CPkiq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CPki68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__iXiY68kEdqRKeAGm8hhTw" name="ownedParameterSet" type="__iOYgq8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__ihTRK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__iXiZK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__iXiZa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CPkjK8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkia8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iXiZq8kEdqRKeAGm8hhTw" annotatedElement="__iXiY68kEdqRKeAGm8hhTw">

         <body>The ParameterSets owned by this BehavioralFeature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkja8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkjq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiZ68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXiaK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_3Y0aYKOuEdqi_5gqUMOQtA" name="createReturnResult" type="_KyaPMGveEdq4DLWZOhbdEA">

       <returnResult xmi:id="_8N3dwKOuEdqi_5gqUMOQtA" type="_KyaPMGveEdq4DLWZOhbdEA" direction="return"/>

@@ -11785,12 +11785,12 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BJHvcKOyEdqi_5gqUMOQtA"/>

       </ownedParameter>

     </ownedOperation>

-    <ownedOperation xmi:id="_34Qh1a8aEdqf6aL57Hh6KQ" name="isDistinguishableFrom" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_34jcsK8aEdqf6aL57Hh6KQ" bodyCondition="_34Qh168aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34Qh1q8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh1a8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__Y-81a8kEdqRKeAGm8hhTw" name="isDistinguishableFrom" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__ZIuOq8kEdqRKeAGm8hhTw" bodyCondition="__Y-8168kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y-81q8kEdqRKeAGm8hhTw" annotatedElement="__Y-81a8kEdqRKeAGm8hhTw">

         <body>The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they have to have different signatures.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34Qh168aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34Qh1a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36WMiK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y-8168kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y-81a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__axFgK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if n.oclIsKindOf(BehavioralFeature)

 then

   if ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()

@@ -11801,13 +11801,13 @@
 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34Qh2a8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_34Qh2q8aEdqf6aL57Hh6KQ" name="n" type="_csVgUGvtEdqG6fBIPwe-mw"/>

-      <ownedParameter xmi:id="_34Qh268aEdqf6aL57Hh6KQ" name="ns" type="_ZiwkoGwLEdq7X4sGURiZYA"/>

+      <returnResult xmi:id="__Y-82a8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__Y-82q8kEdqRKeAGm8hhTw" name="n" type="_csVgUGvtEdqG6fBIPwe-mw"/>

+      <ownedParameter xmi:id="__Y-8268kEdqRKeAGm8hhTw" name="ns" type="_ZiwkoGwLEdq7X4sGURiZYA"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_TUPtYGveEdq4DLWZOhbdEA" name="Behavior" isAbstract="true">

-    <ownedComment xmi:id="_37rpTq8aEdqf6aL57Hh6KQ" annotatedElement="_TUPtYGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__cHJMK8kEdqRKeAGm8hhTw" annotatedElement="_TUPtYGveEdq4DLWZOhbdEA">

       <body>Behavior is a specification of how its context classifier changes state over time. This specification may be either a definition of possible behavior execution or emergent behavior, or a selective illustration of an interesting subset of possible executions. The latter form is typically used for capturing examples, such as a trace of a particular execution.

 

 

@@ -11826,107 +11826,107 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_4CPkj68aEdqf6aL57Hh6KQ" annotatedElement="_TUPtYGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__iXiaa8kEdqRKeAGm8hhTw" annotatedElement="_TUPtYGveEdq4DLWZOhbdEA">

       <body>The concept of Behavior is extended to own ParameterSets.</body>

     </ownedComment>

-    <ownedRule xmi:id="_37rpT68aEdqf6aL57Hh6KQ" name="parameters_match" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_37rpUK8aEdqf6aL57Hh6KQ" annotatedElement="_37rpT68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJMa8kEdqRKeAGm8hhTw" name="parameters_match" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__cHJMq8kEdqRKeAGm8hhTw" annotatedElement="__cHJMa8kEdqRKeAGm8hhTw">

         <body>The parameters of the behavior must match the parameters of the implemented behavioral feature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37rpUa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJM68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37rpUq8aEdqf6aL57Hh6KQ" name="feature_of_context_classifier" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_37rpU68aEdqf6aL57Hh6KQ" annotatedElement="_37rpUq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJNK8kEdqRKeAGm8hhTw" name="feature_of_context_classifier" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__cHJNa8kEdqRKeAGm8hhTw" annotatedElement="__cHJNK8kEdqRKeAGm8hhTw">

         <body>The implemented behavioral feature must be a feature (possibly inherited) of the context classifier of the behavior.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37rpVK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJNq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37rpVa8aEdqf6aL57Hh6KQ" name="must_realize" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_37rpVq8aEdqf6aL57Hh6KQ" annotatedElement="_37rpVa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJN68kEdqRKeAGm8hhTw" name="must_realize" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__cHJOK8kEdqRKeAGm8hhTw" annotatedElement="__cHJN68kEdqRKeAGm8hhTw">

         <body>If the implemented behavioral feature has been redefined in the ancestors of the owner of the behavior, then the behavior must realize the latest redefining behavioral feature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37rpV68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJOa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_37rpWK8aEdqf6aL57Hh6KQ" name="most_one_behaviour" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_37rpWa8aEdqf6aL57Hh6KQ" annotatedElement="_37rpWK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__cHJOq8kEdqRKeAGm8hhTw" name="most_one_behaviour" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__cHJO68kEdqRKeAGm8hhTw" annotatedElement="__cHJOq8kEdqRKeAGm8hhTw">

         <body>There may be at most one behavior for a given pairing of classifier (as owner of the behavior) and behavioral feature (as specification of the behavior).</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_37rpWq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__cHJPK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_37rpW68aEdqf6aL57Hh6KQ" general="_00owUGvdEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_371aMK8aEdqf6aL57Hh6KQ" name="isReentrant" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_371aMa8aEdqf6aL57Hh6KQ" annotatedElement="_371aMK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__cHJPa8kEdqRKeAGm8hhTw" general="_00owUGvdEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__cHJPq8kEdqRKeAGm8hhTw" name="isReentrant" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__cHJP68kEdqRKeAGm8hhTw" annotatedElement="__cHJPq8kEdqRKeAGm8hhTw">

         <body>Tells whether the behavior can be invoked while it is still executing from a previous invocation.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_371aMq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__cHJQK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aM68aEdqf6aL57Hh6KQ" name="redefinedBehavior" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_371am68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371aNK8aEdqf6aL57Hh6KQ" annotatedElement="_371aM68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cHJQa8kEdqRKeAGm8hhTw" name="redefinedBehavior" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__cHJqa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJQq8kEdqRKeAGm8hhTw" annotatedElement="__cHJQa8kEdqRKeAGm8hhTw">

         <body>References a behavior that this behavior redefines. A subtype of Behavior may redefine any other subtype of Behavior. If the behavior implements a behavioral feature, it replaces the redefined behavior. If the behavior is a classifier behavior, it extends the redefined behavior.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aNa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aNq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJQ68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJRK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aN68aEdqf6aL57Hh6KQ" name="specification" type="_rHT3YKOsEdqi_5gqUMOQtA" association="_371aoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_371aOK8aEdqf6aL57Hh6KQ" annotatedElement="_371aN68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__cHJRa8kEdqRKeAGm8hhTw" name="specification" type="_rHT3YKOsEdqi_5gqUMOQtA" association="__cHJrq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__cHJRq8kEdqRKeAGm8hhTw" annotatedElement="__cHJRa8kEdqRKeAGm8hhTw">

         <body>Designates a behavioral feature that the behavior implements. The behavioral feature must be owned by the classifier that owns the behavior or be inherited by it. The parameters of the behavioral feature and the implementing behavior must match. If a behavior does not have a specification, it is directly associated with a classifier (i.e., it is the behavior of the classifier as a whole).</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aOa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aOq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJR68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJSK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aO68aEdqf6aL57Hh6KQ" name="ownedParameter" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_371aoa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_371aPK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_371aPa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__cHJSa8kEdqRKeAGm8hhTw" name="ownedParameter" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__cHJr68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cHJSq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cHJS68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371aPq8aEdqf6aL57Hh6KQ" annotatedElement="_371aO68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cHJTK8kEdqRKeAGm8hhTw" annotatedElement="__cHJSa8kEdqRKeAGm8hhTw">

         <body>References a list of parameters to the behavior which describes the order and type of arguments that can be given when the behavior is invoked and of the values which will be returned when the behavior completes its execution.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aP68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aQK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJTa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJTq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aQa8aEdqf6aL57Hh6KQ" name="context" type="_iY7sMGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_371arq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_371aQq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_371aQ68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__cHJT68kEdqRKeAGm8hhTw" name="context" type="_iY7sMGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__cHJvK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__cHJUK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cHJUa8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_371aRK8aEdqf6aL57Hh6KQ" annotatedElement="_371aQa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__cHJUq8kEdqRKeAGm8hhTw" annotatedElement="__cHJT68kEdqRKeAGm8hhTw">

         <body>The classifier that is the context for the execution of the behavior. If the behavior is owned by a BehavioredClassifier, that classifier is the context. Otherwise, the context is the first BehavioredClassifier reached by following the chain of owner relationships. For example, following this algorithm, the context of an entry action in a state machine is the classifier that owns the state machine. The features of the context classifier as well as the elements visible to the context classifier are visible to the behavior.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aRa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aRq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJU68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJVK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aR68aEdqf6aL57Hh6KQ" name="precondition" type="_33z2DK8aEdqf6aL57Hh6KQ" association="_371as68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_371aSK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_371aSa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__cHJVa8kEdqRKeAGm8hhTw" name="precondition" type="__YsB9a8kEdqRKeAGm8hhTw" association="__cHJwa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cHJVq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cHJV68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aSq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aS68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJWK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJWa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_371aTK8aEdqf6aL57Hh6KQ" name="postcondition" type="_33z2DK8aEdqf6aL57Hh6KQ" association="_371auK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_371aTa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_371aTq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__cHJWq8kEdqRKeAGm8hhTw" name="postcondition" type="__YsB9a8kEdqRKeAGm8hhTw" association="__cHJxq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__cHJW68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__cHJXK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_371aT68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_371aUK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__cHJXa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__cHJXq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CPkkK8aEdqf6aL57Hh6KQ" name="ownedParameterSet" type="_4CPkMK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_4CYuNq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CPkka8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CPkkq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__iXiaq8kEdqRKeAGm8hhTw" name="ownedParameterSet" type="__iOYgq8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__ihTSa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__iXia68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__iXibK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CPkk68aEdqf6aL57Hh6KQ" annotatedElement="_4CPkkK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iXiba8kEdqRKeAGm8hhTw" annotatedElement="__iXiaq8kEdqRKeAGm8hhTw">

         <body>The ParameterSets owned by this Behavior.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPklK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkla8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXibq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXib68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_Zp2iwFYgEdqB6vblk3tuMA" name="getContext" type="_iY7sMGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_flYtEFYgEdqB6vblk3tuMA" type="_iY7sMGvsEdqG6fBIPwe-mw" direction="return">

@@ -11935,121 +11935,121 @@
       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_371a1K8aEdqf6aL57Hh6KQ" name="Pin">

-    <ownedComment xmi:id="_371a1a8aEdqf6aL57Hh6KQ" annotatedElement="_371a1K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cHJ4q8kEdqRKeAGm8hhTw" name="Pin">

+    <ownedComment xmi:id="__cHJ468kEdqRKeAGm8hhTw" annotatedElement="__cHJ4q8kEdqRKeAGm8hhTw">

       <body>A pin is a typed element and multiplicity element that provides values to actions and accept result values from them.</body>

     </ownedComment>

-    <ownedComment xmi:id="_39BtJq8aEdqf6aL57Hh6KQ" annotatedElement="_371a1K8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__dJrQa8kEdqRKeAGm8hhTw" annotatedElement="__cHJ4q8kEdqRKeAGm8hhTw">

       <body>A pin is an object node for inputs and outputs to actions.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CPklq8aEdqf6aL57Hh6KQ" name="control_pins" constrainedElement="_371a1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CPkl68aEdqf6aL57Hh6KQ" annotatedElement="_4CPklq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__iXicK8kEdqRKeAGm8hhTw" name="control_pins" constrainedElement="__cHJ4q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iXica8kEdqRKeAGm8hhTw" annotatedElement="__iXicK8kEdqRKeAGm8hhTw">

         <body>Control pins have a control type</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CPkmK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__iXicq8kEdqRKeAGm8hhTw" language="OCL">

         <body>isControl implies isControlType</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_371a168aEdqf6aL57Hh6KQ" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

-    <generalization xmi:id="_39BtJ68aEdqf6aL57Hh6KQ" general="_3838Sq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CPkma8aEdqf6aL57Hh6KQ" name="isControl" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CPkmq8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkma8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__cHJ5a8kEdqRKeAGm8hhTw" general="_Gjgl0GveEdq4DLWZOhbdEA"/>

+    <generalization xmi:id="__dJrQq8kEdqRKeAGm8hhTw" general="__dAhaa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__iXic68kEdqRKeAGm8hhTw" name="isControl" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__iXidK8kEdqRKeAGm8hhTw" annotatedElement="__iXic68kEdqRKeAGm8hhTw">

         <body>Tells whether the pins provide data to the actions, or just controls when it executes it.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CPkm68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__iXida8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_4CPknq8aEdqf6aL57Hh6KQ" name="ObjectNodeOrderingKind">

-    <ownedComment xmi:id="_4CPkn68aEdqf6aL57Hh6KQ" annotatedElement="_4CPknq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__iXieK8kEdqRKeAGm8hhTw" name="ObjectNodeOrderingKind">

+    <ownedComment xmi:id="__iXiea8kEdqRKeAGm8hhTw" annotatedElement="__iXieK8kEdqRKeAGm8hhTw">

       <body>ObjectNodeOrderingKind is an enumeration indicating queuing order within a node.</body>

     </ownedComment>

-    <ownedLiteral xmi:id="_4CPkoK8aEdqf6aL57Hh6KQ" name="unordered"/>

-    <ownedLiteral xmi:id="_4CPkoa8aEdqf6aL57Hh6KQ" name="ordered"/>

-    <ownedLiteral xmi:id="_4CPkoq8aEdqf6aL57Hh6KQ" name="LIFO"/>

-    <ownedLiteral xmi:id="_4CPko68aEdqf6aL57Hh6KQ" name="FIFO"/>

+    <ownedLiteral xmi:id="__iXieq8kEdqRKeAGm8hhTw" name="unordered"/>

+    <ownedLiteral xmi:id="__iXie68kEdqRKeAGm8hhTw" name="ordered"/>

+    <ownedLiteral xmi:id="__iXifK8kEdqRKeAGm8hhTw" name="LIFO"/>

+    <ownedLiteral xmi:id="__iXifa8kEdqRKeAGm8hhTw" name="FIFO"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_4CPkpK8aEdqf6aL57Hh6KQ" name="ParameterEffectKind">

-    <ownedComment xmi:id="_4CPkpa8aEdqf6aL57Hh6KQ" annotatedElement="_4CPkpK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__iXifq8kEdqRKeAGm8hhTw" name="ParameterEffectKind">

+    <ownedComment xmi:id="__iXif68kEdqRKeAGm8hhTw" annotatedElement="__iXifq8kEdqRKeAGm8hhTw">

       <body>The datatype ParameterEffectKind is an enumeration that indicates the effect of a behavior on values passed in or out of its parameters.</body>

     </ownedComment>

-    <ownedLiteral xmi:id="_4CPkpq8aEdqf6aL57Hh6KQ" name="create"/>

-    <ownedLiteral xmi:id="_4CPkp68aEdqf6aL57Hh6KQ" name="read"/>

-    <ownedLiteral xmi:id="_4CPkqK8aEdqf6aL57Hh6KQ" name="update"/>

-    <ownedLiteral xmi:id="_4CPkqa8aEdqf6aL57Hh6KQ" name="delete"/>

+    <ownedLiteral xmi:id="__iXigK8kEdqRKeAGm8hhTw" name="create"/>

+    <ownedLiteral xmi:id="__iXiga8kEdqRKeAGm8hhTw" name="read"/>

+    <ownedLiteral xmi:id="__iXigq8kEdqRKeAGm8hhTw" name="update"/>

+    <ownedLiteral xmi:id="__iXig68kEdqRKeAGm8hhTw" name="delete"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CPkqq8aEdqf6aL57Hh6KQ" name="A_weight_activityEdge" memberEnd="_4CPkrK8aEdqf6aL57Hh6KQ _4CFzna8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CPkq68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CPkrK8aEdqf6aL57Hh6KQ" type="_3838V68aEdqf6aL57Hh6KQ" association="_4CPkqq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iXihK8kEdqRKeAGm8hhTw" name="A_weight_activityEdge" memberEnd="__iOYXa8kEdqRKeAGm8hhTw __iXihq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iXiha8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iXihq8kEdqRKeAGm8hhTw" type="__dAhdq8kEdqRKeAGm8hhTw" association="__iXihK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CPkra8aEdqf6aL57Hh6KQ" name="A_upperBound_objectNode" memberEnd="_4CFztK8aEdqf6aL57Hh6KQ _4CPkr68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CPkrq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CPkr68aEdqf6aL57Hh6KQ" type="_3838Sq8aEdqf6aL57Hh6KQ" association="_4CPkra8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPksK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPksa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iXih68kEdqRKeAGm8hhTw" name="A_upperBound_objectNode" memberEnd="__iOYdK8kEdqRKeAGm8hhTw __iXiia8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__iXiiK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__iXiia8kEdqRKeAGm8hhTw" type="__dAhaa8kEdqRKeAGm8hhTw" association="__iXih68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXiiq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXii68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CPksq8aEdqf6aL57Hh6KQ" name="A_inState_objectNode" memberEnd="_4CFzuq8aEdqf6aL57Hh6KQ _4CPks68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CPks68aEdqf6aL57Hh6KQ" type="_3838Sq8aEdqf6aL57Hh6KQ" association="_4CPksq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPktK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkta8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iXijK8kEdqRKeAGm8hhTw" name="A_inState_objectNode" memberEnd="__iXija8kEdqRKeAGm8hhTw __iOYeq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iXija8kEdqRKeAGm8hhTw" type="__dAhaa8kEdqRKeAGm8hhTw" association="__iXijK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXijq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXij68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CPktq8aEdqf6aL57Hh6KQ" name="A_parameterSet_parameter" memberEnd="_4CPkYq8aEdqf6aL57Hh6KQ _4CPkPK8aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CPkt68aEdqf6aL57Hh6KQ" name="A_transformation_objectFlow" memberEnd="_4CFzla8aEdqf6aL57Hh6KQ _4CPkuK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CPkuK8aEdqf6aL57Hh6KQ" type="_3838fq8aEdqf6aL57Hh6KQ" association="_4CPkt68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPkua8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkuq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iXikK8kEdqRKeAGm8hhTw" name="A_parameterSet_parameter" memberEnd="__iOYjq8kEdqRKeAGm8hhTw __iXiPK8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__iXika8kEdqRKeAGm8hhTw" name="A_transformation_objectFlow" memberEnd="__iOYVa8kEdqRKeAGm8hhTw __iXikq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__iXikq8kEdqRKeAGm8hhTw" type="__dAhna8kEdqRKeAGm8hhTw" association="__iXika8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXik68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXilK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CPku68aEdqf6aL57Hh6KQ" name="A_action_localPrecondition" memberEnd="_4CPkva8aEdqf6aL57Hh6KQ _4CPkZ68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CPkvK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CPkva8aEdqf6aL57Hh6KQ" type="_37_LkK8aEdqf6aL57Hh6KQ" association="_4CPku68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTMK8kEdqRKeAGm8hhTw" name="A_action_localPrecondition" memberEnd="__ihTMq8kEdqRKeAGm8hhTw __iXiQa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTMa8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ihTMq8kEdqRKeAGm8hhTw" type="__cQ6la8kEdqRKeAGm8hhTw" association="__ihTMK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuIK8aEdqf6aL57Hh6KQ" name="A_action_localPostcondition" memberEnd="_4CPkba8aEdqf6aL57Hh6KQ _4CYuIq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CYuIa8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CYuIq8aEdqf6aL57Hh6KQ" type="_37_LkK8aEdqf6aL57Hh6KQ" association="_4CYuIK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTM68kEdqRKeAGm8hhTw" name="A_action_localPostcondition" memberEnd="__ihTNa8kEdqRKeAGm8hhTw __iXiR68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTNK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ihTNa8kEdqRKeAGm8hhTw" type="__cQ6la8kEdqRKeAGm8hhTw" association="__ihTM68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuI68aEdqf6aL57Hh6KQ" name="A_interruptingEdge_interrupts" memberEnd="_4CPkea8aEdqf6aL57Hh6KQ _4CFzo68aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuJK8aEdqf6aL57Hh6KQ" name="A_inInterruptibleRegion_node" memberEnd="_4CPkgq8aEdqf6aL57Hh6KQ _4CPkfa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CYuJa8aEdqf6aL57Hh6KQ" general="_38IVW68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTNq8kEdqRKeAGm8hhTw" name="A_interruptingEdge_interrupts" memberEnd="__iXiU68kEdqRKeAGm8hhTw __iOYY68kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTN68kEdqRKeAGm8hhTw" name="A_inInterruptibleRegion_node" memberEnd="__iXiXK8kEdqRKeAGm8hhTw __iXiV68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTOK8kEdqRKeAGm8hhTw" general="__caEaK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuJq8aEdqf6aL57Hh6KQ" name="A_selection_objectFlow" memberEnd="_4CFzma8aEdqf6aL57Hh6KQ _4CYuJ68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CYuJ68aEdqf6aL57Hh6KQ" type="_3838fq8aEdqf6aL57Hh6KQ" association="_4CYuJq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuKK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuKa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTOa8kEdqRKeAGm8hhTw" name="A_selection_objectFlow" memberEnd="__ihTOq8kEdqRKeAGm8hhTw __iOYWa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ihTOq8kEdqRKeAGm8hhTw" type="__dAhna8kEdqRKeAGm8hhTw" association="__ihTOa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTO68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTPK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuKq8aEdqf6aL57Hh6KQ" name="A_selection_objectNode" memberEnd="_4CYuK68aEdqf6aL57Hh6KQ _4CFzvq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CYuK68aEdqf6aL57Hh6KQ" type="_3838Sq8aEdqf6aL57Hh6KQ" association="_4CYuKq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuLK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuLa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTPa8kEdqRKeAGm8hhTw" name="A_selection_objectNode" memberEnd="__iOYfq8kEdqRKeAGm8hhTw __ihTPq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__ihTPq8kEdqRKeAGm8hhTw" type="__dAhaa8kEdqRKeAGm8hhTw" association="__ihTPa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTP68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTQK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuLq8aEdqf6aL57Hh6KQ" name="A_condition_parameterSet" memberEnd="_4CPkQK8aEdqf6aL57Hh6KQ _4CYuMK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CYuL68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CYuMK8aEdqf6aL57Hh6KQ" type="_4CPkMK8aEdqf6aL57Hh6KQ" association="_4CYuLq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTQa8kEdqRKeAGm8hhTw" name="A_condition_parameterSet" memberEnd="__ihTQ68kEdqRKeAGm8hhTw __iOYkq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTQq8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ihTQ68kEdqRKeAGm8hhTw" type="__iOYgq8kEdqRKeAGm8hhTw" association="__ihTQa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuMa8aEdqf6aL57Hh6KQ" name="A_ownedParameterSet_behavioralFeature" memberEnd="_4CPkia8aEdqf6aL57Hh6KQ _4CYuM68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CYuMq8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CYuM68aEdqf6aL57Hh6KQ" type="_rHT3YKOsEdqi_5gqUMOQtA" association="_4CYuMa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuNK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuNa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTRK8kEdqRKeAGm8hhTw" name="A_ownedParameterSet_behavioralFeature" memberEnd="__iXiY68kEdqRKeAGm8hhTw __ihTRq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTRa8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ihTRq8kEdqRKeAGm8hhTw" type="_rHT3YKOsEdqi_5gqUMOQtA" association="__ihTRK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTR68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTSK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuNq8aEdqf6aL57Hh6KQ" name="A_ownedParameterSet_behavior" memberEnd="_4CPkkK8aEdqf6aL57Hh6KQ _4CYuOK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CYuN68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CYuOK8aEdqf6aL57Hh6KQ" type="_TUPtYGveEdq4DLWZOhbdEA" association="_4CYuNq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuOa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuOq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTSa8kEdqRKeAGm8hhTw" name="A_ownedParameterSet_behavior" memberEnd="__iXiaq8kEdqRKeAGm8hhTw __ihTS68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTSq8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ihTS68kEdqRKeAGm8hhTw" type="_TUPtYGveEdq4DLWZOhbdEA" association="__ihTSa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTTK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTTa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_38IVW68aEdqf6aL57Hh6KQ" name="A_containedNode_inGroup" memberEnd="_38IVMK8aEdqf6aL57Hh6KQ _38IVU68aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuO68aEdqf6aL57Hh6KQ" name="A_joinSpec_joinNode" memberEnd="_4CFzd68aEdqf6aL57Hh6KQ _4CYuPa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CYuPK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CYuPa8aEdqf6aL57Hh6KQ" type="_397FCK8aEdqf6aL57Hh6KQ" association="_4CYuO68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__caEaK8kEdqRKeAGm8hhTw" name="A_containedNode_inGroup" memberEnd="__caEYK8kEdqRKeAGm8hhTw __caEPa8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTTq8kEdqRKeAGm8hhTw" name="A_joinSpec_joinNode" memberEnd="__iEnoq8kEdqRKeAGm8hhTw __ihTUK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTT68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ihTUK8kEdqRKeAGm8hhTw" type="__eDDRK8kEdqRKeAGm8hhTw" association="__ihTTq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38IVkK8aEdqf6aL57Hh6KQ" name="ConditionalNode">

-    <ownedComment xmi:id="_38IVka8aEdqf6aL57Hh6KQ" annotatedElement="_38IVkK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__caEna8kEdqRKeAGm8hhTw" name="ConditionalNode">

+    <ownedComment xmi:id="__caEnq8kEdqRKeAGm8hhTw" annotatedElement="__caEna8kEdqRKeAGm8hhTw">

       <body>A conditional node consists of one or more clauses. Each clause consists of a test section and a body section. When the conditional node begins execution, the test sections of the clauses are executed. If one or more test sections yield a true value, one of the corresponding body sections will be executed. If more than one test section yields a true value, only one body section will be executed. The choice is nondeterministic unless the test sequence of clauses is specified. If no test section yields a true value, then no body section is executed; this may be a semantic error if output values are expected from the conditional node.

 

 

@@ -12064,50 +12064,50 @@
 

 Output values created in the test or body section of a clause are potentially available for use outside the conditional. However, any value used outside the conditional must be created in every clause, otherwise an undefined value would be accessed if a clause not defining the value were executed.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CYuPq8aEdqf6aL57Hh6KQ" name="result_no_incoming" constrainedElement="_38IVkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYuP68aEdqf6aL57Hh6KQ" annotatedElement="_4CYuPq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ihTUa8kEdqRKeAGm8hhTw" name="result_no_incoming" constrainedElement="__caEna8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTUq8kEdqRKeAGm8hhTw" annotatedElement="__ihTUa8kEdqRKeAGm8hhTw">

         <body>The result output pins have no incoming edges.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CYuQK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ihTU68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38IVkq8aEdqf6aL57Hh6KQ" general="_38IVea8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38IVk68aEdqf6aL57Hh6KQ" name="isDeterminate" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_38IVlK8aEdqf6aL57Hh6KQ" annotatedElement="_38IVk68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__caEn68kEdqRKeAGm8hhTw" general="__caEhq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__caEoK8kEdqRKeAGm8hhTw" name="isDeterminate" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__caEoa8kEdqRKeAGm8hhTw" annotatedElement="__caEoK8kEdqRKeAGm8hhTw">

         <body>If true, the modeler asserts that at most one test will succeed.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_38IVla8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__caEoq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVlq8aEdqf6aL57Hh6KQ" name="isAssured" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_38IVl68aEdqf6aL57Hh6KQ" annotatedElement="_38IVlq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caEo68kEdqRKeAGm8hhTw" name="isAssured" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__caEpK8kEdqRKeAGm8hhTw" annotatedElement="__caEo68kEdqRKeAGm8hhTw">

         <body>If true, the modeler asserts that at least one test will succeed.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_38IVmK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__caEpa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVma8aEdqf6aL57Hh6KQ" name="clause" type="_38SGNq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_38SGlK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38IVmq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVm68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__caEpq8kEdqRKeAGm8hhTw" name="clause" type="__caEwq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__cj1ZK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__caEp68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEqK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVnK8aEdqf6aL57Hh6KQ" annotatedElement="_38IVma8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEqa8kEdqRKeAGm8hhTw" annotatedElement="__caEpq8kEdqRKeAGm8hhTw">

         <body>Set of clauses composing the conditional.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38IVna8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38IVnq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEqq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEq68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYuQa8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4CYuhq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CYuQq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CYuQ68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ihTVK8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__ihTma8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ihTVa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ihTVq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CYuRK8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuQa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ihTV68kEdqRKeAGm8hhTw" annotatedElement="__ihTVK8kEdqRKeAGm8hhTw">

         <body>A list of output pins that constitute the data flow outputs of the conditional.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuRa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuRq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTWK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTWa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38IVea8aEdqf6aL57Hh6KQ" name="StructuredActivityNode">

-    <ownedComment xmi:id="_38IVeq8aEdqf6aL57Hh6KQ" annotatedElement="_38IVea8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__caEhq8kEdqRKeAGm8hhTw" name="StructuredActivityNode">

+    <ownedComment xmi:id="__caEh68kEdqRKeAGm8hhTw" annotatedElement="__caEhq8kEdqRKeAGm8hhTw">

       <body>A structured activity node represents a structured portion of the activity that is not shared with any other structured node, except for nesting. It may have control edges connected to it, and pins when merged with CompleteStructuredActivities. The execution of any embedded actions may not begin until the structured activity node has received its object and control tokens. The availability of output tokens from the structured activity node does not occur until all embedded actions have completed execution.

 

 

@@ -12116,7 +12116,7 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_4CYuR68aEdqf6aL57Hh6KQ" annotatedElement="_38IVea8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__ihTWq8kEdqRKeAGm8hhTw" annotatedElement="__caEhq8kEdqRKeAGm8hhTw">

       <body>A structured activity node represents a structured portion of the activity that is not shared with any other structured node, except for nesting. It may have control edges connected to it, and pins in CompleteStructuredActivities. The execution of any embedded actions may not begin until the structured activity node has received its object and control tokens. The availability of output tokens from the structured activity node does not occur until all embedded actions have completed execution.

 

 

@@ -12129,495 +12129,495 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_4CYuSK8aEdqf6aL57Hh6KQ" name="edges" constrainedElement="_38IVea8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYuSa8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuSK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ihTW68kEdqRKeAGm8hhTw" name="edges" constrainedElement="__caEhq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTXK8kEdqRKeAGm8hhTw" annotatedElement="__ihTW68kEdqRKeAGm8hhTw">

         <body>The edges owned by a structured node must have source and target nodes in the structured node, and vice versa.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CYuSq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ihTXa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38IVfa8aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <generalization xmi:id="_4CYuS68aEdqf6aL57Hh6KQ" general="_37_LkK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_38IVe68aEdqf6aL57Hh6KQ" general="_38IVLa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38IVfq8aEdqf6aL57Hh6KQ" name="variable" type="_38IVYK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_38SGf68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38IVf68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVgK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__caEiq8kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__ihTXq8kEdqRKeAGm8hhTw" general="__cQ6la8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__caEiK8kEdqRKeAGm8hhTw" general="__caEOq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__caEi68kEdqRKeAGm8hhTw" name="variable" type="__caEba8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__cj1T68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__caEjK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEja8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVga8aEdqf6aL57Hh6KQ" annotatedElement="_38IVfq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEjq8kEdqRKeAGm8hhTw" annotatedElement="__caEi68kEdqRKeAGm8hhTw">

         <body>A variable defined in the scope of the structured activity node. It has no value and may not be accessed</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38IVgq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38IVg68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEj68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEkK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVhK8aEdqf6aL57Hh6KQ" name="node" type="_38IVSq8aEdqf6aL57Hh6KQ" subsettedProperty="_38IVMK8aEdqf6aL57Hh6KQ" association="_38SGga8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38IVha8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVhq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__caEka8kEdqRKeAGm8hhTw" name="node" type="__caEV68kEdqRKeAGm8hhTw" subsettedProperty="__caEPa8kEdqRKeAGm8hhTw" association="__cj1Ua8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__caEkq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEk68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVh68aEdqf6aL57Hh6KQ" annotatedElement="_38IVhK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caElK8kEdqRKeAGm8hhTw" annotatedElement="__caEka8kEdqRKeAGm8hhTw">

         <body>Nodes immediately contained in the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38IViK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38IVia8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEla8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caElq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IViq8aEdqf6aL57Hh6KQ" name="activity" type="_37_L168aEdqf6aL57Hh6KQ" redefinedProperty="_38IVTa8aEdqf6aL57Hh6KQ _38IVNq8aEdqf6aL57Hh6KQ" association="_38bQFK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38IVi68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVjK8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__caEl68kEdqRKeAGm8hhTw" name="activity" type="__caEKK8kEdqRKeAGm8hhTw" redefinedProperty="__caEWq8kEdqRKeAGm8hhTw __caEQ68kEdqRKeAGm8hhTw" association="__cj1da8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__caEmK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEma8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVja8aEdqf6aL57Hh6KQ" annotatedElement="_38IViq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEmq8kEdqRKeAGm8hhTw" annotatedElement="__caEl68kEdqRKeAGm8hhTw">

         <body>Activity immediately containing the node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38IVjq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38IVj68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEm68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEnK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYuTK8aEdqf6aL57Hh6KQ" name="mustIsolate" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4CYuTa8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuTK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ihTX68kEdqRKeAGm8hhTw" name="mustIsolate" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__ihTYK8kEdqRKeAGm8hhTw" annotatedElement="__ihTX68kEdqRKeAGm8hhTw">

         <body>If true, then the actions in the node execute in isolation from actions outside the node.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4CYuTq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__ihTYa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYuT68aEdqf6aL57Hh6KQ" name="edge" type="_3838V68aEdqf6aL57Hh6KQ" subsettedProperty="_3838n68aEdqf6aL57Hh6KQ" association="_4CifNq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CYuUK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CYuUa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ihTYq8kEdqRKeAGm8hhTw" name="edge" type="__dAhdq8kEdqRKeAGm8hhTw" subsettedProperty="__dJrFa8kEdqRKeAGm8hhTw" association="__irEQa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ihTY68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ihTZK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CYuUq8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuT68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ihTZa8kEdqRKeAGm8hhTw" annotatedElement="__ihTYq8kEdqRKeAGm8hhTw">

         <body>Edges immediately contained in the structured node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuU68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuVK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTZq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTZ68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38SGIK8aEdqf6aL57Hh6KQ" name="LoopNode">

-    <ownedComment xmi:id="_38SGIa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGIK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__caErK8kEdqRKeAGm8hhTw" name="LoopNode">

+    <ownedComment xmi:id="__caEra8kEdqRKeAGm8hhTw" annotatedElement="__caErK8kEdqRKeAGm8hhTw">

       <body>Each section is a well-nested subregion of the activity whose nodes follow any predecessors of the loop and precede any successors of the loop. The test section may precede or follow the body section. The setup section is executed once on entry to the loop, and the test and body sections are executed repeatedly until the test produces a false value. The results of the final execution of the test or body are available after completion of execution of the loop.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CYuVa8aEdqf6aL57Hh6KQ" name="input_edges" constrainedElement="_38SGIK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYuVq8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuVa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ihTaK8kEdqRKeAGm8hhTw" name="input_edges" constrainedElement="__caErK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTaa8kEdqRKeAGm8hhTw" annotatedElement="__ihTaK8kEdqRKeAGm8hhTw">

         <body>Loop variable inputs must not have outgoing edges.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CYuV68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ihTaq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CYuWK8aEdqf6aL57Hh6KQ" name="body_output_pins" constrainedElement="_38SGIK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYuWa8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuWK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ihTa68kEdqRKeAGm8hhTw" name="body_output_pins" constrainedElement="__caErK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTbK8kEdqRKeAGm8hhTw" annotatedElement="__ihTa68kEdqRKeAGm8hhTw">

         <body>The bodyOutput pins are output pins on actions in the body of the loop node.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CYuWq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ihTba8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CYuW68aEdqf6aL57Hh6KQ" name="result_no_incoming" constrainedElement="_38SGIK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYuXK8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuW68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ihTbq8kEdqRKeAGm8hhTw" name="result_no_incoming" constrainedElement="__caErK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTb68kEdqRKeAGm8hhTw" annotatedElement="__ihTbq8kEdqRKeAGm8hhTw">

         <body>The result output pins have no incoming edges.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CYuXa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ihTcK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38SGIq8aEdqf6aL57Hh6KQ" general="_38IVea8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38SGI68aEdqf6aL57Hh6KQ" name="isTestedFirst" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_38SGJK8aEdqf6aL57Hh6KQ" annotatedElement="_38SGI68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__caErq8kEdqRKeAGm8hhTw" general="__caEhq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__caEr68kEdqRKeAGm8hhTw" name="isTestedFirst" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__caEsK8kEdqRKeAGm8hhTw" annotatedElement="__caEr68kEdqRKeAGm8hhTw">

         <body>If true, the test is performed before the first execution of the body.

 If false, the body is executed once before the test is performed.

 </body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_38SGJa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__caEsa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGJq8aEdqf6aL57Hh6KQ" name="bodyPart" type="_38SGbq8aEdqf6aL57Hh6KQ" association="_38SGjK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGJ68aEdqf6aL57Hh6KQ" annotatedElement="_38SGJq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caEsq8kEdqRKeAGm8hhTw" name="bodyPart" type="__cj1Pq8kEdqRKeAGm8hhTw" association="__cj1XK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEs68kEdqRKeAGm8hhTw" annotatedElement="__caEsq8kEdqRKeAGm8hhTw">

         <body>The set of nodes and edges that perform the repetitive computations of the loop. The body section is executed as long as the test section produces a true value.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGKK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGKa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEtK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEta8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGKq8aEdqf6aL57Hh6KQ" name="setupPart" type="_38SGbq8aEdqf6aL57Hh6KQ" association="_38SGkK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGK68aEdqf6aL57Hh6KQ" annotatedElement="_38SGKq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caEtq8kEdqRKeAGm8hhTw" name="setupPart" type="__cj1Pq8kEdqRKeAGm8hhTw" association="__cj1YK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEt68kEdqRKeAGm8hhTw" annotatedElement="__caEtq8kEdqRKeAGm8hhTw">

         <body>The set of nodes and edges that initialize values or perform other setup computations for the loop.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGLK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGLa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEuK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEua8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGLq8aEdqf6aL57Hh6KQ" name="decider" type="_37_LMK8aEdqf6aL57Hh6KQ" association="_38SGna8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGL68aEdqf6aL57Hh6KQ" annotatedElement="_38SGLq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caEuq8kEdqRKeAGm8hhTw" name="decider" type="__cQ6Na8kEdqRKeAGm8hhTw" association="__cj1ba8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEu68kEdqRKeAGm8hhTw" annotatedElement="__caEuq8kEdqRKeAGm8hhTw">

         <body>An output pin within the test fragment the value of which is examined after execution of the test to determine whether to execute the loop body.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGMK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGMa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEvK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEva8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGMq8aEdqf6aL57Hh6KQ" name="test" type="_38SGbq8aEdqf6aL57Hh6KQ" association="_38bQEK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGM68aEdqf6aL57Hh6KQ" annotatedElement="_38SGMq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caEvq8kEdqRKeAGm8hhTw" name="test" type="__cj1Pq8kEdqRKeAGm8hhTw" association="__cj1ca8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEv68kEdqRKeAGm8hhTw" annotatedElement="__caEvq8kEdqRKeAGm8hhTw">

         <body>The set of nodes, edges, and designated value that compute a Boolean value to determine if another execution of the body will be performed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGNK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGNa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEwK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEwa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYuXq8aEdqf6aL57Hh6KQ" name="result" type="_37_LMK8aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_37_Lk68aEdqf6aL57Hh6KQ" association="_4CifIK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CYuX68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CYuYK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ihTca8kEdqRKeAGm8hhTw" name="result" type="__cQ6Na8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__cQ6mK8kEdqRKeAGm8hhTw" association="__ihTnq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ihTcq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ihTc68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CYuYa8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuXq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ihTdK8kEdqRKeAGm8hhTw" annotatedElement="__ihTca8kEdqRKeAGm8hhTw">

         <body>A list of output pins that constitute the data flow output of the entire loop.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuYq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuY68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTda8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTdq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYuZK8aEdqf6aL57Hh6KQ" name="loopVariable" type="_37_LMK8aEdqf6aL57Hh6KQ" isOrdered="true" association="_4CifJa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYuZa8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuZK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ihTd68kEdqRKeAGm8hhTw" name="loopVariable" type="__cQ6Na8kEdqRKeAGm8hhTw" isOrdered="true" association="__irEMK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTeK8kEdqRKeAGm8hhTw" annotatedElement="__ihTd68kEdqRKeAGm8hhTw">

         <body>A list of output pins that hold the values of the loop variables during an execution of the loop. When the test fails, the values are movied to the result pins of the loop.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuZq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuZ68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTea8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTeq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYuaK8aEdqf6aL57Hh6KQ" name="bodyOutput" type="_37_LMK8aEdqf6aL57Hh6KQ" isOrdered="true" association="_4CifKa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYuaa8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuaK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ihTe68kEdqRKeAGm8hhTw" name="bodyOutput" type="__cQ6Na8kEdqRKeAGm8hhTw" isOrdered="true" association="__irENK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTfK8kEdqRKeAGm8hhTw" annotatedElement="__ihTe68kEdqRKeAGm8hhTw">

         <body>A list of output pins within the body fragment the values of which are moved to the loop variable pins after completion of execution of the body, before the next iteration of the loop begins or before the loop exits.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuaq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYua68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTfa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTfq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYubK8aEdqf6aL57Hh6KQ" name="loopVariableInput" type="_37_LM68aEdqf6aL57Hh6KQ" isOrdered="true" subsettedProperty="_37_Lma8aEdqf6aL57Hh6KQ" association="_4CifMa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CYuba8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CYubq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ihTf68kEdqRKeAGm8hhTw" name="loopVariableInput" type="__cQ6OK8kEdqRKeAGm8hhTw" isOrdered="true" subsettedProperty="__cQ6nq8kEdqRKeAGm8hhTw" association="__irEPK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ihTgK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ihTga8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CYub68aEdqf6aL57Hh6KQ" annotatedElement="_4CYubK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ihTgq8kEdqRKeAGm8hhTw" annotatedElement="__ihTf68kEdqRKeAGm8hhTw">

         <body>A list of values that are moved into the loop variable pins before the first iteration of the loop.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYucK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuca8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTg68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihThK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38SGNq8aEdqf6aL57Hh6KQ" name="Clause">

-    <ownedComment xmi:id="_38SGN68aEdqf6aL57Hh6KQ" annotatedElement="_38SGNq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__caEwq8kEdqRKeAGm8hhTw" name="Clause">

+    <ownedComment xmi:id="__caEw68kEdqRKeAGm8hhTw" annotatedElement="__caEwq8kEdqRKeAGm8hhTw">

       <body>A clause is an element that represents a single branch of a conditional construct, including a test and a body section. The body section is executed only if (but not necessarily if) the test section evaluates true.</body>

     </ownedComment>

-    <ownedRule xmi:id="_38SGOK8aEdqf6aL57Hh6KQ" name="decider_output" constrainedElement="_38SGNq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGOa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGOK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__caExK8kEdqRKeAGm8hhTw" name="decider_output" constrainedElement="__caEwq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caExa8kEdqRKeAGm8hhTw" annotatedElement="__caExK8kEdqRKeAGm8hhTw">

         <body>The decider output pin must be for the test body or a node contained by the test body as a structured node.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38SGOq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__caExq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CYucq8aEdqf6aL57Hh6KQ" name="body_output_pins" constrainedElement="_38SGNq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYuc68aEdqf6aL57Hh6KQ" annotatedElement="_4CYucq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ihTha8kEdqRKeAGm8hhTw" name="body_output_pins" constrainedElement="__caEwq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihThq8kEdqRKeAGm8hhTw" annotatedElement="__ihTha8kEdqRKeAGm8hhTw">

         <body>The bodyOutput pins are output pins on actions in the body of the clause.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CYudK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ihTh68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38SGO68aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_38SGPK8aEdqf6aL57Hh6KQ" name="test" type="_38SGbq8aEdqf6aL57Hh6KQ" association="_38SGg68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGPa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGPK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__caEx68kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__caEyK8kEdqRKeAGm8hhTw" name="test" type="__cj1Pq8kEdqRKeAGm8hhTw" association="__cj1U68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEya8kEdqRKeAGm8hhTw" annotatedElement="__caEyK8kEdqRKeAGm8hhTw">

         <body>A nested activity fragment with a designated output pin that specifies the result of the test.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGPq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGP68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEyq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEy68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGQK8aEdqf6aL57Hh6KQ" name="body" type="_38SGbq8aEdqf6aL57Hh6KQ" association="_38SGh68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGQa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGQK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caEzK8kEdqRKeAGm8hhTw" name="body" type="__cj1Pq8kEdqRKeAGm8hhTw" association="__cj1V68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caEza8kEdqRKeAGm8hhTw" annotatedElement="__caEzK8kEdqRKeAGm8hhTw">

         <body>A nested activity fragment that is executed if the test evaluates to true and the clause is chosen over any concurrent clauses that also evaluate to true.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGQq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGQ68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEzq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEz68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGRK8aEdqf6aL57Hh6KQ" name="predecessorClause" type="_38SGNq8aEdqf6aL57Hh6KQ" association="_38SGi68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGRa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGRK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caE0K8kEdqRKeAGm8hhTw" name="predecessorClause" type="__caEwq8kEdqRKeAGm8hhTw" association="__cj1W68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caE0a8kEdqRKeAGm8hhTw" annotatedElement="__caE0K8kEdqRKeAGm8hhTw">

         <body>A set of clauses whose tests must all evaluate false before the current clause can be tested.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGRq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGR68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caE0q8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caE068kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGSK8aEdqf6aL57Hh6KQ" name="successorClause" type="_38SGNq8aEdqf6aL57Hh6KQ" association="_38SGi68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGSa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGSK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caE1K8kEdqRKeAGm8hhTw" name="successorClause" type="__caEwq8kEdqRKeAGm8hhTw" association="__cj1W68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caE1a8kEdqRKeAGm8hhTw" annotatedElement="__caE1K8kEdqRKeAGm8hhTw">

         <body>A set of clauses which may not be tested unless the current clause tests false.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGSq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGS68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caE1q8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caE168kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38SGTK8aEdqf6aL57Hh6KQ" name="decider" type="_37_LMK8aEdqf6aL57Hh6KQ" association="_38SGma8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38SGTa8aEdqf6aL57Hh6KQ" annotatedElement="_38SGTK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__caE2K8kEdqRKeAGm8hhTw" name="decider" type="__cQ6Na8kEdqRKeAGm8hhTw" association="__cj1aa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__caE2a8kEdqRKeAGm8hhTw" annotatedElement="__caE2K8kEdqRKeAGm8hhTw">

         <body>An output pin within the test fragment the value of which is examined after execution of the test to determine whether the body should be executed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38SGTq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38SGT68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caE2q8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caE268kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYuda8aEdqf6aL57Hh6KQ" name="bodyOutput" type="_37_LMK8aEdqf6aL57Hh6KQ" isOrdered="true" association="_4CifLa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYudq8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuda8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ihTiK8kEdqRKeAGm8hhTw" name="bodyOutput" type="__cQ6Na8kEdqRKeAGm8hhTw" isOrdered="true" association="__irEOK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTia8kEdqRKeAGm8hhTw" annotatedElement="__ihTiK8kEdqRKeAGm8hhTw">

         <body>A list of output pins within the body fragment whose values are moved to the result pins of the containing conditional node after execution of the clause body.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYud68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYueK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTiq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTi68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3838V68aEdqf6aL57Hh6KQ" name="ActivityEdge" isAbstract="true">

-    <ownedComment xmi:id="_3838WK8aEdqf6aL57Hh6KQ" annotatedElement="_3838V68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__dAhdq8kEdqRKeAGm8hhTw" name="ActivityEdge" isAbstract="true">

+    <ownedComment xmi:id="__dAhd68kEdqRKeAGm8hhTw" annotatedElement="__dAhdq8kEdqRKeAGm8hhTw">

       <body>ActivityEdge is an abstract class for the connections along which tokens flow between activity nodes. It covers control and data flow edges. Activity edges can control token flow.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3838Wa8aEdqf6aL57Hh6KQ" name="source_and_target" constrainedElement="_3838V68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838Wq8aEdqf6aL57Hh6KQ" annotatedElement="_3838Wa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAheK8kEdqRKeAGm8hhTw" name="source_and_target" constrainedElement="__dAhdq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhea8kEdqRKeAGm8hhTw" annotatedElement="__dAheK8kEdqRKeAGm8hhTw">

         <body>The source and target of an edge must be in the same activity as the edge.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838W68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAheq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838XK8aEdqf6aL57Hh6KQ" name="owned" constrainedElement="_3838V68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838Xa8aEdqf6aL57Hh6KQ" annotatedElement="_3838XK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dAhe68kEdqRKeAGm8hhTw" name="owned" constrainedElement="__dAhdq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhfK8kEdqRKeAGm8hhTw" annotatedElement="__dAhe68kEdqRKeAGm8hhTw">

         <body>Activity edges may be owned only by activities or groups.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838Xq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dAhfa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CYuea8aEdqf6aL57Hh6KQ" name="structured_node" constrainedElement="_3838V68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CYueq8aEdqf6aL57Hh6KQ" annotatedElement="_4CYuea8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ihTjK8kEdqRKeAGm8hhTw" name="structured_node" constrainedElement="__dAhdq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ihTja8kEdqRKeAGm8hhTw" annotatedElement="__ihTjK8kEdqRKeAGm8hhTw">

         <body>Activity edges may be owned by at most one structured node.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CYue68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ihTjq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3838X68aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_3838YK8aEdqf6aL57Hh6KQ" name="activity" type="_37_L168aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_39BtN68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3838Ya8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3838Yq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__dAhfq8kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__dAhf68kEdqRKeAGm8hhTw" name="activity" type="__caEKK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__dJrUq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dAhgK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dAhga8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3838Y68aEdqf6aL57Hh6KQ" annotatedElement="_3838YK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dAhgq8kEdqRKeAGm8hhTw" annotatedElement="__dAhf68kEdqRKeAGm8hhTw">

         <body>Activity containing the edge.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838ZK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838Za8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhg68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhhK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3838Zq8aEdqf6aL57Hh6KQ" name="source" type="_38IVSq8aEdqf6aL57Hh6KQ" association="_39BtOa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838Z68aEdqf6aL57Hh6KQ" annotatedElement="_3838Zq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dAhha8kEdqRKeAGm8hhTw" name="source" type="__caEV68kEdqRKeAGm8hhTw" association="__dJrVK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhhq8kEdqRKeAGm8hhTw" annotatedElement="__dAhha8kEdqRKeAGm8hhTw">

         <body>Node from which tokens are taken when they traverse the edge.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838aK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838aa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhh68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhiK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3838aq8aEdqf6aL57Hh6KQ" name="target" type="_38IVSq8aEdqf6aL57Hh6KQ" association="_39BtOq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838a68aEdqf6aL57Hh6KQ" annotatedElement="_3838aq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dAhia8kEdqRKeAGm8hhTw" name="target" type="__caEV68kEdqRKeAGm8hhTw" association="__dJrVa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhiq8kEdqRKeAGm8hhTw" annotatedElement="__dAhia8kEdqRKeAGm8hhTw">

         <body>Node to which tokens are put when they traverse the edge.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838bK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838ba8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhi68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhjK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3838dK8aEdqf6aL57Hh6KQ" name="redefinedEdge" type="_3838V68aEdqf6aL57Hh6KQ" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_39BtQ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838da8aEdqf6aL57Hh6KQ" annotatedElement="_3838dK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dAhk68kEdqRKeAGm8hhTw" name="redefinedEdge" type="__dAhdq8kEdqRKeAGm8hhTw" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__dJrXq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhlK8kEdqRKeAGm8hhTw" annotatedElement="__dAhk68kEdqRKeAGm8hhTw">

         <body>Inherited edges replaced by this edge in a specialization of the activity.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838dq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838d68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhla8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhlq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39xUUq8aEdqf6aL57Hh6KQ" name="inPartition" type="_39xUJK8aEdqf6aL57Hh6KQ" subsettedProperty="_3838bq8aEdqf6aL57Hh6KQ" association="_397FFa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39xUU68aEdqf6aL57Hh6KQ" annotatedElement="_39xUUq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eDDEa8kEdqRKeAGm8hhTw" name="inPartition" type="__eDC468kEdqRKeAGm8hhTw" subsettedProperty="__dAhja8kEdqRKeAGm8hhTw" association="__eDDUa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eDDEq8kEdqRKeAGm8hhTw" annotatedElement="__eDDEa8kEdqRKeAGm8hhTw">

         <body>Partitions containing the edge.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUVK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUVa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDE68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDFK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39xUVq8aEdqf6aL57Hh6KQ" name="guard" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_397FH68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39xUV68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39xUWK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__eDDFa8kEdqRKeAGm8hhTw" name="guard" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__eDDW68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eDDFq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eDDF68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39xUWa8aEdqf6aL57Hh6KQ" annotatedElement="_39xUVq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eDDGK8kEdqRKeAGm8hhTw" annotatedElement="__eDDFa8kEdqRKeAGm8hhTw">

         <body>Specification evaluated at runtime to determine if the edge can be traversed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39xUWq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39xUW68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDGa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDGq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzna8aEdqf6aL57Hh6KQ" name="weight" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4CPkqq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CFznq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CFzn68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__iOYXa8kEdqRKeAGm8hhTw" name="weight" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__iXihK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__iOYXq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__iOYX68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CFzoK8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzna8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__iOYYK8kEdqRKeAGm8hhTw" annotatedElement="__iOYXa8kEdqRKeAGm8hhTw">

         <body>Number of tokens consumed from the source node on each traversal.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzoa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzoq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYYa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYYq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CFzo68aEdqf6aL57Hh6KQ" name="interrupts" type="_4CPkc68aEdqf6aL57Hh6KQ" association="_4CYuI68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CFzpK8aEdqf6aL57Hh6KQ" annotatedElement="_4CFzo68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__iOYY68kEdqRKeAGm8hhTw" name="interrupts" type="__iXiTa8kEdqRKeAGm8hhTw" association="__ihTNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__iOYZK8kEdqRKeAGm8hhTw" annotatedElement="__iOYY68kEdqRKeAGm8hhTw">

         <body>Region that the edge can interrupt.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CFzpa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CFzpq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iOYZa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iOYZq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CYufK8aEdqf6aL57Hh6KQ" name="inStructuredNode" type="_38IVea8aEdqf6aL57Hh6KQ" subsettedProperty="_3838bq8aEdqf6aL57Hh6KQ" association="_4CifNq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4CYufa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CYufq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__ihTj68kEdqRKeAGm8hhTw" name="inStructuredNode" type="__caEhq8kEdqRKeAGm8hhTw" subsettedProperty="__dAhja8kEdqRKeAGm8hhTw" association="__irEQa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__ihTkK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ihTka8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CYuf68aEdqf6aL57Hh6KQ" annotatedElement="_4CYufK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ihTkq8kEdqRKeAGm8hhTw" annotatedElement="__ihTj68kEdqRKeAGm8hhTw">

         <body>Structured activity node containing the edge.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYugK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuga8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTk68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTlK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3838bq8aEdqf6aL57Hh6KQ" name="inGroup" type="_38IVLa8aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_39BtO68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3838b68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3838cK8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__dAhja8kEdqRKeAGm8hhTw" name="inGroup" type="__caEOq8kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__dJrVq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dAhjq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dAhj68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3838ca8aEdqf6aL57Hh6KQ" annotatedElement="_3838bq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dAhkK8kEdqRKeAGm8hhTw" annotatedElement="__dAhja8kEdqRKeAGm8hhTw">

         <body>Groups containing the edge. Multiplicity specialized to [0..1] for StructuredActivityGroup.</body>

       </ownedComment>

-      <ownedComment xmi:id="_39xUXK8aEdqf6aL57Hh6KQ" annotatedElement="_3838bq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eDDG68kEdqRKeAGm8hhTw" annotatedElement="__dAhja8kEdqRKeAGm8hhTw">

         <body>Groups containing the edge. Multiplicity specialized to [0..1] for StructuredActivity-Group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYugq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYug68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTla8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTlq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38IVLa8aEdqf6aL57Hh6KQ" name="ActivityGroup" isAbstract="true">

-    <ownedComment xmi:id="_38IVLq8aEdqf6aL57Hh6KQ" annotatedElement="_38IVLa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__caEOq8kEdqRKeAGm8hhTw" name="ActivityGroup" isAbstract="true">

+    <ownedComment xmi:id="__caEO68kEdqRKeAGm8hhTw" annotatedElement="__caEOq8kEdqRKeAGm8hhTw">

       <body>Activity groups are a generic grouping construct for nodes and edges. Nodes and edges can belong to more than one group.

 

 They have no inherent semantics and can be used for various purposes. Subclasses of ActivityGroup may add semantics.

 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_3838lq8aEdqf6aL57Hh6KQ" name="nodes_and_edges" constrainedElement="_38IVLa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838l68aEdqf6aL57Hh6KQ" annotatedElement="_3838lq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrDK8kEdqRKeAGm8hhTw" name="nodes_and_edges" constrainedElement="__caEOq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrDa8kEdqRKeAGm8hhTw" annotatedElement="__dJrDK8kEdqRKeAGm8hhTw">

         <body>All nodes and edges of the group must be in the same activity as the group.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838mK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrDq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838ma8aEdqf6aL57Hh6KQ" name="not_contained" constrainedElement="_38IVLa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838mq8aEdqf6aL57Hh6KQ" annotatedElement="_3838ma8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrD68kEdqRKeAGm8hhTw" name="not_contained" constrainedElement="__caEOq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrEK8kEdqRKeAGm8hhTw" annotatedElement="__dJrD68kEdqRKeAGm8hhTw">

         <body>No node or edge in a group may be contained by its subgroups or its containing groups, transitively.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838m68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrEa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3838nK8aEdqf6aL57Hh6KQ" name="group_owned" constrainedElement="_38IVLa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838na8aEdqf6aL57Hh6KQ" annotatedElement="_3838nK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__dJrEq8kEdqRKeAGm8hhTw" name="group_owned" constrainedElement="__caEOq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dJrE68kEdqRKeAGm8hhTw" annotatedElement="__dJrEq8kEdqRKeAGm8hhTw">

         <body>Groups may only be owned by activities or groups.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3838nq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__dJrFK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38IVL68aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_38IVPK8aEdqf6aL57Hh6KQ" name="subgroup" type="_38IVLa8aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_38IVXq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38IVPa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVPq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__caEPK8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__caESa8kEdqRKeAGm8hhTw" name="subgroup" type="__caEOq8kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__caEa68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__caESq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caES68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVP68aEdqf6aL57Hh6KQ" annotatedElement="_38IVPK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caETK8kEdqRKeAGm8hhTw" annotatedElement="__caESa8kEdqRKeAGm8hhTw">

         <body>Groups immediately contained in the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38IVQK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38IVQa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caETa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caETq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVQq8aEdqf6aL57Hh6KQ" name="superGroup" type="_38IVLa8aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_38IVXq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38IVQ68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVRK8aEdqf6aL57Hh6KQ" isTransient="true" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__caET68kEdqRKeAGm8hhTw" name="superGroup" type="__caEOq8kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__caEa68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__caEUK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEUa8kEdqRKeAGm8hhTw" isTransient="true" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVRa8aEdqf6aL57Hh6KQ" annotatedElement="_38IVQq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEUq8kEdqRKeAGm8hhTw" annotatedElement="__caET68kEdqRKeAGm8hhTw">

         <body>Group immediately containing the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38IVRq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38IVR68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__caEU68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__caEVK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVNq8aEdqf6aL57Hh6KQ" name="inActivity" type="_37_L168aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_38IVXK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38IVN68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVOK8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__caEQ68kEdqRKeAGm8hhTw" name="inActivity" type="__caEKK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__caEaa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__caERK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caERa8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVOa8aEdqf6aL57Hh6KQ" annotatedElement="_38IVNq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caERq8kEdqRKeAGm8hhTw" annotatedElement="__caEQ68kEdqRKeAGm8hhTw">

         <body>Activity containing the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FDa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FDq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eDDSa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eDDSq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38IVMK8aEdqf6aL57Hh6KQ" name="containedNode" type="_38IVSq8aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_38IVW68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38IVMa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38IVMq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__caEPa8kEdqRKeAGm8hhTw" name="containedNode" type="__caEV68kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__caEaK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__caEPq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__caEP68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38IVM68aEdqf6aL57Hh6KQ" annotatedElement="_38IVMK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__caEQK8kEdqRKeAGm8hhTw" annotatedElement="__caEPa8kEdqRKeAGm8hhTw">

         <body>Nodes immediately contained in the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CPknK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CPkna8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__iXidq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__iXid68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3838n68aEdqf6aL57Hh6KQ" name="containedEdge" type="_3838V68aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_39BtO68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3838oK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3838oa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__dJrFa8kEdqRKeAGm8hhTw" name="containedEdge" type="__dAhdq8kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="__dJrVq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__dJrFq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dJrF68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3838oq8aEdqf6aL57Hh6KQ" annotatedElement="_3838n68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dJrGK8kEdqRKeAGm8hhTw" annotatedElement="__dJrFa8kEdqRKeAGm8hhTw">

         <body>Edges immediately contained in the group.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuhK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuha8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTl68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTmK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CYuhq8aEdqf6aL57Hh6KQ" name="A_result_conditionalNode" memberEnd="_4CYuiK8aEdqf6aL57Hh6KQ _4CYuQa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CYuh68aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CYuiK8aEdqf6aL57Hh6KQ" type="_38IVkK8aEdqf6aL57Hh6KQ" association="_4CYuhq8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CYuia8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CYuiq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTma8kEdqRKeAGm8hhTw" name="A_result_conditionalNode" memberEnd="__ihTVK8kEdqRKeAGm8hhTw __ihTm68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTmq8kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ihTm68kEdqRKeAGm8hhTw" type="__caEna8kEdqRKeAGm8hhTw" association="__ihTma8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihTnK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihTna8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CifIK8aEdqf6aL57Hh6KQ" name="A_result_loopNode" memberEnd="_4CYuXq8aEdqf6aL57Hh6KQ _4CifIq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CifIa8aEdqf6aL57Hh6KQ" general="_37_Lwa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CifIq8aEdqf6aL57Hh6KQ" type="_38SGIK8aEdqf6aL57Hh6KQ" association="_4CifIK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifI68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifJK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__ihTnq8kEdqRKeAGm8hhTw" name="A_result_loopNode" memberEnd="__ihTca8kEdqRKeAGm8hhTw __ihToK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__ihTn68kEdqRKeAGm8hhTw" general="__cQ6xq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__ihToK8kEdqRKeAGm8hhTw" type="__caErK8kEdqRKeAGm8hhTw" association="__ihTnq8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ihToa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ihToq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CifJa8aEdqf6aL57Hh6KQ" name="A_loopVariable_loopNode" memberEnd="_4CYuZK8aEdqf6aL57Hh6KQ _4CifJq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CifJq8aEdqf6aL57Hh6KQ" type="_38SGIK8aEdqf6aL57Hh6KQ" association="_4CifJa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifJ68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifKK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEMK8kEdqRKeAGm8hhTw" name="A_loopVariable_loopNode" memberEnd="__irEMa8kEdqRKeAGm8hhTw __ihTd68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__irEMa8kEdqRKeAGm8hhTw" type="__caErK8kEdqRKeAGm8hhTw" association="__irEMK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEMq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEM68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CifKa8aEdqf6aL57Hh6KQ" name="A_bodyOutput_loopNode" memberEnd="_4CYuaK8aEdqf6aL57Hh6KQ _4CifKq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CifKq8aEdqf6aL57Hh6KQ" type="_38SGIK8aEdqf6aL57Hh6KQ" association="_4CifKa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifK68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifLK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irENK8kEdqRKeAGm8hhTw" name="A_bodyOutput_loopNode" memberEnd="__ihTe68kEdqRKeAGm8hhTw __irENa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__irENa8kEdqRKeAGm8hhTw" type="__caErK8kEdqRKeAGm8hhTw" association="__irENK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irENq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEN68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CifLa8aEdqf6aL57Hh6KQ" name="A_bodyOutput_clause" memberEnd="_4CYuda8aEdqf6aL57Hh6KQ _4CifLq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CifLq8aEdqf6aL57Hh6KQ" type="_38SGNq8aEdqf6aL57Hh6KQ" association="_4CifLa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifL68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifMK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEOK8kEdqRKeAGm8hhTw" name="A_bodyOutput_clause" memberEnd="__ihTiK8kEdqRKeAGm8hhTw __irEOa8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__irEOa8kEdqRKeAGm8hhTw" type="__caEwq8kEdqRKeAGm8hhTw" association="__irEOK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEOq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEO68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CifMa8aEdqf6aL57Hh6KQ" name="A_loopVariableInput_loopNode" memberEnd="_4CYubK8aEdqf6aL57Hh6KQ _4CifM68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CifMq8aEdqf6aL57Hh6KQ" general="_37_Lxq8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CifM68aEdqf6aL57Hh6KQ" type="_38SGIK8aEdqf6aL57Hh6KQ" association="_4CifMa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifNK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifNa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEPK8kEdqRKeAGm8hhTw" name="A_loopVariableInput_loopNode" memberEnd="__irEPq8kEdqRKeAGm8hhTw __ihTf68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__irEPa8kEdqRKeAGm8hhTw" general="__cQ6y68kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__irEPq8kEdqRKeAGm8hhTw" type="__caErK8kEdqRKeAGm8hhTw" association="__irEPK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEP68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEQK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CifNq8aEdqf6aL57Hh6KQ" name="A_edge_inStructuredNode" memberEnd="_4CYuT68aEdqf6aL57Hh6KQ _4CYufK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CifN68aEdqf6aL57Hh6KQ" general="_39BtO68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEQa8kEdqRKeAGm8hhTw" name="A_edge_inStructuredNode" memberEnd="__ihTYq8kEdqRKeAGm8hhTw __ihTj68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__irEQq8kEdqRKeAGm8hhTw" general="__dJrVq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_39BtO68aEdqf6aL57Hh6KQ" name="A_containedEdge_inGroup" isDerived="true" memberEnd="_3838bq8aEdqf6aL57Hh6KQ _3838n68aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CifOK8aEdqf6aL57Hh6KQ" name="ExpansionNode">

-    <ownedComment xmi:id="_4CifOa8aEdqf6aL57Hh6KQ" annotatedElement="_4CifOK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__dJrVq8kEdqRKeAGm8hhTw" name="A_containedEdge_inGroup" isDerived="true" memberEnd="__dJrFa8kEdqRKeAGm8hhTw __dAhja8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Class" xmi:id="__irEQ68kEdqRKeAGm8hhTw" name="ExpansionNode">

+    <ownedComment xmi:id="__irERK8kEdqRKeAGm8hhTw" annotatedElement="__irEQ68kEdqRKeAGm8hhTw">

       <body>An expansion node is an object node used to indicate a flow across the boundary of an expansion region. A flow into a region contains a collection that is broken into its individual elements inside the region, which is executed once per element. A flow out of a region combines individual elements into a collection for use outside the region.</body>

     </ownedComment>

-    <generalization xmi:id="_4CifOq8aEdqf6aL57Hh6KQ" general="_3838Sq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CifO68aEdqf6aL57Hh6KQ" name="regionAsOutput" type="_4CifQ68aEdqf6aL57Hh6KQ" association="_4Cifg68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifPK8aEdqf6aL57Hh6KQ" annotatedElement="_4CifO68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__irERa8kEdqRKeAGm8hhTw" general="__dAhaa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__irERq8kEdqRKeAGm8hhTw" name="regionAsOutput" type="__irETq8kEdqRKeAGm8hhTw" association="__irEjq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irER68kEdqRKeAGm8hhTw" annotatedElement="__irERq8kEdqRKeAGm8hhTw">

         <body>The expansion region for which the node is an output.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifPa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifPq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irESK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irESa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CifP68aEdqf6aL57Hh6KQ" name="regionAsInput" type="_4CifQ68aEdqf6aL57Hh6KQ" association="_4CifhK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifQK8aEdqf6aL57Hh6KQ" annotatedElement="_4CifP68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__irESq8kEdqRKeAGm8hhTw" name="regionAsInput" type="__irETq8kEdqRKeAGm8hhTw" association="__irEj68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irES68kEdqRKeAGm8hhTw" annotatedElement="__irESq8kEdqRKeAGm8hhTw">

         <body>The expansion region for which the node is an input.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifQa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifQq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irETK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irETa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CifQ68aEdqf6aL57Hh6KQ" name="ExpansionRegion">

-    <ownedComment xmi:id="_4CifRK8aEdqf6aL57Hh6KQ" annotatedElement="_4CifQ68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__irETq8kEdqRKeAGm8hhTw" name="ExpansionRegion">

+    <ownedComment xmi:id="__irET68kEdqRKeAGm8hhTw" annotatedElement="__irETq8kEdqRKeAGm8hhTw">

       <body>An expansion region is a strictly nested region of an activity with explicit input and outputs (modeled as ExpansionNodes). Each input is a collection of values. If there are multiple inputs, each of them must hold the same kind of collection, although the types of the elements in the different collections may vary. The expansion region is executed once for each element (or position) in the input collection.

 

 

@@ -12632,17 +12632,17 @@
 

 Any object flow edges that cross the boundary of the region, without passing through expansion nodes, provide values that are fixed within the different executions of the region.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CifRa8aEdqf6aL57Hh6KQ" name="expansion_nodes" constrainedElement="_4CifQ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifRq8aEdqf6aL57Hh6KQ" annotatedElement="_4CifRa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__irEUK8kEdqRKeAGm8hhTw" name="expansion_nodes" constrainedElement="__irETq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEUa8kEdqRKeAGm8hhTw" annotatedElement="__irEUK8kEdqRKeAGm8hhTw">

         <body>An ExpansionRegion must have one or more argument ExpansionNodes and zero or more result ExpansionNodes.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CifR68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__irEUq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4CifSK8aEdqf6aL57Hh6KQ" general="_38IVea8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CifSa8aEdqf6aL57Hh6KQ" name="mode" type="_4Cife68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifSq8aEdqf6aL57Hh6KQ" annotatedElement="_4CifSa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__irEU68kEdqRKeAGm8hhTw" general="__caEhq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__irEVK8kEdqRKeAGm8hhTw" name="mode" type="__irEhq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEVa8kEdqRKeAGm8hhTw" annotatedElement="__irEVK8kEdqRKeAGm8hhTw">

         <body>The way in which the executions interact:

 

 parallel: all interactions are independent

@@ -12653,144 +12653,144 @@
 

 </body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_4CifS68aEdqf6aL57Hh6KQ" type="_4Cife68aEdqf6aL57Hh6KQ" instance="_4Ciff68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__irEVq8kEdqRKeAGm8hhTw" type="__irEhq8kEdqRKeAGm8hhTw" instance="__irEiq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CifTK8aEdqf6aL57Hh6KQ" name="outputElement" type="_4CifOK8aEdqf6aL57Hh6KQ" association="_4Cifg68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifTa8aEdqf6aL57Hh6KQ" annotatedElement="_4CifTK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__irEV68kEdqRKeAGm8hhTw" name="outputElement" type="__irEQ68kEdqRKeAGm8hhTw" association="__irEjq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEWK8kEdqRKeAGm8hhTw" annotatedElement="__irEV68kEdqRKeAGm8hhTw">

         <body>An object node that accepts a separate element of the output collection during each of the multiple executions of the region. The values are formed into a collection that is available when the execution of the region is complete.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifTq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifT68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEWa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEWq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CifUK8aEdqf6aL57Hh6KQ" name="inputElement" type="_4CifOK8aEdqf6aL57Hh6KQ" association="_4CifhK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifUa8aEdqf6aL57Hh6KQ" annotatedElement="_4CifUK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__irEW68kEdqRKeAGm8hhTw" name="inputElement" type="__irEQ68kEdqRKeAGm8hhTw" association="__irEj68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEXK8kEdqRKeAGm8hhTw" annotatedElement="__irEW68kEdqRKeAGm8hhTw">

         <body>An object node that holds a separate element of the input collection during each of the multiple executions of the region.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifUq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifU68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEXa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEXq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38SGbq8aEdqf6aL57Hh6KQ" name="ExecutableNode" isAbstract="true">

-    <ownedComment xmi:id="_38SGb68aEdqf6aL57Hh6KQ" annotatedElement="_38SGbq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__cj1Pq8kEdqRKeAGm8hhTw" name="ExecutableNode" isAbstract="true">

+    <ownedComment xmi:id="__cj1P68kEdqRKeAGm8hhTw" annotatedElement="__cj1Pq8kEdqRKeAGm8hhTw">

       <body>An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers.</body>

     </ownedComment>

-    <generalization xmi:id="_38SGcK8aEdqf6aL57Hh6KQ" general="_38IVSq8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CifVK8aEdqf6aL57Hh6KQ" name="handler" type="_4CifWq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4Cifha8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CifVa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CifVq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__cj1QK8kEdqRKeAGm8hhTw" general="__caEV68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__irEX68kEdqRKeAGm8hhTw" name="handler" type="__irEZa8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__irEkK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__irEYK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__irEYa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CifV68aEdqf6aL57Hh6KQ" annotatedElement="_4CifVK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__irEYq8kEdqRKeAGm8hhTw" annotatedElement="__irEX68kEdqRKeAGm8hhTw">

         <body>A set of exception handlers that are examined if an uncaught exception propagates to the outer level of the executable node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CifWK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifWa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEY68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEZK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CifWq8aEdqf6aL57Hh6KQ" name="ExceptionHandler">

-    <ownedComment xmi:id="_4CifW68aEdqf6aL57Hh6KQ" annotatedElement="_4CifWq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__irEZa8kEdqRKeAGm8hhTw" name="ExceptionHandler">

+    <ownedComment xmi:id="__irEZq8kEdqRKeAGm8hhTw" annotatedElement="__irEZa8kEdqRKeAGm8hhTw">

       <body>An exception handler is an element that specifies a body to execute in case the specified exception occurs during the execution of the protected node.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CifXK8aEdqf6aL57Hh6KQ" name="exception_body" constrainedElement="_4CifWq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifXa8aEdqf6aL57Hh6KQ" annotatedElement="_4CifXK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__irEZ68kEdqRKeAGm8hhTw" name="exception_body" constrainedElement="__irEZa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEaK8kEdqRKeAGm8hhTw" annotatedElement="__irEZ68kEdqRKeAGm8hhTw">

         <body>The exception handler and its input object node are not the source or target of any edge.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CifXq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__irEaa8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CifX68aEdqf6aL57Hh6KQ" name="result_pins" constrainedElement="_4CifWq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifYK8aEdqf6aL57Hh6KQ" annotatedElement="_4CifX68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__irEaq8kEdqRKeAGm8hhTw" name="result_pins" constrainedElement="__irEZa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEa68kEdqRKeAGm8hhTw" annotatedElement="__irEaq8kEdqRKeAGm8hhTw">

         <body>The result pins of the exception handler body must correspond in number and types to the result pins of the protected node.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CifYa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__irEbK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CifYq8aEdqf6aL57Hh6KQ" name="one_input" constrainedElement="_4CifWq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifY68aEdqf6aL57Hh6KQ" annotatedElement="_4CifYq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__irEba8kEdqRKeAGm8hhTw" name="one_input" constrainedElement="__irEZa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEbq8kEdqRKeAGm8hhTw" annotatedElement="__irEba8kEdqRKeAGm8hhTw">

         <body>The handler body has one input, and that input is the same as the exception input.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CifZK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__irEb68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CifZa8aEdqf6aL57Hh6KQ" name="edge_source_target" constrainedElement="_4CifWq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifZq8aEdqf6aL57Hh6KQ" annotatedElement="_4CifZa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__irEcK8kEdqRKeAGm8hhTw" name="edge_source_target" constrainedElement="__irEZa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEca8kEdqRKeAGm8hhTw" annotatedElement="__irEcK8kEdqRKeAGm8hhTw">

         <body>An edge that has a source in an exception handler structured node must have its target in the handler also, and vice versa.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CifZ68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__irEcq8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4CifaK8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4Cifaa8aEdqf6aL57Hh6KQ" name="protectedNode" type="_38SGbq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_4Cifha8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4Cifaq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4Cifa68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__irEc68kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__irEdK8kEdqRKeAGm8hhTw" name="protectedNode" type="__cj1Pq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__irEkK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__irEda8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__irEdq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CifbK8aEdqf6aL57Hh6KQ" annotatedElement="_4Cifaa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__irEd68kEdqRKeAGm8hhTw" annotatedElement="__irEdK8kEdqRKeAGm8hhTw">

         <body>The node protected by the handler. The handler is examined if an exception propagates to the outside of the node.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Cifba8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Cifbq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEeK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEea8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Cifb68aEdqf6aL57Hh6KQ" name="handlerBody" type="_38SGbq8aEdqf6aL57Hh6KQ" association="_4Cifh68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifcK8aEdqf6aL57Hh6KQ" annotatedElement="_4Cifb68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__irEeq8kEdqRKeAGm8hhTw" name="handlerBody" type="__cj1Pq8kEdqRKeAGm8hhTw" association="__irEkq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEe68kEdqRKeAGm8hhTw" annotatedElement="__irEeq8kEdqRKeAGm8hhTw">

         <body>A node that is executed if the handler satisfies an uncaught exception.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Cifca8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Cifcq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEfK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEfa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Cifc68aEdqf6aL57Hh6KQ" name="exceptionInput" type="_3838Sq8aEdqf6aL57Hh6KQ" association="_4Cifia8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifdK8aEdqf6aL57Hh6KQ" annotatedElement="_4Cifc68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__irEfq8kEdqRKeAGm8hhTw" name="exceptionInput" type="__dAhaa8kEdqRKeAGm8hhTw" association="__irElK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEf68kEdqRKeAGm8hhTw" annotatedElement="__irEfq8kEdqRKeAGm8hhTw">

         <body>An object node within the handler body. When the handler catches an exception, the exception token is placed in this node, causing the body to execute.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Cifda8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Cifdq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEgK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEga8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Cifd68aEdqf6aL57Hh6KQ" name="exceptionType" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4Cifi68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CifeK8aEdqf6aL57Hh6KQ" annotatedElement="_4Cifd68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__irEgq8kEdqRKeAGm8hhTw" name="exceptionType" type="_6UV2QGwJEdq7X4sGURiZYA" association="__irElq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__irEg68kEdqRKeAGm8hhTw" annotatedElement="__irEgq8kEdqRKeAGm8hhTw">

         <body>The kind of instances that the handler catches. If an exception occurs whose type is any of the classifiers in the set, the handler catches the exception and executes its body.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Cifea8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Cifeq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEhK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEha8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_4Cife68aEdqf6aL57Hh6KQ" name="ExpansionKind">

-    <ownedComment xmi:id="_4CiffK8aEdqf6aL57Hh6KQ" annotatedElement="_4Cife68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Enumeration" xmi:id="__irEhq8kEdqRKeAGm8hhTw" name="ExpansionKind">

+    <ownedComment xmi:id="__irEh68kEdqRKeAGm8hhTw" annotatedElement="__irEhq8kEdqRKeAGm8hhTw">

       <body>ExpansionKind is an enumeration type used to specify how multiple executions of an expansion region interact.</body>

     </ownedComment>

-    <ownedLiteral xmi:id="_4Ciffa8aEdqf6aL57Hh6KQ" name="parallel">

-      <ownedComment xmi:id="_4Ciffq8aEdqf6aL57Hh6KQ" annotatedElement="_4Ciffa8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__irEiK8kEdqRKeAGm8hhTw" name="parallel">

+      <ownedComment xmi:id="__irEia8kEdqRKeAGm8hhTw" annotatedElement="__irEiK8kEdqRKeAGm8hhTw">

         <body>The executions are independent. They may be executed concurrently.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_4Ciff68aEdqf6aL57Hh6KQ" name="iterative">

-      <ownedComment xmi:id="_4CifgK8aEdqf6aL57Hh6KQ" annotatedElement="_4Ciff68aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__irEiq8kEdqRKeAGm8hhTw" name="iterative">

+      <ownedComment xmi:id="__irEi68kEdqRKeAGm8hhTw" annotatedElement="__irEiq8kEdqRKeAGm8hhTw">

         <body>The executions are dependent and must be executed one at a time, in order of the collection elements.</body>

       </ownedComment>

     </ownedLiteral>

-    <ownedLiteral xmi:id="_4Cifga8aEdqf6aL57Hh6KQ" name="stream">

-      <ownedComment xmi:id="_4Cifgq8aEdqf6aL57Hh6KQ" annotatedElement="_4Cifga8aEdqf6aL57Hh6KQ">

+    <ownedLiteral xmi:id="__irEjK8kEdqRKeAGm8hhTw" name="stream">

+      <ownedComment xmi:id="__irEja8kEdqRKeAGm8hhTw" annotatedElement="__irEjK8kEdqRKeAGm8hhTw">

         <body>A stream of collection elements flows into a single execution, in order of the collection elements.</body>

       </ownedComment>

     </ownedLiteral>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Cifg68aEdqf6aL57Hh6KQ" name="A_outputElement_regionAsOutput" memberEnd="_4CifTK8aEdqf6aL57Hh6KQ _4CifO68aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CifhK8aEdqf6aL57Hh6KQ" name="A_inputElement_regionAsInput" memberEnd="_4CifUK8aEdqf6aL57Hh6KQ _4CifP68aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Cifha8aEdqf6aL57Hh6KQ" name="A_handler_protectedNode" memberEnd="_4CifVK8aEdqf6aL57Hh6KQ _4Cifaa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4Cifhq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEjq8kEdqRKeAGm8hhTw" name="A_outputElement_regionAsOutput" memberEnd="__irERq8kEdqRKeAGm8hhTw __irEV68kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEj68kEdqRKeAGm8hhTw" name="A_inputElement_regionAsInput" memberEnd="__irESq8kEdqRKeAGm8hhTw __irEW68kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEkK8kEdqRKeAGm8hhTw" name="A_handler_protectedNode" memberEnd="__irEX68kEdqRKeAGm8hhTw __irEdK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__irEka8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Cifh68aEdqf6aL57Hh6KQ" name="A_handlerBody_exceptionHandler" memberEnd="_4CifiK8aEdqf6aL57Hh6KQ _4Cifb68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CifiK8aEdqf6aL57Hh6KQ" type="_4CifWq8aEdqf6aL57Hh6KQ" association="_4Cifh68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEkq8kEdqRKeAGm8hhTw" name="A_handlerBody_exceptionHandler" memberEnd="__irEeq8kEdqRKeAGm8hhTw __irEk68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__irEk68kEdqRKeAGm8hhTw" type="__irEZa8kEdqRKeAGm8hhTw" association="__irEkq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Cifia8aEdqf6aL57Hh6KQ" name="A_exceptionInput_exceptionHandler" memberEnd="_4Cifiq8aEdqf6aL57Hh6KQ _4Cifc68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4Cifiq8aEdqf6aL57Hh6KQ" type="_4CifWq8aEdqf6aL57Hh6KQ" association="_4Cifia8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irElK8kEdqRKeAGm8hhTw" name="A_exceptionInput_exceptionHandler" memberEnd="__irEfq8kEdqRKeAGm8hhTw __irEla8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__irEla8kEdqRKeAGm8hhTw" type="__irEZa8kEdqRKeAGm8hhTw" association="__irElK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4Cifi68aEdqf6aL57Hh6KQ" name="A_exceptionType_exceptionHandler" memberEnd="_4Cifd68aEdqf6aL57Hh6KQ _4CifjK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CifjK8aEdqf6aL57Hh6KQ" type="_4CifWq8aEdqf6aL57Hh6KQ" association="_4Cifi68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irElq8kEdqRKeAGm8hhTw" name="A_exceptionType_exceptionHandler" memberEnd="__irEgq8kEdqRKeAGm8hhTw __irEl68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__irEl68kEdqRKeAGm8hhTw" type="__irEZa8kEdqRKeAGm8hhTw" association="__irElq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_DAbfwa69EdqjppZik4kD8A" name="Component">

-    <ownedComment xmi:id="_3-EO668aEdqf6aL57Hh6KQ" annotatedElement="_DAbfwa69EdqjppZik4kD8A">

+    <ownedComment xmi:id="__eM0Nq8kEdqRKeAGm8hhTw" annotatedElement="_DAbfwa69EdqjppZik4kD8A">

       <body>A component is a subtype of Class which provides for a Component having attributes and operations, and being able to participate in Associations and Generalizations. A Component may form the abstraction for a set of realizingClassifiers that realize its behavior. In addition, because a Class itself is a subtype of an EncapsulatedClassifier, a Component may optionally have an internal structure and own a set of Ports that formalize its interaction points.

 

 

@@ -12799,53 +12799,53 @@
 

 </body>

     </ownedComment>

-    <generalization xmi:id="_3-EO7K8aEdqf6aL57Hh6KQ" general="_00owUGvdEdq4DLWZOhbdEA"/>

-    <generalization xmi:id="_4Cifja8aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_3-EO7q8aEdqf6aL57Hh6KQ" name="isIndirectlyInstantiated" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_3-EO768aEdqf6aL57Hh6KQ" annotatedElement="_3-EO7q8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eM0N68kEdqRKeAGm8hhTw" general="_00owUGvdEdq4DLWZOhbdEA"/>

+    <generalization xmi:id="__irEmK8kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__eM0Oa8kEdqRKeAGm8hhTw" name="isIndirectlyInstantiated" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__eM0Oq8kEdqRKeAGm8hhTw" annotatedElement="__eM0Oa8kEdqRKeAGm8hhTw">

         <body>The kind of instantiation that applies to a Component. If false, the component is instantiated as an addressable object. If true, the Component is defined at design-time, but at runtime (or execution-time) an object specified by the Component does not exist, that is, the component is instantiated indirectly, through the instantiation of its realizing classifiers or parts. Several standard stereotypes use this meta attribute, e.g. «specification, «focus», «subsystem».</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3-EO8K8aEdqf6aL57Hh6KQ" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__eM0O68kEdqRKeAGm8hhTw" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-EO8a8aEdqf6aL57Hh6KQ" name="required" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_3-EPUK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-EO8q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-EO868aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__eM0PK8kEdqRKeAGm8hhTw" name="required" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="__eV96a8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eM0Pa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eM0Pq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-EO9K8aEdqf6aL57Hh6KQ" annotatedElement="_3-EO8a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eM0P68kEdqRKeAGm8hhTw" annotatedElement="__eM0PK8kEdqRKeAGm8hhTw">

         <body>The interfaces that the component requires from other components in its environment in order to be able to offer its full set of provided functionality. These interfaces may be Used by the Component or any of its realizingClassifiers, or they may be the Interfaces that are required by its public Ports.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EO9a8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EO9q8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0QK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0Qa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-EO968aEdqf6aL57Hh6KQ" name="provided" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_3-EPUq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-EO-K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-EO-a8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__eM0Qq8kEdqRKeAGm8hhTw" name="provided" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="__eV9668kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eM0Q68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eM0RK8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-EO-q8aEdqf6aL57Hh6KQ" annotatedElement="_3-EO968aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eM0Ra8kEdqRKeAGm8hhTw" annotatedElement="__eM0Qq8kEdqRKeAGm8hhTw">

         <body>The interfaces that the component exposes to its environment. These interfaces may be Realized by the Component or any of its realizingClassifiers, or they may be the Interfaces that are provided by its public Ports.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EO-68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EO_K8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0Rq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0R68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-EO_a8aEdqf6aL57Hh6KQ" name="realization" type="_3-EPI68aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3-EPVK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3-EO_q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-EO_68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__eM0SK8kEdqRKeAGm8hhTw" name="realization" type="__eM0bq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__eV97a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__eM0Sa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eM0Sq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-EPAK8aEdqf6aL57Hh6KQ" annotatedElement="_3-EO_a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eM0S68kEdqRKeAGm8hhTw" annotatedElement="__eM0SK8kEdqRKeAGm8hhTw">

         <body>The set of Realizations owned by the Component. Realizations reference the Classifiers of which the Component is an abstraction; i.e., that realize its behavior.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPAa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPAq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0TK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0Ta8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Cifjq8aEdqf6aL57Hh6KQ" name="packagedElement" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_4CiflK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4Cifj68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CifkK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__irEma8kEdqRKeAGm8hhTw" name="packagedElement" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__irEn68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__irEmq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__irEm68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Cifka8aEdqf6aL57Hh6KQ" annotatedElement="_4Cifjq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__irEnK8kEdqRKeAGm8hhTw" annotatedElement="__irEma8kEdqRKeAGm8hhTw">

         <body>The set of PackageableElements that a Component owns. In the namespace of a component, all model elements that are involved in or related to its definition may be owned or imported explicitly. These may include e.g. Classes, Interfaces, Components, Packages, Use cases, Dependencies (e.g. mappings), and Artifacts.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Cifkq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Cifk68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEna8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEnq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_IJwKAK69EdqjppZik4kD8A" name="createOwnedClass" type="_00owUGvdEdq4DLWZOhbdEA">

       <returnResult xmi:id="_IJwKAa69EdqjppZik4kD8A" type="_00owUGvdEdq4DLWZOhbdEA" direction="return"/>

@@ -12864,46 +12864,46 @@
       <returnResult xmi:id="_IJwKC669EdqjppZik4kD8A" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return"/>

       <ownedParameter xmi:id="_IJwKDK69EdqjppZik4kD8A" name="name" type="_aAyVgGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3-EPA68aEdqf6aL57Hh6KQ" name="realizedInterfaces" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3-EPBa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPBK8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPA68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__eM0Tq8kEdqRKeAGm8hhTw" name="realizedInterfaces" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__eM0UK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eM0T68kEdqRKeAGm8hhTw" annotatedElement="__eM0Tq8kEdqRKeAGm8hhTw">

         <body>Utility returning the set of realized interfaces of a component:</body>

       </ownedComment>

-      <ownedRule xmi:id="_3-EPBa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3-EPA68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPBq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__eM0UK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__eM0Tq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0Ua8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (classifier.clientDependency->

 select(dependency|dependency.oclIsKindOf(Realization) and dependency.supplier.oclIsKindOf(Interface)))->

 collect(dependency|dependency.client)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3-EPB68aEdqf6aL57Hh6KQ" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPCK8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPCa8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__eM0Uq8kEdqRKeAGm8hhTw" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0U68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0VK8kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_3-EPCq8aEdqf6aL57Hh6KQ" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" effect="read"/>

+      <ownedParameter xmi:id="__eM0Va8kEdqRKeAGm8hhTw" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3-EPC68aEdqf6aL57Hh6KQ" name="usedInterfaces" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3-EPDa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-EPDK8aEdqf6aL57Hh6KQ" annotatedElement="_3-EPC68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__eM0Vq8kEdqRKeAGm8hhTw" name="usedInterfaces" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__eM0WK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eM0V68kEdqRKeAGm8hhTw" annotatedElement="__eM0Vq8kEdqRKeAGm8hhTw">

         <body>Utility returning the set of used interfaces of a component:</body>

       </ownedComment>

-      <ownedRule xmi:id="_3-EPDa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3-EPC68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPDq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__eM0WK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__eM0Vq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0Wa8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (classifier.supplierDependency->

 select(dependency|dependency.oclIsKindOf(Usage) and dependency.supplier.oclIsKindOf(interface)))->

 collect(dependency|dependency.supplier)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3-EPD68aEdqf6aL57Hh6KQ" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPEK8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPEa8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__eM0Wq8kEdqRKeAGm8hhTw" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0W68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0XK8kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_3-EPEq8aEdqf6aL57Hh6KQ" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" effect="read"/>

+      <ownedParameter xmi:id="__eM0Xa8kEdqRKeAGm8hhTw" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3-EPE68aEdqf6aL57Hh6KQ" name="required" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3-EPFq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-EPFK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_3-EPFa8aEdqf6aL57Hh6KQ" operationName="getRequireds"/>

+    <ownedOperation xmi:id="__eM0Xq8kEdqRKeAGm8hhTw" name="required" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__eM0Ya8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eM0X68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__eM0YK8kEdqRKeAGm8hhTw" operationName="getRequireds"/>

       </eAnnotations>

-      <ownedRule xmi:id="_3-EPFq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3-EPE68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPF68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__eM0Ya8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__eM0Xq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0Yq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = let usedInterfaces = UsedInterfaces(self) and

 

   let realizingClassifierUsedInterfaces = UsedInterfaces(self.realizingClassifier) and

@@ -12915,17 +12915,17 @@
       union(typesOfUsedPorts))->asSet()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3-EPGK8aEdqf6aL57Hh6KQ" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPGa8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPGq8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__eM0Y68kEdqRKeAGm8hhTw" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0ZK8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0Za8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_3-EPG68aEdqf6aL57Hh6KQ" name="provided" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3-EPHq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-EPHK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_3-EPHa8aEdqf6aL57Hh6KQ" operationName="getProvideds"/>

+    <ownedOperation xmi:id="__eM0Zq8kEdqRKeAGm8hhTw" name="provided" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__eM0aa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eM0Z68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__eM0aK8kEdqRKeAGm8hhTw" operationName="getProvideds"/>

       </eAnnotations>

-      <ownedRule xmi:id="_3-EPHq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3-EPG68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-EPH68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__eM0aa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__eM0Zq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__eM0aq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = let implementedInterfaces = self.implementation->collect(impl|impl.contract) and

 

   let realizedInterfaces = RealizedInterfaces(self) and

@@ -12939,114 +12939,114 @@
       union(typesOfRequiredPorts))->asSet()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3-EPIK8aEdqf6aL57Hh6KQ" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-EPIa8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-EPIq8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__eM0a68kEdqRKeAGm8hhTw" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0bK8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0ba8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CiflK8aEdqf6aL57Hh6KQ" name="A_component_packagedElement" memberEnd="_4Ciflq8aEdqf6aL57Hh6KQ _4Cifjq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4Cifla8aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4Ciflq8aEdqf6aL57Hh6KQ" type="_DAbfwa69EdqjppZik4kD8A" association="_4CiflK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Cifl68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CifmK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__irEn68kEdqRKeAGm8hhTw" name="A_component_packagedElement" memberEnd="__irEoa8kEdqRKeAGm8hhTw __irEma8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__irEoK8kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__irEoa8kEdqRKeAGm8hhTw" type="_DAbfwa69EdqjppZik4kD8A" association="__irEn68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEoq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEo68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3-OABK8aEdqf6aL57Hh6KQ" name="Deployment">

-    <ownedComment xmi:id="_3-OABa8aEdqf6aL57Hh6KQ" annotatedElement="_3-OABK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__eV-Oq8kEdqRKeAGm8hhTw" name="Deployment">

+    <ownedComment xmi:id="__eV-O68kEdqRKeAGm8hhTw" annotatedElement="__eV-Oq8kEdqRKeAGm8hhTw">

       <body>In the metamodel, Deployment is a subtype of Dependency.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4Cifma8aEdqf6aL57Hh6KQ" annotatedElement="_3-OABK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__irEpK8kEdqRKeAGm8hhTw" annotatedElement="__eV-Oq8kEdqRKeAGm8hhTw">

       <body>A component deployment is the deployment of one or more artifacts or artifact instances to a deployment target, optionally parameterized by a deployment specification. Examples are executables and configuration files.</body>

     </ownedComment>

-    <generalization xmi:id="_3-OABq8aEdqf6aL57Hh6KQ" general="_rEDGkGwKEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_3-OAB68aEdqf6aL57Hh6KQ" name="deployedArtifact" type="_3-OAO68aEdqf6aL57Hh6KQ" subsettedProperty="_38bQLa8aEdqf6aL57Hh6KQ" association="_3-OAVK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3-OACK8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAB68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eV-PK8kEdqRKeAGm8hhTw" general="_rEDGkGwKEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__eV-Pa8kEdqRKeAGm8hhTw" name="deployedArtifact" type="__eV-ca8kEdqRKeAGm8hhTw" subsettedProperty="__cj1jq8kEdqRKeAGm8hhTw" association="__efu5q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eV-Pq8kEdqRKeAGm8hhTw" annotatedElement="__eV-Pa8kEdqRKeAGm8hhTw">

         <body>The Artifacts that are deployed onto a Node. This association specializes the supplier association.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-OACa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-OACq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-P68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-QK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3-OAC68aEdqf6aL57Hh6KQ" name="location" type="_3-OAJK8aEdqf6aL57Hh6KQ" subsettedProperty="_38bQMa8aEdqf6aL57Hh6KQ" association="_3-OAWa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3-OADK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3-OADa8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__eV-Qa8kEdqRKeAGm8hhTw" name="location" type="__eV-Wq8kEdqRKeAGm8hhTw" subsettedProperty="__ctmIK8kEdqRKeAGm8hhTw" association="__efu668kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eV-Qq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eV-Q68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3-OADq8aEdqf6aL57Hh6KQ" annotatedElement="_3-OAC68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eV-RK8kEdqRKeAGm8hhTw" annotatedElement="__eV-Qa8kEdqRKeAGm8hhTw">

         <body>The DeployedTarget which is the target of a Deployment.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3-OAD68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3-OAEK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eV-Ra8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eV-Rq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Cifmq8aEdqf6aL57Hh6KQ" name="configuration" type="_4CsQIK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4CsQO68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4Cifm68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CifnK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__irEpa8kEdqRKeAGm8hhTw" name="configuration" type="__i0OIK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__i0OO68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__irEpq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__irEp68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4Cifna8aEdqf6aL57Hh6KQ" annotatedElement="_4Cifmq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__irEqK8kEdqRKeAGm8hhTw" annotatedElement="__irEpa8kEdqRKeAGm8hhTw">

         <body>The specification of properties that parameterize the deployment and execution of one or more Artifacts. This association is specialized from the ownedMember association.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Cifnq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Cifn68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__irEqa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__irEqq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CsQIK8aEdqf6aL57Hh6KQ" name="DeploymentSpecification">

-    <ownedComment xmi:id="_4CsQIa8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQIK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i0OIK8kEdqRKeAGm8hhTw" name="DeploymentSpecification">

+    <ownedComment xmi:id="__i0OIa8kEdqRKeAGm8hhTw" annotatedElement="__i0OIK8kEdqRKeAGm8hhTw">

       <body>In the metamodel, a DeploymentSpecification is a subtype of Artifact. It defines a set of deployment properties that are specific to a certain Container type. An instance of a DeploymentSpecification with specific values for these properties may be contained in a complex Artifact.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CsQIq8aEdqf6aL57Hh6KQ" name="deployed_elements" constrainedElement="_4CsQIK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQI68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQIq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0OIq8kEdqRKeAGm8hhTw" name="deployed_elements" constrainedElement="__i0OIK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0OI68kEdqRKeAGm8hhTw" annotatedElement="__i0OIq8kEdqRKeAGm8hhTw">

         <body>The deployedElements of a DeploymentTarget that are involved in a Deployment that has an associated Deployment-Specification is a kind of Component (i.e. the configured components).</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQJK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0OJK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.deployment->forAll (d | d.location.deployedElements->forAll (de |

 

   de.oclIsKindOf(Component)))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CsQJa8aEdqf6aL57Hh6KQ" name="deployment_target" constrainedElement="_4CsQIK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQJq8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQJa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0OJa8kEdqRKeAGm8hhTw" name="deployment_target" constrainedElement="__i0OIK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0OJq8kEdqRKeAGm8hhTw" annotatedElement="__i0OJa8kEdqRKeAGm8hhTw">

         <body>The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQJ68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0OJ68kEdqRKeAGm8hhTw" language="OCL">

         <body>result = self.deployment->forAll (d | d.location..oclIsKindOf(ExecutionEnvironment))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4CsQKK8aEdqf6aL57Hh6KQ" general="_-lGRgHLzEdqziYxiZo0YtA"/>

-    <ownedAttribute xmi:id="_4CsQKa8aEdqf6aL57Hh6KQ" name="deploymentLocation" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_4CsQKq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4CsQK68aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <generalization xmi:id="__i0OKK8kEdqRKeAGm8hhTw" general="_-lGRgHLzEdqziYxiZo0YtA"/>

+    <ownedAttribute xmi:id="__i0OKa8kEdqRKeAGm8hhTw" name="deploymentLocation" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__i0OKq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__i0OK68kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQLK8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQKa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0OLK8kEdqRKeAGm8hhTw" annotatedElement="__i0OKa8kEdqRKeAGm8hhTw">

         <body>The location where an Artifact is deployed onto a Node. This is typically a 'directory' or 'memory address'.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQLa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQLq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OLa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OLq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CsQL68aEdqf6aL57Hh6KQ" name="executionLocation" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_4CsQMK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_4CsQMa8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__i0OL68kEdqRKeAGm8hhTw" name="executionLocation" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__i0OMK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__i0OMa8kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQMq8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQL68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0OMq8kEdqRKeAGm8hhTw" annotatedElement="__i0OL68kEdqRKeAGm8hhTw">

         <body>The location where a component Artifact executes. This may be a local or remote location.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQM68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQNK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OM68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0ONK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CsQNa8aEdqf6aL57Hh6KQ" name="deployment" type="_3-OABK8aEdqf6aL57Hh6KQ" association="_4CsQO68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4CsQNq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CsQN68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__i0ONa8kEdqRKeAGm8hhTw" name="deployment" type="__eV-Oq8kEdqRKeAGm8hhTw" association="__i0OO68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i0ONq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i0ON68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQOK8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQNa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0OOK8kEdqRKeAGm8hhTw" annotatedElement="__i0ONa8kEdqRKeAGm8hhTw">

         <body>The deployment with which the DeploymentSpecification is associated.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQOa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQOq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OOa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OOq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CsQO68aEdqf6aL57Hh6KQ" name="A_configuration_deployment" memberEnd="_4Cifmq8aEdqf6aL57Hh6KQ _4CsQNa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CsQPK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__i0OO68kEdqRKeAGm8hhTw" name="A_configuration_deployment" memberEnd="__irEpa8kEdqRKeAGm8hhTw __i0ONa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__i0OPK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CsQPa8aEdqf6aL57Hh6KQ" name="ProtocolConformance">

-    <ownedComment xmi:id="_4CsQPq8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQPa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i0OPa8kEdqRKeAGm8hhTw" name="ProtocolConformance">

+    <ownedComment xmi:id="__i0OPq8kEdqRKeAGm8hhTw" annotatedElement="__i0OPa8kEdqRKeAGm8hhTw">

       <body>Protocol state machines can be redefined into more specific protocol state machines, or into behavioral state machines.

 

 

@@ -13059,104 +13059,104 @@
 

 </body>

     </ownedComment>

-    <generalization xmi:id="_4CsQP68aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_4CsQQK8aEdqf6aL57Hh6KQ" name="specificMachine" type="_4CsQdK8aEdqf6aL57Hh6KQ" subsettedProperty="_33N_8a8aEdqf6aL57Hh6KQ _33OACq8aEdqf6aL57Hh6KQ" association="_4CsQkq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4CsQQa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CsQQq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__i0OP68kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__i0OQK8kEdqRKeAGm8hhTw" name="specificMachine" type="__i0OdK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk0K8kEdqRKeAGm8hhTw __YFk6a8kEdqRKeAGm8hhTw" association="__i0Okq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i0OQa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i0OQq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQQ68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQQK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0OQ68kEdqRKeAGm8hhTw" annotatedElement="__i0OQK8kEdqRKeAGm8hhTw">

         <body>Specifies the state machine which conforms to the general state machine.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQRK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQRa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0ORK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0ORa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CsQRq8aEdqf6aL57Hh6KQ" name="generalMachine" type="_4CsQdK8aEdqf6aL57Hh6KQ" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_4CsQpK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQR68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQRq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__i0ORq8kEdqRKeAGm8hhTw" name="generalMachine" type="__i0OdK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__i0OpK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0OR68kEdqRKeAGm8hhTw" annotatedElement="__i0ORq8kEdqRKeAGm8hhTw">

         <body>Specifies the protocol state machine to which the specific state machine conforms.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQSK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQSa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OSK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OSa8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_8Ugn8GvtEdqG6fBIPwe-mw" name="Interface">

-    <ownedComment xmi:id="_38lBEK8aEdqf6aL57Hh6KQ" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__ctmWa8kEdqRKeAGm8hhTw" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">

       <body>An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and post-conditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface.

 

 Since interfaces are declarations, they are not instantiable. Instead, an interface specification is implemented by an instance of an instantiable classifier, which means that the instantiable classifier presents a public facade that conforms to the interface specification. Note that a given classifier may implement more than one interface and that an interface may be implemented by a number of different classifiers.

 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_39njJK8aEdqf6aL57Hh6KQ" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__dwIOa8kEdqRKeAGm8hhTw" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">

       <body>Adds the capability for interfaces to include receptions (in addition to operations).</body>

     </ownedComment>

-    <ownedComment xmi:id="_4CsQSq8aEdqf6aL57Hh6KQ" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__i0OSq8kEdqRKeAGm8hhTw" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">

       <body>Since an interface specifies conformance characteristics, it does not own detailed behavior specifications. Instead, interfaces may own a protocol state machine that specifies event sequences and pre/post conditions for the operations and receptions described by the interface.</body>

     </ownedComment>

-    <ownedRule xmi:id="_38lBEa8aEdqf6aL57Hh6KQ" name="visibility" constrainedElement="_8Ugn8GvtEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_38lBEq8aEdqf6aL57Hh6KQ" annotatedElement="_38lBEa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ctmWq8kEdqRKeAGm8hhTw" name="visibility" constrainedElement="_8Ugn8GvtEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__ctmW68kEdqRKeAGm8hhTw" annotatedElement="__ctmWq8kEdqRKeAGm8hhTw">

         <body>The visibility of all features owned by an interface must be public.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_38lBE68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__ctmXK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.feature->forAll(f | f.visibility = #public)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38lBFK8aEdqf6aL57Hh6KQ" general="_6UV2QGwJEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_38lBFa8aEdqf6aL57Hh6KQ" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_326d8K8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_38lBRq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38lBFq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38lBF68aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__ctmXa8kEdqRKeAGm8hhTw" general="_6UV2QGwJEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__ctmXq8kEdqRKeAGm8hhTw" name="ownedAttribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__Xyp6K8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__c2wKq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ctmX68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ctmYK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38lBGK8aEdqf6aL57Hh6KQ" annotatedElement="_38lBFa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ctmYa8kEdqRKeAGm8hhTw" annotatedElement="__ctmXq8kEdqRKeAGm8hhTw">

         <body>The attributes (i.e. the properties) owned by the class.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBGa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBGq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmYq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmY68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38lBG68aEdqf6aL57Hh6KQ" name="ownedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_326d9q8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_38lBTK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38lBHK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38lBHa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ctmZK8kEdqRKeAGm8hhTw" name="ownedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__Xyp7q8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__c2wMK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ctmZa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ctmZq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38lBHq8aEdqf6aL57Hh6KQ" annotatedElement="_38lBG68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ctmZ68kEdqRKeAGm8hhTw" annotatedElement="__ctmZK8kEdqRKeAGm8hhTw">

         <body>The operations owned by the class.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBH68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBIK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmaK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmaa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38lBIa8aEdqf6aL57Hh6KQ" name="nestedClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" isOrdered="true" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_38lBWK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38lBIq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38lBI68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ctmaq8kEdqRKeAGm8hhTw" name="nestedClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" isOrdered="true" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__c2wPK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ctma68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ctmbK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38lBJK8aEdqf6aL57Hh6KQ" annotatedElement="_38lBIa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ctmba8kEdqRKeAGm8hhTw" annotatedElement="__ctmaq8kEdqRKeAGm8hhTw">

         <body>References all the Classifiers that are defined (nested) within the Class.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBJa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBJq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmbq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmb68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38lBJ68aEdqf6aL57Hh6KQ" name="redefinedInterface" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_38lBXq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38lBKK8aEdqf6aL57Hh6KQ" annotatedElement="_38lBJ68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ctmcK8kEdqRKeAGm8hhTw" name="redefinedInterface" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__c2wQq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ctmca8kEdqRKeAGm8hhTw" annotatedElement="__ctmcK8kEdqRKeAGm8hhTw">

         <body>References all the Interfaces redefined by this Interface.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBKa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBKq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmcq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmc68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39njJa8aEdqf6aL57Hh6KQ" name="ownedReception" type="_39njK68aEdqf6aL57Hh6KQ" subsettedProperty="_326d9q8aEdqf6aL57Hh6KQ _33XKEa8aEdqf6aL57Hh6KQ" association="_39xT9K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39njJq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39njJ68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dwIOq8kEdqRKeAGm8hhTw" name="ownedReception" type="__dwIQK8kEdqRKeAGm8hhTw" subsettedProperty="__Xyp7q8kEdqRKeAGm8hhTw __YPV8a8kEdqRKeAGm8hhTw" association="__d55Ea8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dwIO68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dwIPK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39njKK8aEdqf6aL57Hh6KQ" annotatedElement="_39njJa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dwIPa8kEdqRKeAGm8hhTw" annotatedElement="__dwIOq8kEdqRKeAGm8hhTw">

         <body>Receptions that objects providing this interface are willing to accept.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39njKa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39njKq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dwIPq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dwIP68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CsQS68aEdqf6aL57Hh6KQ" name="protocol" type="_4CsQdK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_4CsQnq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CsQTK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CsQTa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i0OS68kEdqRKeAGm8hhTw" name="protocol" type="__i0OdK8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__i0Onq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i0OTK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i0OTa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQTq8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQS68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0OTq8kEdqRKeAGm8hhTw" annotatedElement="__i0OS68kEdqRKeAGm8hhTw">

         <body>References a protocol state machine specifying the legal sequences of the invocation of the behavioral features described in the interface.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQT68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQUK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OT68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OUK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_FzLo0HL0EdqziYxiZo0YtA" name="createOwnedOperation" type="_M4X2IGveEdq4DLWZOhbdEA">

       <returnResult xmi:id="_FzLo0XL0EdqziYxiZo0YtA" type="_M4X2IGveEdq4DLWZOhbdEA" direction="return"/>

@@ -13192,7 +13192,7 @@
     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_ZAuvEGveEdq4DLWZOhbdEA" name="Port">

-    <ownedComment xmi:id="_397FK68aEdqf6aL57Hh6KQ" annotatedElement="_ZAuvEGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__eMz5a8kEdqRKeAGm8hhTw" annotatedElement="_ZAuvEGveEdq4DLWZOhbdEA">

       <body>Ports represent interaction points between a classifier and its environment. The interfaces associated with a port specify the nature of the interactions that may occur over a port. The required interfaces of a port characterize the requests which may be made from the classifier to its environment through this port. The provided interfaces of a port characterize requests to the classifier that its environment may make through this port.

 

 

@@ -13201,89 +13201,89 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_4CsQUa8aEdqf6aL57Hh6KQ" annotatedElement="_ZAuvEGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__i0OUa8kEdqRKeAGm8hhTw" annotatedElement="_ZAuvEGveEdq4DLWZOhbdEA">

       <body>Port is defined as a specialization of the general Port, adding an association to a protocol state machine.</body>

     </ownedComment>

-    <ownedRule xmi:id="_397FLK8aEdqf6aL57Hh6KQ" name="required_interfaces" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_397FLa8aEdqf6aL57Hh6KQ" annotatedElement="_397FLK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eMz5q8kEdqRKeAGm8hhTw" name="required_interfaces" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__eMz568kEdqRKeAGm8hhTw" annotatedElement="__eMz5q8kEdqRKeAGm8hhTw">

         <body>The required interfaces of a port must be provided by elements to which the port is connected.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397FLq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eMz6K8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397FL68aEdqf6aL57Hh6KQ" name="port_aggregation" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_397FMK8aEdqf6aL57Hh6KQ" annotatedElement="_397FL68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eMz6a8kEdqRKeAGm8hhTw" name="port_aggregation" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__eMz6q8kEdqRKeAGm8hhTw" annotatedElement="__eMz6a8kEdqRKeAGm8hhTw">

         <body>Port.aggregation must be composite.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397FMa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eMz668kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397FMq8aEdqf6aL57Hh6KQ" name="port_destroyed" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_397FM68aEdqf6aL57Hh6KQ" annotatedElement="_397FMq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eMz7K8kEdqRKeAGm8hhTw" name="port_destroyed" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__eMz7a8kEdqRKeAGm8hhTw" annotatedElement="__eMz7K8kEdqRKeAGm8hhTw">

         <body>When a port is destroyed, all connectors attached to this port will be destroyed also.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397FNK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eMz7q8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_397FNa8aEdqf6aL57Hh6KQ" name="default_value" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_397FNq8aEdqf6aL57Hh6KQ" annotatedElement="_397FNa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__eMz768kEdqRKeAGm8hhTw" name="default_value" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__eMz8K8kEdqRKeAGm8hhTw" annotatedElement="__eMz768kEdqRKeAGm8hhTw">

         <body>A defaultValue for port cannot be specified when the type of the Port is an Interface</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_397FN68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__eMz8a8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_397FOK8aEdqf6aL57Hh6KQ" general="_Jp_1oGveEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_397FOa8aEdqf6aL57Hh6KQ" name="isBehavior" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_397FOq8aEdqf6aL57Hh6KQ" annotatedElement="_397FOa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__eMz8q8kEdqRKeAGm8hhTw" general="_Jp_1oGveEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__eMz868kEdqRKeAGm8hhTw" name="isBehavior" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__eMz9K8kEdqRKeAGm8hhTw" annotatedElement="__eMz868kEdqRKeAGm8hhTw">

         <body>Specifies whether requests arriving at this port are sent to the classifier behavior of this classifier. Such ports are referred to as behavior port. Any invocation of a behavioral feature targeted at a behavior port will be handled by the instance of the owning classifier itself, rather than by any instances that this classifier may contain.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_397FO68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__eMz9a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_397FPK8aEdqf6aL57Hh6KQ" name="isService" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_397FPa8aEdqf6aL57Hh6KQ" annotatedElement="_397FPK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eMz9q8kEdqRKeAGm8hhTw" name="isService" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__eMz968kEdqRKeAGm8hhTw" annotatedElement="__eMz9q8kEdqRKeAGm8hhTw">

         <body>If true indicates that this port is used to provide the published functionality of a classifier; if false, this port is used to implement the classifier but is not part of the essential externally-visible functionality of the classifier and can, therefore, be altered or deleted along with the internal implementation of the classifier and other properties that are considered part of its implementation.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_397FPq8aEdqf6aL57Hh6KQ" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__eMz-K8kEdqRKeAGm8hhTw" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_397FP68aEdqf6aL57Hh6KQ" name="required" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_3-EO2q8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_397FQK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_397FQa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__eMz-a8kEdqRKeAGm8hhTw" name="required" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="__eM0Ja8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eMz-q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eMz-68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_397FQq8aEdqf6aL57Hh6KQ" annotatedElement="_397FP68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eMz_K8kEdqRKeAGm8hhTw" annotatedElement="__eMz-a8kEdqRKeAGm8hhTw">

         <body>References the interfaces specifying the set of operations and receptions which the classifier expects its environment to handle. This association is derived as the set of interfaces required by the type of the port or its supertypes.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FQ68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FRK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eMz_a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eMz_q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_397FRa8aEdqf6aL57Hh6KQ" name="redefinedPort" type="_ZAuvEGveEdq4DLWZOhbdEA" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_3-EO3q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_397FRq8aEdqf6aL57Hh6KQ" annotatedElement="_397FRa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__eMz_68kEdqRKeAGm8hhTw" name="redefinedPort" type="_ZAuvEGveEdq4DLWZOhbdEA" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__eM0Ka8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__eM0AK8kEdqRKeAGm8hhTw" annotatedElement="__eMz_68kEdqRKeAGm8hhTw">

         <body>A port may be redefined when its containing classifier is specialized. The redefining port may have additional interfaces to those that are associated with the redefined port or it may replace an interface by one of its subtypes.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FR68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FSK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0Aa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0Aq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_397FSa8aEdqf6aL57Hh6KQ" name="provided" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_3-EO468aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_397FSq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_397FS68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__eM0A68kEdqRKeAGm8hhTw" name="provided" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="__eM0Lq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__eM0BK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__eM0Ba8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_397FTK8aEdqf6aL57Hh6KQ" annotatedElement="_397FSa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__eM0Bq8kEdqRKeAGm8hhTw" annotatedElement="__eM0A68kEdqRKeAGm8hhTw">

         <body>References the interfaces specifying the set of operations and receptions which the classifier offers to its environment, and which it will handle either directly or by forwarding it to a part of its internal structure. This association is derived from the interfaces realized by the type of the port or by the type of the port, if the port was typed by an interface.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_397FTa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_397FTq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__eM0B68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__eM0CK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CsQUq8aEdqf6aL57Hh6KQ" name="protocol" type="_4CsQdK8aEdqf6aL57Hh6KQ" association="_4CsQla8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQU68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQUq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__i0OUq8kEdqRKeAGm8hhTw" name="protocol" type="__i0OdK8kEdqRKeAGm8hhTw" association="__i0Ola8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0OU68kEdqRKeAGm8hhTw" annotatedElement="__i0OUq8kEdqRKeAGm8hhTw">

         <body>References an optional protocol state machine which describes valid interactions at this interaction point.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQVK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQVa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OVK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OVa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_gtr8cFYhEdqB6vblk3tuMA" name="getProvideds" type="_8Ugn8GvtEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_jIqKEFYhEdqB6vblk3tuMA" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">

@@ -13298,8 +13298,8 @@
       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CsQVq8aEdqf6aL57Hh6KQ" name="ProtocolTransition">

-    <ownedComment xmi:id="_4CsQV68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQVq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i0OVq8kEdqRKeAGm8hhTw" name="ProtocolTransition">

+    <ownedComment xmi:id="__i0OV68kEdqRKeAGm8hhTw" annotatedElement="__i0OVq8kEdqRKeAGm8hhTw">

       <body>A protocol transition (transition as specialized in the ProtocolStateMachines package) specifies a legal transition for an operation. Transitions of protocol state machines have the following information: a pre condition (guard), on trigger, and a post condition. Every protocol transition is associated to zero or one operation (referred BehavioralFeature) that belongs to the context classifier of the protocol state machine.

 

 

@@ -13308,126 +13308,126 @@
 

 </body>

     </ownedComment>

-    <ownedRule xmi:id="_4CsQWK8aEdqf6aL57Hh6KQ" name="belongs_to_psm" constrainedElement="_4CsQVq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQWa8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQWK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0OWK8kEdqRKeAGm8hhTw" name="belongs_to_psm" constrainedElement="__i0OVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0OWa8kEdqRKeAGm8hhTw" annotatedElement="__i0OWK8kEdqRKeAGm8hhTw">

         <body>A protocol transition always belongs to a protocol state machine.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQWq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0OWq8kEdqRKeAGm8hhTw" language="OCL">

         <body>container.belongsToPSM()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CsQW68aEdqf6aL57Hh6KQ" name="associated_actions" constrainedElement="_4CsQVq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQXK8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQW68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0OW68kEdqRKeAGm8hhTw" name="associated_actions" constrainedElement="__i0OVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0OXK8kEdqRKeAGm8hhTw" annotatedElement="__i0OW68kEdqRKeAGm8hhTw">

         <body>A protocol transition never has associated actions.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQXa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0OXa8kEdqRKeAGm8hhTw" language="OCL">

         <body>effect->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CsQXq8aEdqf6aL57Hh6KQ" name="refers_to_operation" constrainedElement="_4CsQVq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQX68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQXq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0OXq8kEdqRKeAGm8hhTw" name="refers_to_operation" constrainedElement="__i0OVq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0OX68kEdqRKeAGm8hhTw" annotatedElement="__i0OXq8kEdqRKeAGm8hhTw">

         <body>If a protocol transition refers to an operation (i. e. has a call trigger corresponding to an operation), then that operation should apply to the context classifier of the state machine of the protocol transition.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQYK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0OYK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4CsQYa8aEdqf6aL57Hh6KQ" general="_3_kEMK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CsQYq8aEdqf6aL57Hh6KQ" name="postCondition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKHa8aEdqf6aL57Hh6KQ" association="_4CsQma8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CsQY68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CsQZK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__i0OYa8kEdqRKeAGm8hhTw" general="__g4UcK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__i0OYq8kEdqRKeAGm8hhTw" name="postCondition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YPV_a8kEdqRKeAGm8hhTw" association="__i0Oma8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i0OY68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i0OZK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQZa8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQYq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0OZa8kEdqRKeAGm8hhTw" annotatedElement="__i0OYq8kEdqRKeAGm8hhTw">

         <body>Specifies the post condition of the transition which is the condition that should be obtained once the transition is triggered. This post condition is part of the post condition of the operation connected to the transition.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQZq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQZ68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OZq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OZ68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CsQaK8aEdqf6aL57Hh6KQ" name="referred" type="_M4X2IGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_4CsQqa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4CsQaa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CsQaq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__i0OaK8kEdqRKeAGm8hhTw" name="referred" type="_M4X2IGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="__i0Oqa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i0Oaa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i0Oaq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQa68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQaK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0Oa68kEdqRKeAGm8hhTw" annotatedElement="__i0OaK8kEdqRKeAGm8hhTw">

         <body>This association refers to the associated operation. It is derived from the operation of the call trigger when applicable.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQbK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQba8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0ObK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0Oba8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4CsQbq8aEdqf6aL57Hh6KQ" name="preCondition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_3_kEXq8aEdqf6aL57Hh6KQ" association="_4CsQra8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CsQb68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CsQcK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i0Obq8kEdqRKeAGm8hhTw" name="preCondition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__g4Unq8kEdqRKeAGm8hhTw" association="__i0Ora8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i0Ob68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i0OcK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQca8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQbq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0Oca8kEdqRKeAGm8hhTw" annotatedElement="__i0Obq8kEdqRKeAGm8hhTw">

         <body>Specifies the precondition of the transition. It specifies the condition that should be verified before triggering the transition. This guard condition added to the source state will be evaluated as part of the precondition of the operation referred by the transition if any.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQcq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQc68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0Ocq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0Oc68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4CsQdK8aEdqf6aL57Hh6KQ" name="ProtocolStateMachine">

-    <ownedComment xmi:id="_4CsQda8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQdK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i0OdK8kEdqRKeAGm8hhTw" name="ProtocolStateMachine">

+    <ownedComment xmi:id="__i0Oda8kEdqRKeAGm8hhTw" annotatedElement="__i0OdK8kEdqRKeAGm8hhTw">

       <body>A protocol state machine is always defined in the context of a classifier. It specifies which operations of the classifier can be called in which state and under which condition, thus specifying the allowed call sequences on the classifier's operations. A protocol state machine presents the possible and permitted transitions on the instances of its context classifier, together with the operations which carry the transitions. In this manner, an instance lifecycle can be created for a classifier, by specifying the order in which the operations can be activated and the states through which an instance progresses during its existence.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4CsQdq8aEdqf6aL57Hh6KQ" name="classifier_context" constrainedElement="_4CsQdK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQd68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQdq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0Odq8kEdqRKeAGm8hhTw" name="classifier_context" constrainedElement="__i0OdK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0Od68kEdqRKeAGm8hhTw" annotatedElement="__i0Odq8kEdqRKeAGm8hhTw">

         <body>A protocol state machine must only have a classifier context, not a behavioral feature context.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQeK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0OeK8kEdqRKeAGm8hhTw" language="OCL">

         <body>(not context->isEmpty( )) and specification->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CsQea8aEdqf6aL57Hh6KQ" name="protocol_transitions" constrainedElement="_4CsQdK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQeq8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQea8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0Oea8kEdqRKeAGm8hhTw" name="protocol_transitions" constrainedElement="__i0OdK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0Oeq8kEdqRKeAGm8hhTw" annotatedElement="__i0Oea8kEdqRKeAGm8hhTw">

         <body>All transitions of a protocol state machine must be protocol transitions. (transitions as extended by the ProtocolStateMachines package)</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQe68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0Oe68kEdqRKeAGm8hhTw" language="OCL">

         <body>region->forAll(r | r.transition->forAll(t | t.oclIsTypeOf(ProtocolTransition)))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CsQfK8aEdqf6aL57Hh6KQ" name="entry_exit_do" constrainedElement="_4CsQdK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQfa8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQfK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0OfK8kEdqRKeAGm8hhTw" name="entry_exit_do" constrainedElement="__i0OdK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0Ofa8kEdqRKeAGm8hhTw" annotatedElement="__i0OfK8kEdqRKeAGm8hhTw">

         <body>The states of a protocol state machine cannot have entry, exit, or do activity actions.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQfq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0Ofq8kEdqRKeAGm8hhTw" language="OCL">

         <body>region->forAll(r | r.subvertex->forAll(v | v.oclIsKindOf(State) implies

 (v.entry->isEmpty() and v.exit->isEmpty() and v.doActivity->isEmpty())))

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CsQf68aEdqf6aL57Hh6KQ" name="deep_or_shallow_history" constrainedElement="_4CsQdK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQgK8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQf68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0Of68kEdqRKeAGm8hhTw" name="deep_or_shallow_history" constrainedElement="__i0OdK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0OgK8kEdqRKeAGm8hhTw" annotatedElement="__i0Of68kEdqRKeAGm8hhTw">

         <body>Protocol state machines cannot have deep or shallow history pseudostates.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQga8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0Oga8kEdqRKeAGm8hhTw" language="OCL">

         <body>region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Psuedostate) implies

 ((v.kind &lt;> #deepHistory) and (v.kind &lt;> #shallowHistory)))))

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4CsQgq8aEdqf6aL57Hh6KQ" name="ports_connected" constrainedElement="_4CsQdK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQg68aEdqf6aL57Hh6KQ" annotatedElement="_4CsQgq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i0Ogq8kEdqRKeAGm8hhTw" name="ports_connected" constrainedElement="__i0OdK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0Og68kEdqRKeAGm8hhTw" annotatedElement="__i0Ogq8kEdqRKeAGm8hhTw">

         <body>If two ports are connected, then the protocol state machine of the required interface (if defined) must be conformant to the protocol state machine of the provided interface (if defined).</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQhK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0OhK8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4CsQha8aEdqf6aL57Hh6KQ" general="_3_aSva8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4CsQhq8aEdqf6aL57Hh6KQ" name="conformance" type="_4CsQPa8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4CsQkq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4CsQh68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4CsQiK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__i0Oha8kEdqRKeAGm8hhTw" general="__gujcK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__i0Ohq8kEdqRKeAGm8hhTw" name="conformance" type="__i0OPa8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__i0Okq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i0Oh68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i0OiK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4CsQia8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQhq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i0Oia8kEdqRKeAGm8hhTw" annotatedElement="__i0Ohq8kEdqRKeAGm8hhTw">

         <body>Conformance between protocol state machines.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQiq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQi68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0Oiq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0Oi68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_kDoK8aEdqf6aL57Hh6KQ" name="State">

-    <ownedComment xmi:id="_3_kDoa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDoK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__gujr68kEdqRKeAGm8hhTw" name="State">

+    <ownedComment xmi:id="__gujsK8kEdqRKeAGm8hhTw" annotatedElement="__gujr68kEdqRKeAGm8hhTw">

       <body>A state models a situation during which some (usually implicit) invariant condition holds. The invariant may represent a static situation such as an object waiting for some external event to occur. However, it can also model dynamic conditions such as the process of performing some behavior (i.e., the model element under consideration enters the state when the behavior commences and leaves it as soon as the behavior is completed). The following kinds of states are distinguished:

 

 o Simple state,

@@ -13484,22 +13484,22 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_4CsQjK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDoK8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__i0OjK8kEdqRKeAGm8hhTw" annotatedElement="__gujr68kEdqRKeAGm8hhTw">

       <body>The states of protocol state machines are exposed to the users of their context classifiers. A protocol state represents an exposed stable situation of its context classifier: when an instance of the classifier is not processing any operation, users of this instance can always know its state configuration.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_kDoq8aEdqf6aL57Hh6KQ" name="submachine_states" constrainedElement="_3_kDoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kDo68aEdqf6aL57Hh6KQ" annotatedElement="_3_kDoq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gujsa8kEdqRKeAGm8hhTw" name="submachine_states" constrainedElement="__gujr68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujsq8kEdqRKeAGm8hhTw" annotatedElement="__gujsa8kEdqRKeAGm8hhTw">

         <body>Only submachine states can have connection point references.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kDpK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujs68kEdqRKeAGm8hhTw" language="OCL">

         <body>isSubmachineState implies connection->notEmpty ( )</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kDpa8aEdqf6aL57Hh6KQ" name="destinations_or_sources_of_transitions" constrainedElement="_3_kDoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kDpq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDpa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gujtK8kEdqRKeAGm8hhTw" name="destinations_or_sources_of_transitions" constrainedElement="__gujr68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujta8kEdqRKeAGm8hhTw" annotatedElement="__gujtK8kEdqRKeAGm8hhTw">

         <body>The connection point references used as destinations/sources of transitions associated with a submachine state must be defined as entry/exit points in the submachine state machine.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kDp68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujtq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.isSubmachineState implies (self.connection->forAll (cp |

 

 cp.entry->forAll (p | p.statemachine = self.submachine) and

@@ -13507,229 +13507,229 @@
 cp.exit->forAll (p | p.statemachine = self.submachine)))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kDqK8aEdqf6aL57Hh6KQ" name="submachine_or_regions" constrainedElement="_3_kDoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kDqa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDqK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gujt68kEdqRKeAGm8hhTw" name="submachine_or_regions" constrainedElement="__gujr68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujuK8kEdqRKeAGm8hhTw" annotatedElement="__gujt68kEdqRKeAGm8hhTw">

         <body>A state is not allowed to have both a submachine and regions.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kDqq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujua8kEdqRKeAGm8hhTw" language="OCL">

         <body>isComposite implies not isSubmachineState</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kDq68aEdqf6aL57Hh6KQ" name="composite_states" constrainedElement="_3_kDoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kDrK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDq68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gujuq8kEdqRKeAGm8hhTw" name="composite_states" constrainedElement="__gujr68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__guju68kEdqRKeAGm8hhTw" annotatedElement="__gujuq8kEdqRKeAGm8hhTw">

         <body>Only composite states can have entry or exit pseudostates defined.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kDra8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujvK8kEdqRKeAGm8hhTw" language="OCL">

         <body>connectionPoint->notEmpty() implies isComoposite</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_kDrq8aEdqf6aL57Hh6KQ" name="entry_or_exit" constrainedElement="_3_kDoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kDr68aEdqf6aL57Hh6KQ" annotatedElement="_3_kDrq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__gujva8kEdqRKeAGm8hhTw" name="entry_or_exit" constrainedElement="__gujr68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gujvq8kEdqRKeAGm8hhTw" annotatedElement="__gujva8kEdqRKeAGm8hhTw">

         <body>Only entry or exit pseudostates can serve as connection points.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kDsK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__gujv68kEdqRKeAGm8hhTw" language="OCL">

         <body>connectionPoint->forAll(cp|cp.kind = #entry or cp.kind = #exit)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_kDsa8aEdqf6aL57Hh6KQ" general="_3_kEiK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3_kDsq8aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3_kDs68aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_3_kDtK8aEdqf6aL57Hh6KQ" name="isComposite" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

-      <eAnnotations xmi:id="_3_kDta8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_3_kDtq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <generalization xmi:id="__gujwK8kEdqRKeAGm8hhTw" general="__g4UyK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__gujwa8kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__gujwq8kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__gujw68kEdqRKeAGm8hhTw" name="isComposite" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

+      <eAnnotations xmi:id="__gujxK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__gujxa8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kDt68aEdqf6aL57Hh6KQ" annotatedElement="_3_kDtK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__gujxq8kEdqRKeAGm8hhTw" annotatedElement="__gujw68kEdqRKeAGm8hhTw">

         <body>A state with isComposite=true is said to be a composite state. A composite state is a state that contains at least one region.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3_kDuK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__gujx68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kDua8aEdqf6aL57Hh6KQ" name="isOrthogonal" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

-      <eAnnotations xmi:id="_3_kDuq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_3_kDu68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__gujyK8kEdqRKeAGm8hhTw" name="isOrthogonal" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

+      <eAnnotations xmi:id="__gujya8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__gujyq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kDvK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDua8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__gujy68kEdqRKeAGm8hhTw" annotatedElement="__gujyK8kEdqRKeAGm8hhTw">

         <body>A state with isOrthogonal=true is said to be an orthogonal composite state. An orthogonal composite state contains two or more regions.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3_kDva8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__gujzK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kDvq8aEdqf6aL57Hh6KQ" name="isSimple" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

-      <eAnnotations xmi:id="_3_kDv68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_3_kDwK8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__gujza8kEdqRKeAGm8hhTw" name="isSimple" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

+      <eAnnotations xmi:id="__gujzq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__gujz68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kDwa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDvq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__guj0K8kEdqRKeAGm8hhTw" annotatedElement="__gujza8kEdqRKeAGm8hhTw">

         <body>A state with isSimple=true is said to be a simple state. A simple state does not have any regions and it does not refer to any submachine state machine.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3_kDwq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__guj0a8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kDw68aEdqf6aL57Hh6KQ" name="isSubmachineState" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

-      <eAnnotations xmi:id="_3_kDxK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_3_kDxa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__guj0q8kEdqRKeAGm8hhTw" name="isSubmachineState" type="_UdivYGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

+      <eAnnotations xmi:id="__guj068kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__guj1K8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kDxq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDw68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__guj1a8kEdqRKeAGm8hhTw" annotatedElement="__guj0q8kEdqRKeAGm8hhTw">

         <body>A state with isSubmachineState=true is said to be a submachine state. Such a state refers to a state machine (submachine).</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_3_kDx68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__guj1q8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kDyK8aEdqf6aL57Hh6KQ" name="submachine" type="_3_aSva8aEdqf6aL57Hh6KQ" association="_3_tOMq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kDya8aEdqf6aL57Hh6KQ" annotatedElement="_3_kDyK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__guj168kEdqRKeAGm8hhTw" name="submachine" type="__gujcK8kEdqRKeAGm8hhTw" association="__hLPYa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__guj2K8kEdqRKeAGm8hhTw" annotatedElement="__guj168kEdqRKeAGm8hhTw">

         <body>The state machine that is to be inserted in place of the (submachine) state.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kDyq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kDy68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__guj2a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__guj2q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kDzK8aEdqf6aL57Hh6KQ" name="connection" type="_3_tNpa8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3_2-lK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kDza8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kDzq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__guj268kEdqRKeAGm8hhTw" name="connection" type="__hCFha8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__hLPZq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__guj3K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__guj3a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kDz68aEdqf6aL57Hh6KQ" annotatedElement="_3_kDzK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__guj3q8kEdqRKeAGm8hhTw" annotatedElement="__guj268kEdqRKeAGm8hhTw">

         <body>The entry and exit connection points used in conjunction with this (submachine) state, i.e. as targets and sources, respectively, in the region with the submachine state. A connection point reference references the corresponding definition of a connection point pseudostate in the statemachine referenced by the submachinestate.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD0K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD0a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__guj368kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__guj4K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kD0q8aEdqf6aL57Hh6KQ" name="redefinedState" type="_3_kDoK8aEdqf6aL57Hh6KQ" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_3_2-lq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kD068aEdqf6aL57Hh6KQ" annotatedElement="_3_kD0q8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__guj4a8kEdqRKeAGm8hhTw" name="redefinedState" type="__gujr68kEdqRKeAGm8hhTw" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__hLPaK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__guj4q8kEdqRKeAGm8hhTw" annotatedElement="__guj4a8kEdqRKeAGm8hhTw">

         <body>The state of which this state is a redefinition.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD1K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD1a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__guj468kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__guj5K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kD1q8aEdqf6aL57Hh6KQ" name="region" type="_3_tNvK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3_2-qK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kD168aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kD2K8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__guj5a8kEdqRKeAGm8hhTw" name="region" type="__hCFnK8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__hLPeq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__guj5q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__guj568kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kD2a8aEdqf6aL57Hh6KQ" annotatedElement="_3_kD1q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__guj6K8kEdqRKeAGm8hhTw" annotatedElement="__guj5a8kEdqRKeAGm8hhTw">

         <body>The regions owned directly by the state.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD2q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD268aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__guj6a8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__guj6q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kD3K8aEdqf6aL57Hh6KQ" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_3_2-vq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_kD3a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kD3q8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__guj668kEdqRKeAGm8hhTw" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__hLPkK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__guj7K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__guj7a8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kD368aEdqf6aL57Hh6KQ" annotatedElement="_3_kD3K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__guj7q8kEdqRKeAGm8hhTw" annotatedElement="__guj668kEdqRKeAGm8hhTw">

         <body>References the classifier in which context this element may be redefined.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD4K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD4a8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__guj768kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__guj8K8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kD4q8aEdqf6aL57Hh6KQ" name="stateInvariant" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3_2-yK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kD468aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kD5K8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__guj8a8kEdqRKeAGm8hhTw" name="stateInvariant" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__hLPmq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__guj8q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__guj868kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kD5a8aEdqf6aL57Hh6KQ" annotatedElement="_3_kD4q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__guj9K8kEdqRKeAGm8hhTw" annotatedElement="__guj8a8kEdqRKeAGm8hhTw">

         <body>Specifies conditions that are always true when this state is the current state. In protocol state machines, state invariants are additional conditions to the preconditions of the outgoing transitions, and to the postcondition of the incoming transitions.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD5q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD568aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__guj9a8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__guj9q8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kD6K8aEdqf6aL57Hh6KQ" name="entry" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3_2-0q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kD6a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kD6q8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__guj968kEdqRKeAGm8hhTw" name="entry" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__hLPpK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__guj-K8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__guj-a8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kD668aEdqf6aL57Hh6KQ" annotatedElement="_3_kD6K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__guj-q8kEdqRKeAGm8hhTw" annotatedElement="__guj968kEdqRKeAGm8hhTw">

         <body>An optional behavior that is executed whenever this state is entered regardless of the transition taken to reach the state. If defined, entry actions are always executed to completion prior to any internal behavior or transitions performed within the state.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD7K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD7a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__guj-68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__guj_K8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kD7q8aEdqf6aL57Hh6KQ" name="exit" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3_2-168aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kD768aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kD8K8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__guj_a8kEdqRKeAGm8hhTw" name="exit" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__hLPqa8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__guj_q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__guj_68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kD8a8aEdqf6aL57Hh6KQ" annotatedElement="_3_kD7q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__gukAK8kEdqRKeAGm8hhTw" annotatedElement="__guj_a8kEdqRKeAGm8hhTw">

         <body>An optional behavior that is executed whenever this state is exited regardless of which transition was taken out of the state. If defined, exit actions are always executed to completion only after all internal activities and transition actions have completed execution.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD8q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD868aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gukAa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gukAq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kD9K8aEdqf6aL57Hh6KQ" name="doActivity" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3_2-3K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kD9a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kD9q8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__gukA68kEdqRKeAGm8hhTw" name="doActivity" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__hLPrq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__gukBK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__gukBa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kD968aEdqf6aL57Hh6KQ" annotatedElement="_3_kD9K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__gukBq8kEdqRKeAGm8hhTw" annotatedElement="__gukA68kEdqRKeAGm8hhTw">

         <body>An optional behavior that is executed while being in the state. The execution starts when this state is entered, and stops either by itself, or when the state is exited, whichever comes first.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD-K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD-a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gukB68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gukCK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kD-q8aEdqf6aL57Hh6KQ" name="connectionPoint" type="_3_kEnq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3_2-4a8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kD-68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kD_K8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__gukCa8kEdqRKeAGm8hhTw" name="connectionPoint" type="__g4U3q8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__hLPs68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__gukCq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__gukC68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kD_a8aEdqf6aL57Hh6KQ" annotatedElement="_3_kD-q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__gukDK8kEdqRKeAGm8hhTw" annotatedElement="__gukCa8kEdqRKeAGm8hhTw">

         <body>The entry and exit pseudostates of a composite state. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite states.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kD_q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kD_68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gukDa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gukDq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_kEAK8aEdqf6aL57Hh6KQ" name="deferrableTrigger" type="_39njHa8aEdqf6aL57Hh6KQ" association="_3_2-568aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_kEAa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_kEAq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__gukD68kEdqRKeAGm8hhTw" name="deferrableTrigger" type="__dwIMq8kEdqRKeAGm8hhTw" association="__hLPua8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__gukEK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__gukEa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_kEA68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEAK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__gukEq8kEdqRKeAGm8hhTw" annotatedElement="__gukD68kEdqRKeAGm8hhTw">

         <body>A list of triggers that are candidates to be retained by the state machine if they trigger no transitions out of the state (not consumed). A deferred trigger is retained until the state machine reaches a state configuration where it is no longer deferred.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_kEBK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_kEBa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gukE68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gukFK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_3_kEBq8aEdqf6aL57Hh6KQ" name="isSimple" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3_kECK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEB68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEBq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gukFa8kEdqRKeAGm8hhTw" name="isSimple" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__gukF68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gukFq8kEdqRKeAGm8hhTw" annotatedElement="__gukFa8kEdqRKeAGm8hhTw">

         <body>A simple state is a state without any regions.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kECK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEBq8aEdqf6aL57Hh6KQ _3_kDvq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kECa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gukF68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gukFa8kEdqRKeAGm8hhTw __gujza8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gukGK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = region.isEmpty()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kECq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__gukGa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEC68aEdqf6aL57Hh6KQ" name="isComposite" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3_kEDa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEDK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEC68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gukGq8kEdqRKeAGm8hhTw" name="isComposite" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__gukHK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gukG68kEdqRKeAGm8hhTw" annotatedElement="__gukGq8kEdqRKeAGm8hhTw">

         <body>A composite state is a state with at least one region.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEDa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEC68aEdqf6aL57Hh6KQ _3_kDtK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEDq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gukHK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gukGq8kEdqRKeAGm8hhTw __gujw68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gukHa8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = region.notEmpty()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kED68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__gukHq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEEK8aEdqf6aL57Hh6KQ" name="isOrthogonal" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3_kEEq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEEa8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEEK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gukH68kEdqRKeAGm8hhTw" name="isOrthogonal" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__gukIa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gukIK8kEdqRKeAGm8hhTw" annotatedElement="__gukH68kEdqRKeAGm8hhTw">

         <body>An orthogonal state is a composite state with at least 2 regions</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEEq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEEK8aEdqf6aL57Hh6KQ _3_kDua8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEE68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gukIa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gukH68kEdqRKeAGm8hhTw __gujyK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gukIq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (region->size () > 1)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEFK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__gukI68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEFa8aEdqf6aL57Hh6KQ" name="isSubmachineState" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_3_kEF68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEFq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEFa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gukJK8kEdqRKeAGm8hhTw" name="isSubmachineState" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__gukJq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gukJa8kEdqRKeAGm8hhTw" annotatedElement="__gukJK8kEdqRKeAGm8hhTw">

         <body>Only submachine states can have a reference statemachine.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEF68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEFa8aEdqf6aL57Hh6KQ _3_kDw68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEGK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gukJq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gukJK8kEdqRKeAGm8hhTw __guj0q8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gukJ68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = submachine.notEmpty()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEGa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__gukKK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEGq8aEdqf6aL57Hh6KQ" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="_3_kEHK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEG68aEdqf6aL57Hh6KQ" annotatedElement="_3_kEGq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gukKa8kEdqRKeAGm8hhTw" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="__gukK68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gukKq8kEdqRKeAGm8hhTw" annotatedElement="__gukKa8kEdqRKeAGm8hhTw">

         <body>The redefinition context of a state is the nearest containing statemachine.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEHK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEGq8aEdqf6aL57Hh6KQ _3_kD3K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEHa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gukK68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gukKa8kEdqRKeAGm8hhTw __guj668kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gukLK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = let sm = containingStateMachine() in

 if sm.context->isEmpty() or sm.general->notEmpty() then

 sm

@@ -13738,151 +13738,151 @@
 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEHq8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>

+      <returnResult xmi:id="__gukLa8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEH68aEdqf6aL57Hh6KQ" name="isRedefinitionContextValid" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33g6-68aEdqf6aL57Hh6KQ" bodyCondition="_3_kEIa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEIK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEH68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gukLq8kEdqRKeAGm8hhTw" name="isRedefinitionContextValid" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf268kEdqRKeAGm8hhTw" bodyCondition="__gukMK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gukL68kEdqRKeAGm8hhTw" annotatedElement="__gukLq8kEdqRKeAGm8hhTw">

         <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a state are properly related to the redefinition contexts of the specified state to allow this element to redefine the other. The containing region of a redefining state must redefine the containing region of the redefined state.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEIa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEH68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEIq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gukMK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gukLq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gukMa8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEI68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_3_kEJK8aEdqf6aL57Hh6KQ" name="redefined" type="_3_kDoK8aEdqf6aL57Hh6KQ" effect="read"/>

+      <returnResult xmi:id="__gukMq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__gukM68kEdqRKeAGm8hhTw" name="redefined" type="__gujr68kEdqRKeAGm8hhTw" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEJa8aEdqf6aL57Hh6KQ" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33g69a8aEdqf6aL57Hh6KQ" bodyCondition="_3_kEJ68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kEJq8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEJa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gukNK8kEdqRKeAGm8hhTw" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf1a8kEdqRKeAGm8hhTw" bodyCondition="__gukNq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gukNa8kEdqRKeAGm8hhTw" annotatedElement="__gukNK8kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies that a redefining state is consistent with a redefined state provided that the redefining state is an extension of the redefined state: A simple state can be redefined (extended) to become a composite state (by adding a region) and a composite state can be redefined (extended) by adding regions and by adding vertices, states, and transitions to inherited regions. All states may add or replace entry, exit, and 'doActivity' actions.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kEJ68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEJa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kEKK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gukNq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gukNK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gukN68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEKa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_3_kEKq8aEdqf6aL57Hh6KQ" name="redefinee" type="_33g64K8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__gukOK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__gukOa8kEdqRKeAGm8hhTw" name="redefinee" type="__YYfwK8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_kEK68aEdqf6aL57Hh6KQ" name="containingStateMachine" type="_3_aSva8aEdqf6aL57Hh6KQ" isQuery="true" redefinedOperation="_3_kEma8aEdqf6aL57Hh6KQ" bodyCondition="_3_kELa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_kELK8aEdqf6aL57Hh6KQ" annotatedElement="_3_kEK68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__gukOq8kEdqRKeAGm8hhTw" name="containingStateMachine" type="__gujcK8kEdqRKeAGm8hhTw" isQuery="true" redefinedOperation="__g4U2a8kEdqRKeAGm8hhTw" bodyCondition="__gukPK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__gukO68kEdqRKeAGm8hhTw" annotatedElement="__gukOq8kEdqRKeAGm8hhTw">

         <body>The query containingStateMachine() returns the state machine that contains the state either directly or transitively.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_kELa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_kEK68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_kELq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__gukPK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__gukOq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__gukPa8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = container.containingStateMachine()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_kEL68aEdqf6aL57Hh6KQ" type="_3_aSva8aEdqf6aL57Hh6KQ" direction="return"/>

+      <returnResult xmi:id="__gukPq8kEdqRKeAGm8hhTw" type="__gujcK8kEdqRKeAGm8hhTw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_3_tNvK8aEdqf6aL57Hh6KQ" name="Region">

-    <ownedComment xmi:id="_3_tNva8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNvK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__hCFnK8kEdqRKeAGm8hhTw" name="Region">

+    <ownedComment xmi:id="__hCFna8kEdqRKeAGm8hhTw" annotatedElement="__hCFnK8kEdqRKeAGm8hhTw">

       <body>A region is an orthogonal part of either a composite state or a state machine. It contains states and transitions.</body>

     </ownedComment>

-    <ownedRule xmi:id="_3_tNvq8aEdqf6aL57Hh6KQ" name="initial_vertex" constrainedElement="_3_tNvK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNv68aEdqf6aL57Hh6KQ" annotatedElement="_3_tNvq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFnq8kEdqRKeAGm8hhTw" name="initial_vertex" constrainedElement="__hCFnK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFn68kEdqRKeAGm8hhTw" annotatedElement="__hCFnq8kEdqRKeAGm8hhTw">

         <body>A region can have at most one initial vertex</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNwK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFoK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->

 select(p : Pseudostate | p.kind = #initial)->size() &lt;= 1

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNwa8aEdqf6aL57Hh6KQ" name="deep_history_vertex" constrainedElement="_3_tNvK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNwq8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNwa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFoa8kEdqRKeAGm8hhTw" name="deep_history_vertex" constrainedElement="__hCFnK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFoq8kEdqRKeAGm8hhTw" annotatedElement="__hCFoa8kEdqRKeAGm8hhTw">

         <body>A region can have at most one deep history vertex</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNw68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFo68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->

 select(p : Pseudostate | p.kind = #deepHistory)->size() &lt;= 1

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNxK8aEdqf6aL57Hh6KQ" name="shallow_history_vertex" constrainedElement="_3_tNvK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNxa8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNxK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFpK8kEdqRKeAGm8hhTw" name="shallow_history_vertex" constrainedElement="__hCFnK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFpa8kEdqRKeAGm8hhTw" annotatedElement="__hCFpK8kEdqRKeAGm8hhTw">

         <body>A region can have at most one shallow history vertex</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNxq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFpq8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.subvertex->select(v | v.oclIsKindOf(Pseudostate))->

 select(p : Pseudostate | p.kind = #shallowHistory)->size() &lt;= 1

 </body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3_tNx68aEdqf6aL57Hh6KQ" name="owned" constrainedElement="_3_tNvK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tNyK8aEdqf6aL57Hh6KQ" annotatedElement="_3_tNx68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hCFp68kEdqRKeAGm8hhTw" name="owned" constrainedElement="__hCFnK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFqK8kEdqRKeAGm8hhTw" annotatedElement="__hCFp68kEdqRKeAGm8hhTw">

         <body>If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tNya8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCFqa8kEdqRKeAGm8hhTw" language="OCL">

         <body>(stateMachine->notEmpty() implies state->isEmpty()) and (state->notEmpty() implies stateMachine->isEmpty())</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_3_tNyq8aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3_tNy68aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_3_tNzK8aEdqf6aL57Hh6KQ" name="subvertex" type="_3_kEiK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3_tOLK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_tNza8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_tNzq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__hCFqq8kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__hCFq68kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__hCFrK8kEdqRKeAGm8hhTw" name="subvertex" type="__g4UyK8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__hCGDK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hCFra8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hCFrq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_tNz68aEdqf6aL57Hh6KQ" annotatedElement="_3_tNzK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hCFr68kEdqRKeAGm8hhTw" annotatedElement="__hCFrK8kEdqRKeAGm8hhTw">

         <body>The set of vertices that are owned by this region.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tN0K8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tN0a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFsK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFsa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_tN0q8aEdqf6aL57Hh6KQ" name="transition" type="_3_kEMK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_3_tOLq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3_tN068aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_tN1K8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hCFsq8kEdqRKeAGm8hhTw" name="transition" type="__g4UcK8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__hCGDq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hCFs68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hCFtK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_tN1a8aEdqf6aL57Hh6KQ" annotatedElement="_3_tN0q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hCFta8kEdqRKeAGm8hhTw" annotatedElement="__hCFsq8kEdqRKeAGm8hhTw">

         <body>The set of transitions owned by the region. Note that internal transitions are owned by a region, but applies to the source state.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tN1q8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tN168aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFtq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFt68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_tN2K8aEdqf6aL57Hh6KQ" name="stateMachine" type="_3_aSva8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_3_2-pK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_tN2a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_tN2q8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__hCFuK8kEdqRKeAGm8hhTw" name="stateMachine" type="__gujcK8kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__hLPdq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hCFua8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hCFuq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_tN268aEdqf6aL57Hh6KQ" annotatedElement="_3_tN2K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hCFu68kEdqRKeAGm8hhTw" annotatedElement="__hCFuK8kEdqRKeAGm8hhTw">

         <body>The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tN3K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tN3a8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFvK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFva8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_tN3q8aEdqf6aL57Hh6KQ" name="state" type="_3_kDoK8aEdqf6aL57Hh6KQ" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_3_2-qK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_tN368aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_tN4K8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__hCFvq8kEdqRKeAGm8hhTw" name="state" type="__gujr68kEdqRKeAGm8hhTw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__hLPeq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hCFv68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hCFwK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_tN4a8aEdqf6aL57Hh6KQ" annotatedElement="_3_tN3q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hCFwa8kEdqRKeAGm8hhTw" annotatedElement="__hCFvq8kEdqRKeAGm8hhTw">

         <body>The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tN4q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tN468aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFwq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFw68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_tN5K8aEdqf6aL57Hh6KQ" name="extendedRegion" type="_3_tNvK8aEdqf6aL57Hh6KQ" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_3_2-qq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tN5a8aEdqf6aL57Hh6KQ" annotatedElement="_3_tN5K8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hCFxK8kEdqRKeAGm8hhTw" name="extendedRegion" type="__hCFnK8kEdqRKeAGm8hhTw" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__hLPfK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFxa8kEdqRKeAGm8hhTw" annotatedElement="__hCFxK8kEdqRKeAGm8hhTw">

         <body>The region of which this region is an extension.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tN5q8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tN568aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFxq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFx68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3_tN6K8aEdqf6aL57Hh6KQ" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_3_2-ua8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_3_tN6a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3_tN6q8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__hCFyK8kEdqRKeAGm8hhTw" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__hLPi68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__hCFya8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hCFyq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3_tN668aEdqf6aL57Hh6KQ" annotatedElement="_3_tN6K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hCFy68kEdqRKeAGm8hhTw" annotatedElement="__hCFyK8kEdqRKeAGm8hhTw">

         <body>References the classifier in which context this element may be redefined.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3_tN7K8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3_tN7a8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hCFzK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hCFza8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_3_tN7q8aEdqf6aL57Hh6KQ" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="_3_tN8K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tN768aEdqf6aL57Hh6KQ" annotatedElement="_3_tN7q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__hCFzq8kEdqRKeAGm8hhTw" name="redefinitionContext" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="__hCF0K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCFz68kEdqRKeAGm8hhTw" annotatedElement="__hCFzq8kEdqRKeAGm8hhTw">

         <body>The redefinition context of a region is the nearest containing statemachine</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_tN8K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_tN7q8aEdqf6aL57Hh6KQ _3_tN6K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tN8a8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hCF0K8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hCFzq8kEdqRKeAGm8hhTw __hCFyK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCF0a8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = let sm = containingStateMachine() in

 if sm.context->isEmpty() or sm.general->notEmpty() then

 sm

@@ -13891,38 +13891,38 @@
 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_tN8q8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>

+      <returnResult xmi:id="__hCF0q8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_tN868aEdqf6aL57Hh6KQ" name="isRedefinitionContextValid" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33g6-68aEdqf6aL57Hh6KQ" bodyCondition="_3_tN9a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tN9K8aEdqf6aL57Hh6KQ" annotatedElement="_3_tN868aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__hCF068kEdqRKeAGm8hhTw" name="isRedefinitionContextValid" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf268kEdqRKeAGm8hhTw" bodyCondition="__hCF1a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCF1K8kEdqRKeAGm8hhTw" annotatedElement="__hCF068kEdqRKeAGm8hhTw">

         <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a region are properly related to the redefinition contexts of the specified region to allow this element to redefine the other. The containing statemachine/state of a redefining region must redefine the containing statemachine/state of the redefined region.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_tN9a8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_tN868aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tN9q8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hCF1a8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hCF068kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCF1q8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_tN968aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_3_tN-K8aEdqf6aL57Hh6KQ" name="redefined" type="_3_tNvK8aEdqf6aL57Hh6KQ" effect="read"/>

+      <returnResult xmi:id="__hCF168kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__hCF2K8kEdqRKeAGm8hhTw" name="redefined" type="__hCFnK8kEdqRKeAGm8hhTw" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_tN-a8aEdqf6aL57Hh6KQ" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33g69a8aEdqf6aL57Hh6KQ" bodyCondition="_3_tN-68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tN-q8aEdqf6aL57Hh6KQ" annotatedElement="_3_tN-a8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__hCF2a8kEdqRKeAGm8hhTw" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYf1a8kEdqRKeAGm8hhTw" bodyCondition="__hCF268kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCF2q8kEdqRKeAGm8hhTw" annotatedElement="__hCF2a8kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies that a redefining region is consistent with a redefined region provided that the redefining region is an extension of the redefined region, i.e. it adds vertices and transitions and it redefines states and transitions of the redefined region.</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_tN-68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_tN-a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tN_K8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hCF268kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hCF2a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCF3K8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_tN_a8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_3_tN_q8aEdqf6aL57Hh6KQ" name="redefinee" type="_33g64K8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__hCF3a8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__hCF3q8kEdqRKeAGm8hhTw" name="redefinee" type="__YYfwK8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_3_tN_68aEdqf6aL57Hh6KQ" name="containingStateMachine" type="_3_aSva8aEdqf6aL57Hh6KQ" isQuery="true" bodyCondition="_3_tOAa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3_tOAK8aEdqf6aL57Hh6KQ" annotatedElement="_3_tN_68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__hCF368kEdqRKeAGm8hhTw" name="containingStateMachine" type="__gujcK8kEdqRKeAGm8hhTw" isQuery="true" bodyCondition="__hCF4a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hCF4K8kEdqRKeAGm8hhTw" annotatedElement="__hCF368kEdqRKeAGm8hhTw">

         <body>The operation containingStateMachine() returns the sate machine in which this Region is defined</body>

       </ownedComment>

-      <ownedRule xmi:id="_3_tOAa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_3_tN_68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_3_tOAq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hCF4a8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hCF368kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hCF4q8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if stateMachine->isEmpty() 

 then

 state.containingStateMachine()

@@ -13931,14 +13931,14 @@
 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_3_tOA68aEdqf6aL57Hh6KQ" type="_3_aSva8aEdqf6aL57Hh6KQ" direction="return"/>

+      <returnResult xmi:id="__hCF468kEdqRKeAGm8hhTw" type="__gujcK8kEdqRKeAGm8hhTw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_4CsQja8aEdqf6aL57Hh6KQ" name="belongsToPSM" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_4CsQj68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQjq8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQja8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__i0Oja8kEdqRKeAGm8hhTw" name="belongsToPSM" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__i0Oj68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0Ojq8kEdqRKeAGm8hhTw" annotatedElement="__i0Oja8kEdqRKeAGm8hhTw">

         <body>The operation belongsToPSM () checks if the region belongs to a protocol state machine</body>

       </ownedComment>

-      <ownedRule xmi:id="_4CsQj68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4CsQja8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4CsQkK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__i0Oj68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__i0Oja8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__i0OkK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if not stateMachine->isEmpty() then

 oclIsTypeOf(ProtocolStateMachine)

 else if not state->isEmpty() then

@@ -13946,223 +13946,223 @@
 else false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4CsQka8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__i0Oka8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CsQkq8aEdqf6aL57Hh6KQ" name="A_conformance_specificMachine" memberEnd="_4CsQQK8aEdqf6aL57Hh6KQ _4CsQhq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CsQk68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4CsQlK8aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__i0Okq8kEdqRKeAGm8hhTw" name="A_conformance_specificMachine" memberEnd="__i0OQK8kEdqRKeAGm8hhTw __i0Ohq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__i0Ok68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__i0OlK8kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CsQla8aEdqf6aL57Hh6KQ" name="A_protocol_port" memberEnd="_4CsQUq8aEdqf6aL57Hh6KQ _4CsQlq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CsQlq8aEdqf6aL57Hh6KQ" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_4CsQla8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQl68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQmK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__i0Ola8kEdqRKeAGm8hhTw" name="A_protocol_port" memberEnd="__i0OUq8kEdqRKeAGm8hhTw __i0Olq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__i0Olq8kEdqRKeAGm8hhTw" type="_ZAuvEGveEdq4DLWZOhbdEA" association="__i0Ola8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0Ol68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OmK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CsQma8aEdqf6aL57Hh6KQ" name="A_postCondition_owningTransition" memberEnd="_4CsQm68aEdqf6aL57Hh6KQ _4CsQYq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CsQmq8aEdqf6aL57Hh6KQ" general="_342YCa8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CsQm68aEdqf6aL57Hh6KQ" name="owningTransition" type="_4CsQVq8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_4CsQma8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQnK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQna8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__i0Oma8kEdqRKeAGm8hhTw" name="A_postCondition_owningTransition" memberEnd="__i0OYq8kEdqRKeAGm8hhTw __i0Om68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__i0Omq8kEdqRKeAGm8hhTw" general="__ZujkK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__i0Om68kEdqRKeAGm8hhTw" name="owningTransition" type="__i0OVq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__i0Oma8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OnK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0Ona8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CsQnq8aEdqf6aL57Hh6KQ" name="A_protocol_interface" memberEnd="_4CsQS68aEdqf6aL57Hh6KQ _4CsQoK8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CsQn68aEdqf6aL57Hh6KQ" general="_342X468aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CsQoK8aEdqf6aL57Hh6KQ" name="interface" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_4CsQnq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4CsQoa8aEdqf6aL57Hh6KQ" annotatedElement="_4CsQoK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Association" xmi:id="__i0Onq8kEdqRKeAGm8hhTw" name="A_protocol_interface" memberEnd="__i0OS68kEdqRKeAGm8hhTw __i0OoK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__i0On68kEdqRKeAGm8hhTw" general="__Zkyxq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__i0OoK8kEdqRKeAGm8hhTw" name="interface" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__i0Onq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i0Ooa8kEdqRKeAGm8hhTw" annotatedElement="__i0OoK8kEdqRKeAGm8hhTw">

         <body>Specifies the namespace in which the protocol state machine is defined.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQoq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQo68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0Ooq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0Oo68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CsQpK8aEdqf6aL57Hh6KQ" name="A_generalMachine_protocolConformance" memberEnd="_4CsQRq8aEdqf6aL57Hh6KQ _4CsQpq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CsQpa8aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CsQpq8aEdqf6aL57Hh6KQ" type="_4CsQPa8aEdqf6aL57Hh6KQ" association="_4CsQpK8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQp68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQqK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__i0OpK8kEdqRKeAGm8hhTw" name="A_generalMachine_protocolConformance" memberEnd="__i0ORq8kEdqRKeAGm8hhTw __i0Opq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__i0Opa8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__i0Opq8kEdqRKeAGm8hhTw" type="__i0OPa8kEdqRKeAGm8hhTw" association="__i0OpK8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0Op68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OqK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CsQqa8aEdqf6aL57Hh6KQ" name="A_referred_protocolTransition" memberEnd="_4CsQaK8aEdqf6aL57Hh6KQ _4CsQqq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4CsQqq8aEdqf6aL57Hh6KQ" type="_4CsQVq8aEdqf6aL57Hh6KQ" association="_4CsQqa8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQq68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQrK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__i0Oqa8kEdqRKeAGm8hhTw" name="A_referred_protocolTransition" memberEnd="__i0OaK8kEdqRKeAGm8hhTw __i0Oqq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__i0Oqq8kEdqRKeAGm8hhTw" type="__i0OVq8kEdqRKeAGm8hhTw" association="__i0Oqa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0Oq68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0OrK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4CsQra8aEdqf6aL57Hh6KQ" name="A_preCondition_protocolTransition" memberEnd="_4CsQbq8aEdqf6aL57Hh6KQ _4CsQr68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4CsQrq8aEdqf6aL57Hh6KQ" general="_3_2-tK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4CsQr68aEdqf6aL57Hh6KQ" type="_4CsQVq8aEdqf6aL57Hh6KQ" redefinedProperty="_3_2-tq8aEdqf6aL57Hh6KQ" association="_4CsQra8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4CsQsK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CsQsa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__i0Ora8kEdqRKeAGm8hhTw" name="A_preCondition_protocolTransition" memberEnd="__i0Obq8kEdqRKeAGm8hhTw __i0Or68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__i0Orq8kEdqRKeAGm8hhTw" general="__hLPhq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__i0Or68kEdqRKeAGm8hhTw" type="__i0OVq8kEdqRKeAGm8hhTw" redefinedProperty="__hLPiK8kEdqRKeAGm8hhTw" association="__i0Ora8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i0OsK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i0Osa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C1aEK8aEdqf6aL57Hh6KQ" name="AssociationClass">

-    <ownedComment xmi:id="_4C1aEa8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aEK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i9_IK8kEdqRKeAGm8hhTw" name="AssociationClass">

+    <ownedComment xmi:id="__i9_Ia8kEdqRKeAGm8hhTw" annotatedElement="__i9_IK8kEdqRKeAGm8hhTw">

       <body>In the metamodel, an AssociationClass is a declaration of a semantic relationship between Classifiers, which has a set of features of its own. AssociationClass is both an Association and a Class.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4C1aEq8aEdqf6aL57Hh6KQ" name="cannot_be_defined" constrainedElement="_4C1aEK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1aE68aEdqf6aL57Hh6KQ" annotatedElement="_4C1aEq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i9_Iq8kEdqRKeAGm8hhTw" name="cannot_be_defined" constrainedElement="__i9_IK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_I68kEdqRKeAGm8hhTw" annotatedElement="__i9_Iq8kEdqRKeAGm8hhTw">

         <body>An AssociationClass cannot be defined between itself and something else.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1aFK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_JK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.endType->excludes(self) and self.endType>collect(et|et.allparents()->excludes(self))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4C1aFa8aEdqf6aL57Hh6KQ" general="_AwvxoGwNEdq7X4sGURiZYA"/>

-    <generalization xmi:id="_4C1aFq8aEdqf6aL57Hh6KQ" general="_00owUGvdEdq4DLWZOhbdEA"/>

-    <ownedOperation xmi:id="_4C1aF68aEdqf6aL57Hh6KQ" name="allConnections" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true" bodyCondition="_4C1aGa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1aGK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aF68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__i9_Ja8kEdqRKeAGm8hhTw" general="_AwvxoGwNEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__i9_Jq8kEdqRKeAGm8hhTw" general="_00owUGvdEdq4DLWZOhbdEA"/>

+    <ownedOperation xmi:id="__i9_J68kEdqRKeAGm8hhTw" name="allConnections" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true" bodyCondition="__i9_Ka8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_KK8kEdqRKeAGm8hhTw" annotatedElement="__i9_J68kEdqRKeAGm8hhTw">

         <body>The operation allConnections results in the set of all AssociationEnds of the Association.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4C1aGa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C1aF68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1aGq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__i9_Ka8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__i9_J68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_Kq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = memberEnd->union ( self.parents ()->collect (p | p.allConnections () )</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C1aG68aEdqf6aL57Hh6KQ" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aHK8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aHa8aEdqf6aL57Hh6KQ" value="2"/>

+      <returnResult xmi:id="__i9_K68kEdqRKeAGm8hhTw" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_LK8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_La8kEdqRKeAGm8hhTw" value="2"/>

       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4C1aK68aEdqf6aL57Hh6KQ" name="A_qualifier_associationEnd" memberEnd="_4C1aH68aEdqf6aL57Hh6KQ _4C1aJa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4C1aLK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__i9_O68kEdqRKeAGm8hhTw" name="A_qualifier_associationEnd" memberEnd="__i9_Na8kEdqRKeAGm8hhTw __i9_L68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__i9_PK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C1aLa8aEdqf6aL57Hh6KQ" name="TemplateSignature">

-    <ownedComment xmi:id="_4C1aLq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aLa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i9_Pa8kEdqRKeAGm8hhTw" name="TemplateSignature">

+    <ownedComment xmi:id="__i9_Pq8kEdqRKeAGm8hhTw" annotatedElement="__i9_Pa8kEdqRKeAGm8hhTw">

       <body>TemplateParameterSubstitution associates one or more actual parameters with a formal template parameter within the context of a TemplateBinding.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4C1aL68aEdqf6aL57Hh6KQ" name="own_elements" constrainedElement="_4C1aLa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1aMK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aL68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i9_P68kEdqRKeAGm8hhTw" name="own_elements" constrainedElement="__i9_Pa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_QK8kEdqRKeAGm8hhTw" annotatedElement="__i9_P68kEdqRKeAGm8hhTw">

         <body>Parameters must own the elements they parameter or those elements must be owned by the element being templated.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1aMa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_Qa8kEdqRKeAGm8hhTw" language="OCL">

         <body>templatedElement.ownedElement->includesAll(parameter.parameteredElement - parameter.ownedParameteredElement)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4C1aMq8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4C1aM68aEdqf6aL57Hh6KQ" name="parameter" type="_KxRzgGvuEdqG6fBIPwe-mw" isOrdered="true" association="_4C_LoK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1aNK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aM68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__i9_Qq8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__i9_Q68kEdqRKeAGm8hhTw" name="parameter" type="_KxRzgGvuEdqG6fBIPwe-mw" isOrdered="true" association="__jHJuq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_RK8kEdqRKeAGm8hhTw" annotatedElement="__i9_Q68kEdqRKeAGm8hhTw">

         <body>The ordered set of all formal template parameters for this template signature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aNa8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aNq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_Ra8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_Rq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aN68aEdqf6aL57Hh6KQ" name="ownedParameter" type="_KxRzgGvuEdqG6fBIPwe-mw" isOrdered="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ _4C1aM68aEdqf6aL57Hh6KQ" association="_4C_Loq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1aOK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aOa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i9_R68kEdqRKeAGm8hhTw" name="ownedParameter" type="_KxRzgGvuEdqG6fBIPwe-mw" isOrdered="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw __i9_Q68kEdqRKeAGm8hhTw" association="__jQ6EK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i9_SK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_Sa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aOq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aN68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_Sq8kEdqRKeAGm8hhTw" annotatedElement="__i9_R68kEdqRKeAGm8hhTw">

         <body>The formal template parameters that are owned by this template signature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aO68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aPK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_S68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_TK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aPa8aEdqf6aL57Hh6KQ" name="template" type="_4C1at68aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_4DI8Gq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C1aPq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aP68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__i9_Ta8kEdqRKeAGm8hhTw" name="template" type="__i9_x68kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__jQ6Iq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i9_Tq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_T68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aQK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aPa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_UK8kEdqRKeAGm8hhTw" annotatedElement="__i9_Ta8kEdqRKeAGm8hhTw">

         <body>The element that owns this template signature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aQa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aQq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_Ua8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_Uq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_csVgUGvtEdqG6fBIPwe-mw" name="NamedElement" isAbstract="true">

-    <ownedComment xmi:id="_34aTFK8aEdqf6aL57Hh6KQ" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__ZIuEK8kEdqRKeAGm8hhTw" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">

       <body>NamedElement has a visibility attribute.</body>

     </ownedComment>

-    <ownedComment xmi:id="_35J5q68aEdqf6aL57Hh6KQ" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__ZujrK8kEdqRKeAGm8hhTw" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">

       <body>A named element represents elements that may have a name. The name is used for identification of the named element within the namespace in which it is defined. A named element also has a qualified name that allows it to be unambiguously identified within a hierarchy of nested namespaces. NamedElement is an abstract metaclass.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4C1aQ68aEdqf6aL57Hh6KQ" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__i9_U68kEdqRKeAGm8hhTw" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">

       <body>NamedElement specializes Kernel::NamedElement and adds a composition association to Expression.</body>

     </ownedComment>

-    <ownedRule xmi:id="_34aTFa8aEdqf6aL57Hh6KQ" name="has_no_qualified_name" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_34aTFq8aEdqf6aL57Hh6KQ" annotatedElement="_34aTFa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ZIuEa8kEdqRKeAGm8hhTw" name="has_no_qualified_name" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__ZIuEq8kEdqRKeAGm8hhTw" annotatedElement="__ZIuEa8kEdqRKeAGm8hhTw">

         <body>If there is no name, or one of the containing namespaces has no name, there is no qualified name.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35J5rK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__Z4UkK8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty())

 

   implies self.qualifiedName->isEmpty()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_34aTGK8aEdqf6aL57Hh6KQ" name="has_qualified_name" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_34aTGa8aEdqf6aL57Hh6KQ" annotatedElement="_34aTGK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ZIuFK8kEdqRKeAGm8hhTw" name="has_qualified_name" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__ZIuFa8kEdqRKeAGm8hhTw" annotatedElement="__ZIuFK8kEdqRKeAGm8hhTw">

         <body>When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35J5ra8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__Z4Uka8kEdqRKeAGm8hhTw" language="OCL">

         <body>(self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies

   self.qualifiedName = self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_34aTG68aEdqf6aL57Hh6KQ" name="visibility_needs_ownership" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_34aTHK8aEdqf6aL57Hh6KQ" annotatedElement="_34aTG68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__ZIuF68kEdqRKeAGm8hhTw" name="visibility_needs_ownership" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__ZIuGK8kEdqRKeAGm8hhTw" annotatedElement="__ZIuF68kEdqRKeAGm8hhTw">

         <body>If a NamedElement is not owned by a Namespace, it does not have a visibility.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35J5rq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__Z4Ukq8kEdqRKeAGm8hhTw" language="OCL">

         <body>namespace->isEmpty() implies visibility->isEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_34aTHq8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_34aTH68aEdqf6aL57Hh6KQ" name="name" type="_aAyVgGvsEdqG6fBIPwe-mw">

-      <eAnnotations xmi:id="_34aTIK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_34aTIa8aEdqf6aL57Hh6KQ" isUnsettable="true" isID="true"/>

+    <generalization xmi:id="__ZIuGq8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__ZIuG68kEdqRKeAGm8hhTw" name="name" type="_aAyVgGvsEdqG6fBIPwe-mw">

+      <eAnnotations xmi:id="__ZIuHK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__ZIuHa8kEdqRKeAGm8hhTw" isUnsettable="true" isID="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aTIq8aEdqf6aL57Hh6KQ" annotatedElement="_34aTH68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIuHq8kEdqRKeAGm8hhTw" annotatedElement="__ZIuG68kEdqRKeAGm8hhTw">

         <body>The name of the NamedElement.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35J5r68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5sK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Z4Uk68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Z4UlK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34aTJa8aEdqf6aL57Hh6KQ" name="visibility" type="_AyM_oGwMEdq7X4sGURiZYA">

-      <eAnnotations xmi:id="_34aTJq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_34aTJ68aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__ZIuIa8kEdqRKeAGm8hhTw" name="visibility" type="_AyM_oGwMEdq7X4sGURiZYA">

+      <eAnnotations xmi:id="__ZIuIq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__ZIuI68kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aTKK8aEdqf6aL57Hh6KQ" annotatedElement="_34aTJa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIuJK8kEdqRKeAGm8hhTw" annotatedElement="__ZIuIa8kEdqRKeAGm8hhTw">

         <body>Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35J5sa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5sq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Z4Ula8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Z4Ulq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34aTMa8aEdqf6aL57Hh6KQ" name="qualifiedName" type="_aAyVgGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

-      <eAnnotations xmi:id="_34aTMq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_34aTM68aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__ZIuLa8kEdqRKeAGm8hhTw" name="qualifiedName" type="_aAyVgGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">

+      <eAnnotations xmi:id="__ZIuLq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__ZIuL68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aTNK8aEdqf6aL57Hh6KQ" annotatedElement="_34aTMa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIuMK8kEdqRKeAGm8hhTw" annotatedElement="__ZIuLa8kEdqRKeAGm8hhTw">

         <body>A name which allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35J5s68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5tK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Z4Ul68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Z4UmK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38bQTK8aEdqf6aL57Hh6KQ" name="clientDependency" type="_rEDGkGwKEdq7X4sGURiZYA" association="_38bQaK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38bQTa8aEdqf6aL57Hh6KQ" annotatedElement="_38bQTK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__ctmO68kEdqRKeAGm8hhTw" name="clientDependency" type="_rEDGkGwKEdq7X4sGURiZYA" association="__ctmV68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ctmPK8kEdqRKeAGm8hhTw" annotatedElement="__ctmO68kEdqRKeAGm8hhTw">

         <body>Indicates the dependencies that reference the client.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQTq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQT68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmPa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmPq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34aTK68aEdqf6aL57Hh6KQ" name="namespace" type="_ZiwkoGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_342X468aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34aTLK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34aTLa8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__ZIuJ68kEdqRKeAGm8hhTw" name="namespace" type="_ZiwkoGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__Zkyxq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__ZIuKK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZIuKa8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aTLq8aEdqf6aL57Hh6KQ" annotatedElement="_34aTK68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIuKq8kEdqRKeAGm8hhTw" annotatedElement="__ZIuJ68kEdqRKeAGm8hhTw">

         <body>Specifies the namespace that owns the NamedElement.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQUK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQUa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmP68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmQK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aRK8aEdqf6aL57Hh6KQ" name="nameExpression" type="_4C1aaa8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4DI8O68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1aRa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aRq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i9_VK8kEdqRKeAGm8hhTw" name="nameExpression" type="__i9_ea8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__jQ6Q68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i9_Va8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_Vq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aR68aEdqf6aL57Hh6KQ" annotatedElement="_4C1aRK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_V68kEdqRKeAGm8hhTw" annotatedElement="__i9_VK8kEdqRKeAGm8hhTw">

         <body>The string expression used to define the name of this named element.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aSK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aSa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_WK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_Wa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_o2CW4GwKEdq7X4sGURiZYA" name="createDependency" type="_rEDGkGwKEdq7X4sGURiZYA">

       <returnResult xmi:id="_us8f4GwKEdq7X4sGURiZYA" type="_rEDGkGwKEdq7X4sGURiZYA" direction="return"/>

@@ -14181,15 +14181,15 @@
       </returnResult>

       <ownedParameter xmi:id="_6FwyQGwKEdq7X4sGURiZYA" name="localize" type="_UdivYGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34jcvK8aEdqf6aL57Hh6KQ" name="qualifiedName" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34jcwK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34jcva8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_34jcvq8aEdqf6aL57Hh6KQ" operationName="getQualifiedName"/>

+    <ownedOperation xmi:id="__ZR3pa8kEdqRKeAGm8hhTw" name="qualifiedName" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__ZR3qa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__ZR3pq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__ZR3p68kEdqRKeAGm8hhTw" operationName="getQualifiedName"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34jcv68aEdqf6aL57Hh6KQ" annotatedElement="_34jcvK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZR3qK8kEdqRKeAGm8hhTw" annotatedElement="__ZR3pa8kEdqRKeAGm8hhTw">

         <body>When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34jcwK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34jcvK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_34jcwa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZR3qa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZR3pa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__ZR3qq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()

 then 

     self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))

@@ -14198,392 +14198,392 @@
 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34jcwq8aEdqf6aL57Hh6KQ" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__ZR3q68kEdqRKeAGm8hhTw" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34aTN68aEdqf6aL57Hh6KQ" name="allNamespaces" type="_ZiwkoGwLEdq7X4sGURiZYA" isOrdered="true" isQuery="true" bodyCondition="_34aTOa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34aTOK8aEdqf6aL57Hh6KQ" annotatedElement="_34aTN68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__ZIuM68kEdqRKeAGm8hhTw" name="allNamespaces" type="_ZiwkoGwLEdq7X4sGURiZYA" isOrdered="true" isQuery="true" bodyCondition="__ZIuNa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZIuNK8kEdqRKeAGm8hhTw" annotatedElement="__ZIuM68kEdqRKeAGm8hhTw">

         <body>The query allNamespaces() gives the sequence of namespaces in which the NamedElement is nested, working outwards.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34aTOa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34aTN68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35J5t68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZIuNa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZIuM68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__Z4Um68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if self.namespace->isEmpty()

 then Sequence{}

 else self.namespace.allNamespaces()->prepend(self.namespace)

 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34aTO68aEdqf6aL57Hh6KQ" type="_ZiwkoGwLEdq7X4sGURiZYA" isOrdered="true" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35J5uK8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35J5ua8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__ZIuN68kEdqRKeAGm8hhTw" type="_ZiwkoGwLEdq7X4sGURiZYA" isOrdered="true" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Z4UnK8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Z4Una8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_34jcsK8aEdqf6aL57Hh6KQ" name="isDistinguishableFrom" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34jcsq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34jcsa8aEdqf6aL57Hh6KQ" annotatedElement="_34jcsK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__ZIuOq8kEdqRKeAGm8hhTw" name="isDistinguishableFrom" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__ZIuPK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZIuO68kEdqRKeAGm8hhTw" annotatedElement="__ZIuOq8kEdqRKeAGm8hhTw">

         <body>The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace. By default, two named elements are distinguishable if (a) they have unrelated types or (b) they have related types but different names.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34jcsq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34jcsK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35J5uq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZIuPK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZIuOq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__Z4Unq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType)

 then ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()

 else true

 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34jctK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_34jcta8aEdqf6aL57Hh6KQ" name="n" type="_csVgUGvtEdqG6fBIPwe-mw"/>

-      <ownedParameter xmi:id="_34jctq8aEdqf6aL57Hh6KQ" name="ns" type="_ZiwkoGwLEdq7X4sGURiZYA"/>

+      <returnResult xmi:id="__ZIuPq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__ZIuP68kEdqRKeAGm8hhTw" name="n" type="_csVgUGvtEdqG6fBIPwe-mw"/>

+      <ownedParameter xmi:id="__ZIuQK8kEdqRKeAGm8hhTw" name="ns" type="_ZiwkoGwLEdq7X4sGURiZYA"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34jct68aEdqf6aL57Hh6KQ" name="separator" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34jcua8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34jcuK8aEdqf6aL57Hh6KQ" annotatedElement="_34jct68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__ZR3oK8kEdqRKeAGm8hhTw" name="separator" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__ZR3oq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZR3oa8kEdqRKeAGm8hhTw" annotatedElement="__ZR3oK8kEdqRKeAGm8hhTw">

         <body>The query separator() gives the string that is used to separate names when constructing a qualified name.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34jcua8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34jct68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_35TDkK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZR3oq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZR3oK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__Z4Un68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = '::'</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34jcu68aEdqf6aL57Hh6KQ" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__ZR3pK8kEdqRKeAGm8hhTw" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_4AAI8K8aEdqf6aL57Hh6KQ" name="allOwningPackages" type="_-cvRAGvzEdq7X4sGURiZYA" isQuery="true" bodyCondition="_4AAI8q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4AAI8a8aEdqf6aL57Hh6KQ" annotatedElement="_4AAI8K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__hVAyq8kEdqRKeAGm8hhTw" name="allOwningPackages" type="_-cvRAGvzEdq7X4sGURiZYA" isQuery="true" bodyCondition="__hVAzK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hVAy68kEdqRKeAGm8hhTw" annotatedElement="__hVAyq8kEdqRKeAGm8hhTw">

         <body>The query allOwningPackages() returns all the directly or indirectly owning packages.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4AAI8q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4AAI8K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4AAI868aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__hVAzK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__hVAyq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__hVAza8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.namespace->select(p | p.oclIsKindOf(Package))->union(p.allOwningPackages())</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4AAI9K8aEdqf6aL57Hh6KQ" type="_-cvRAGvzEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAI9a8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAI9q8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__hVAzq8kEdqRKeAGm8hhTw" type="_-cvRAGvzEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hVAz68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hVA0K8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_KxRzgGvuEdqG6fBIPwe-mw" name="TemplateParameter">

-    <ownedComment xmi:id="_4C1aSq8aEdqf6aL57Hh6KQ" annotatedElement="_KxRzgGvuEdqG6fBIPwe-mw">

+    <ownedComment xmi:id="__i9_Wq8kEdqRKeAGm8hhTw" annotatedElement="_KxRzgGvuEdqG6fBIPwe-mw">

       <body>TemplateParameter references a ParameterableElement which is exposed as a formal template parameter in the containing template.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4C1aS68aEdqf6aL57Hh6KQ" name="must_be_compatible" constrainedElement="_KxRzgGvuEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4C1aTK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aS68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i9_W68kEdqRKeAGm8hhTw" name="must_be_compatible" constrainedElement="_KxRzgGvuEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__i9_XK8kEdqRKeAGm8hhTw" annotatedElement="__i9_W68kEdqRKeAGm8hhTw">

         <body>The default must be compatible with the formal template parameter.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1aTa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_Xa8kEdqRKeAGm8hhTw" language="OCL">

         <body>default->notEmpty() implies default->isCompatibleWith(parameteredElement)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4C1aTq8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4C1aT68aEdqf6aL57Hh6KQ" name="signature" type="_4C1aLa8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_4C_Loq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C1aUK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aUa8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__i9_Xq8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__i9_X68kEdqRKeAGm8hhTw" name="signature" type="__i9_Pa8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__jQ6EK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i9_YK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_Ya8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aUq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aT68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_Yq8kEdqRKeAGm8hhTw" annotatedElement="__i9_X68kEdqRKeAGm8hhTw">

         <body>The template signature that owns this template parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aU68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aVK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_Y68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_ZK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aVa8aEdqf6aL57Hh6KQ" name="parameteredElement" type="_4C_LEK8aEdqf6aL57Hh6KQ" association="_4DI8F68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1aVq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aVa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__i9_Za8kEdqRKeAGm8hhTw" name="parameteredElement" type="__jHJKq8kEdqRKeAGm8hhTw" association="__jQ6H68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_Zq8kEdqRKeAGm8hhTw" annotatedElement="__i9_Za8kEdqRKeAGm8hhTw">

         <body>The element exposed by this template parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aV68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aWK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_Z68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_aK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aWa8aEdqf6aL57Hh6KQ" name="ownedParameteredElement" type="_4C_LEK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ _4C1aVa8aEdqf6aL57Hh6KQ" association="_4DI8HK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1aWq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aW68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i9_aa8kEdqRKeAGm8hhTw" name="ownedParameteredElement" type="__jHJKq8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw __i9_Za8kEdqRKeAGm8hhTw" association="__jQ6JK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i9_aq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_a68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aXK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aWa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_bK8kEdqRKeAGm8hhTw" annotatedElement="__i9_aa8kEdqRKeAGm8hhTw">

         <body>The element that is owned by this template parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aXa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aXq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_ba8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_bq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aX68aEdqf6aL57Hh6KQ" name="default" type="_4C_LEK8aEdqf6aL57Hh6KQ" association="_4DI8H68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1aYK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aX68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__i9_b68kEdqRKeAGm8hhTw" name="default" type="__jHJKq8kEdqRKeAGm8hhTw" association="__jQ6J68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_cK8kEdqRKeAGm8hhTw" annotatedElement="__i9_b68kEdqRKeAGm8hhTw">

         <body>The element that is the default for this formal template parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aYa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aYq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_ca8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_cq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aY68aEdqf6aL57Hh6KQ" name="ownedDefault" type="_4C_LEK8aEdqf6aL57Hh6KQ" subsettedProperty="_4C1aX68aEdqf6aL57Hh6KQ _33OABK8aEdqf6aL57Hh6KQ" association="_4DI8Ia8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1aZK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aZa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i9_c68kEdqRKeAGm8hhTw" name="ownedDefault" type="__jHJKq8kEdqRKeAGm8hhTw" subsettedProperty="__i9_b68kEdqRKeAGm8hhTw __YFk468kEdqRKeAGm8hhTw" association="__jQ6Ka8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i9_dK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_da8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aZq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aY68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_dq8kEdqRKeAGm8hhTw" annotatedElement="__i9_c68kEdqRKeAGm8hhTw">

         <body>The element that is owned by this template parameter for the purpose of providing a default.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aZ68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aaK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_d68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_eK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C1aaa8aEdqf6aL57Hh6KQ" name="StringExpression">

-    <ownedComment xmi:id="_4C1aaq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aaa8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i9_ea8kEdqRKeAGm8hhTw" name="StringExpression">

+    <ownedComment xmi:id="__i9_eq8kEdqRKeAGm8hhTw" annotatedElement="__i9_ea8kEdqRKeAGm8hhTw">

       <body>StringExpression is a specialization of the general Expression metaclass which adds the ability to contain sub-expressions and whose operands are exclusively LiteralStrings.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4C1aa68aEdqf6aL57Hh6KQ" name="operands" constrainedElement="_4C1aaa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1abK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aa68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i9_e68kEdqRKeAGm8hhTw" name="operands" constrainedElement="__i9_ea8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_fK8kEdqRKeAGm8hhTw" annotatedElement="__i9_e68kEdqRKeAGm8hhTw">

         <body>All the operands of a StringExpression must be LiteralStrings</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1aba8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_fa8kEdqRKeAGm8hhTw" language="OCL">

         <body>operand->forAll (op | op.oclIsKindOf (LiteralString))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4C1abq8aEdqf6aL57Hh6KQ" name="subexpressions" constrainedElement="_4C1aaa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1ab68aEdqf6aL57Hh6KQ" annotatedElement="_4C1abq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i9_fq8kEdqRKeAGm8hhTw" name="subexpressions" constrainedElement="__i9_ea8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_f68kEdqRKeAGm8hhTw" annotatedElement="__i9_fq8kEdqRKeAGm8hhTw">

         <body>If a StringExpression has sub-expressions, it cannot have operands and vice versa (this avoids the problem of having to

 define a collating sequence between operands and subexpressions).

 </body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1acK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_gK8kEdqRKeAGm8hhTw" language="OCL">

         <body>if subExpression->notEmpty() then operand->isEmpty() else operand->notEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4C1aca8aEdqf6aL57Hh6KQ" general="_4C1at68aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4C1acq8aEdqf6aL57Hh6KQ" general="_34jcw68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4C1ac68aEdqf6aL57Hh6KQ" name="subExpression" type="_4C1aaa8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4DI8GK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1adK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1ada8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__i9_ga8kEdqRKeAGm8hhTw" general="__i9_x68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__i9_gq8kEdqRKeAGm8hhTw" general="__ZR3rK8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__i9_g68kEdqRKeAGm8hhTw" name="subExpression" type="__i9_ea8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__jQ6IK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i9_hK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_ha8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1adq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1ac68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_hq8kEdqRKeAGm8hhTw" annotatedElement="__i9_g68kEdqRKeAGm8hhTw">

         <body>The StringExpressions that constitute this StringExpression.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1ad68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aeK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_h68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_iK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aea8aEdqf6aL57Hh6KQ" name="owningExpression" type="_4C1aaa8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_4DI8GK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C1aeq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1ae68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__i9_ia8kEdqRKeAGm8hhTw" name="owningExpression" type="__i9_ea8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__jQ6IK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i9_iq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_i68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1afK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aea8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_jK8kEdqRKeAGm8hhTw" annotatedElement="__i9_ia8kEdqRKeAGm8hhTw">

         <body>The string expression of which this expression is a substring.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1afa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1afq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_ja8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_jq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_4C1af68aEdqf6aL57Hh6KQ" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33qE468aEdqf6aL57Hh6KQ" bodyCondition="_4C1aga8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1agK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1af68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__i9_j68kEdqRKeAGm8hhTw" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YYgCK8kEdqRKeAGm8hhTw" bodyCondition="__i9_ka8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_kK8kEdqRKeAGm8hhTw" annotatedElement="__i9_j68kEdqRKeAGm8hhTw">

         <body>The query stringValue() returns the string that concatenates, in order, all the component string literals of all the subexpressions that are part of the StringExpression.

 

 </body>

       </ownedComment>

-      <ownedRule xmi:id="_4C1aga8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C1af68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1agq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__i9_ka8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__i9_j68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_kq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if subExpression->notEmpty()

 then subExpression->iterate(se; stringValue = ‘| stringValue.concat(se.stringValue()))

 else operand->iterate()(op; stringValue = ‘ | stringValue.concat(op.value))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C1ag68aEdqf6aL57Hh6KQ" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__i9_k68kEdqRKeAGm8hhTw" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C1ahK8aEdqf6aL57Hh6KQ" name="TemplateBinding">

-    <ownedComment xmi:id="_4C1aha8aEdqf6aL57Hh6KQ" annotatedElement="_4C1ahK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i9_lK8kEdqRKeAGm8hhTw" name="TemplateBinding">

+    <ownedComment xmi:id="__i9_la8kEdqRKeAGm8hhTw" annotatedElement="__i9_lK8kEdqRKeAGm8hhTw">

       <body>TemplateBinding is a directed relationship from a bound templateable element to the template signature of the target template. A TemplateBinding owns a set of template parameter substitutions.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4C1ahq8aEdqf6aL57Hh6KQ" name="parameter_substitution_formal" constrainedElement="_4C1ahK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1ah68aEdqf6aL57Hh6KQ" annotatedElement="_4C1ahq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i9_lq8kEdqRKeAGm8hhTw" name="parameter_substitution_formal" constrainedElement="__i9_lK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_l68kEdqRKeAGm8hhTw" annotatedElement="__i9_lq8kEdqRKeAGm8hhTw">

         <body>Each parameter substitution must refer to a formal template parameter of the target template signature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1aiK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_mK8kEdqRKeAGm8hhTw" language="OCL">

         <body>parameterSubstitution->forAll(b | template.parameter->includes(b.formal))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4C1aia8aEdqf6aL57Hh6KQ" name="one_parameter_substitution" constrainedElement="_4C1ahK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1aiq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aia8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i9_ma8kEdqRKeAGm8hhTw" name="one_parameter_substitution" constrainedElement="__i9_lK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_mq8kEdqRKeAGm8hhTw" annotatedElement="__i9_ma8kEdqRKeAGm8hhTw">

         <body>A binding contains at most one parameter substitution for each formal template parameter of the target template signature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1ai68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_m68kEdqRKeAGm8hhTw" language="OCL">

         <body>template.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() &lt;= 1)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4C1ajK8aEdqf6aL57Hh6KQ" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

-    <ownedAttribute xmi:id="_4C1aja8aEdqf6aL57Hh6KQ" name="boundElement" type="_4C1at68aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ _33N_8a8aEdqf6aL57Hh6KQ" association="_4C_Lpa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C1ajq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aj68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__i9_nK8kEdqRKeAGm8hhTw" general="_JBgfoKPAEdqi_5gqUMOQtA"/>

+    <ownedAttribute xmi:id="__i9_na8kEdqRKeAGm8hhTw" name="boundElement" type="__i9_x68kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw __YFk0K8kEdqRKeAGm8hhTw" association="__jQ6E68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i9_nq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_n68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1akK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aja8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_oK8kEdqRKeAGm8hhTw" annotatedElement="__i9_na8kEdqRKeAGm8hhTw">

         <body>The element that is bound by this binding.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aka8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1akq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_oa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_oq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1ak68aEdqf6aL57Hh6KQ" name="signature" type="_4C1aLa8aEdqf6aL57Hh6KQ" subsettedProperty="_33N_968aEdqf6aL57Hh6KQ" association="_4DI8EK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1alK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1ak68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__i9_o68kEdqRKeAGm8hhTw" name="signature" type="__i9_Pa8kEdqRKeAGm8hhTw" subsettedProperty="__YFk1q8kEdqRKeAGm8hhTw" association="__jQ6GK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_pK8kEdqRKeAGm8hhTw" annotatedElement="__i9_o68kEdqRKeAGm8hhTw">

         <body>The template signature for the template that is the target of the binding.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1ala8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1alq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_pa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_pq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1al68aEdqf6aL57Hh6KQ" name="parameterSubstitution" type="_4C1ana8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4DI8E68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1amK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1ama8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i9_p68kEdqRKeAGm8hhTw" name="parameterSubstitution" type="__i9_ra8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__jQ6G68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i9_qK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_qa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1amq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1al68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_qq8kEdqRKeAGm8hhTw" annotatedElement="__i9_p68kEdqRKeAGm8hhTw">

         <body>The parameter substitutions owned by this template binding.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1am68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1anK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_q68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_rK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C1ana8aEdqf6aL57Hh6KQ" name="TemplateParameterSubstitution">

-    <ownedComment xmi:id="_4C1anq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1ana8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i9_ra8kEdqRKeAGm8hhTw" name="TemplateParameterSubstitution">

+    <ownedComment xmi:id="__i9_rq8kEdqRKeAGm8hhTw" annotatedElement="__i9_ra8kEdqRKeAGm8hhTw">

       <body>TemplateParameterSubstitution associates one or more actual parameters with a formal template parameter within the context of a TemplateBinding.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4C1an68aEdqf6aL57Hh6KQ" name="must_be_compatible" constrainedElement="_4C1ana8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1aoK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1an68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__i9_r68kEdqRKeAGm8hhTw" name="must_be_compatible" constrainedElement="__i9_ra8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_sK8kEdqRKeAGm8hhTw" annotatedElement="__i9_r68kEdqRKeAGm8hhTw">

         <body>The actual parameter must be compatible with the formal template parameter, e.g. the actual parameter for a class template parameter must be a class.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1aoa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__i9_sa8kEdqRKeAGm8hhTw" language="OCL">

         <body>actual->forAll(a | a.isCompatibleWith(formal.parameteredElement))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4C1aoq8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4C1ao68aEdqf6aL57Hh6KQ" name="formal" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_4C_LqK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1apK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1ao68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__i9_sq8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__i9_s68kEdqRKeAGm8hhTw" name="formal" type="_KxRzgGvuEdqG6fBIPwe-mw" association="__jQ6Fq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_tK8kEdqRKeAGm8hhTw" annotatedElement="__i9_s68kEdqRKeAGm8hhTw">

         <body>The formal template parameter that is associated with this substitution.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1apa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1apq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_ta8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_tq8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1ap68aEdqf6aL57Hh6KQ" name="templateBinding" type="_4C1ahK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_4DI8E68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C1aqK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aqa8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__i9_t68kEdqRKeAGm8hhTw" name="templateBinding" type="__i9_lK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__jQ6G68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i9_uK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_ua8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aqq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1ap68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_uq8kEdqRKeAGm8hhTw" annotatedElement="__i9_t68kEdqRKeAGm8hhTw">

         <body>The optional bindings from this element to templates.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aq68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1arK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_u68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_vK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1ara8aEdqf6aL57Hh6KQ" name="actual" type="_4C_LEK8aEdqf6aL57Hh6KQ" association="_4DI8Fa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1arq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1ara8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__i9_va8kEdqRKeAGm8hhTw" name="actual" type="__jHJKq8kEdqRKeAGm8hhTw" association="__jQ6Ha8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__i9_vq8kEdqRKeAGm8hhTw" annotatedElement="__i9_va8kEdqRKeAGm8hhTw">

         <body>The elements that are the actual parameters for this substitution.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1ar68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1asK8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_v68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_wK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1asa8aEdqf6aL57Hh6KQ" name="ownedActual" type="_4C_LEK8aEdqf6aL57Hh6KQ" subsettedProperty="_4C1ara8aEdqf6aL57Hh6KQ _33OABK8aEdqf6aL57Hh6KQ" association="_4DI8J68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1asq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1as68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i9_wa8kEdqRKeAGm8hhTw" name="ownedActual" type="__jHJKq8kEdqRKeAGm8hhTw" subsettedProperty="__i9_va8kEdqRKeAGm8hhTw __YFk468kEdqRKeAGm8hhTw" association="__jQ6L68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i9_wq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_w68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1atK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1asa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_xK8kEdqRKeAGm8hhTw" annotatedElement="__i9_wa8kEdqRKeAGm8hhTw">

         <body>The actual parameters that are owned by this substitution.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1ata8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1atq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_xa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_xq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C1at68aEdqf6aL57Hh6KQ" name="TemplateableElement" isAbstract="true">

-    <ownedComment xmi:id="_4C1auK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1at68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__i9_x68kEdqRKeAGm8hhTw" name="TemplateableElement" isAbstract="true">

+    <ownedComment xmi:id="__jHJEK8kEdqRKeAGm8hhTw" annotatedElement="__i9_x68kEdqRKeAGm8hhTw">

       <body>TemplateableElement may contain a template signature which specifies the formal template parameters. A TemplateableElement that contains a template signature is often referred to as a template. TemplateableElement may contain bindings to templates that describe how the templateable element is constructed by replacing the formal template parameters with actual parameters. A TemplateableElement containing bindings is oftenreferred to as a bound element.</body>

     </ownedComment>

-    <generalization xmi:id="_4C1aua8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4C1auq8aEdqf6aL57Hh6KQ" name="templateBinding" type="_4C1ahK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4C_Lpa8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1au68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1avK8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__jHJEa8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__jHJEq8kEdqRKeAGm8hhTw" name="templateBinding" type="__i9_lK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__jQ6E68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__jHJE68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__jHJFK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1ava8aEdqf6aL57Hh6KQ" annotatedElement="_4C1auq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__jHJFa8kEdqRKeAGm8hhTw" annotatedElement="__jHJEq8kEdqRKeAGm8hhTw">

         <body>The optional bindings from this element to templates.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1avq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1av68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJFq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJF68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1awK8aEdqf6aL57Hh6KQ" name="ownedTemplateSignature" type="_4C1aLa8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4DI8Gq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1awa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1awq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__jHJGK8kEdqRKeAGm8hhTw" name="ownedTemplateSignature" type="__i9_Pa8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__jQ6Iq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__jHJGa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__jHJGq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aw68aEdqf6aL57Hh6KQ" annotatedElement="_4C1awK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__jHJG68kEdqRKeAGm8hhTw" annotatedElement="__jHJGK8kEdqRKeAGm8hhTw">

         <body>The optional template signature specifying the formal template parameters.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1axK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1axa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJHK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJHa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_4C1axq8aEdqf6aL57Hh6KQ" name="parameterableElements" type="_4C_LEK8aEdqf6aL57Hh6KQ" isQuery="true" bodyCondition="_4C1ayK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1ax68aEdqf6aL57Hh6KQ" annotatedElement="_4C1axq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__jHJHq8kEdqRKeAGm8hhTw" name="parameterableElements" type="__jHJKq8kEdqRKeAGm8hhTw" isQuery="true" bodyCondition="__jHJIK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJH68kEdqRKeAGm8hhTw" annotatedElement="__jHJHq8kEdqRKeAGm8hhTw">

         <body>The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element. By default, this set includes all the owned elements. Subclasses may override this operation if they choose to restrict the set of parameterable elements.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4C1ayK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C1axq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1aya8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJIK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__jHJHq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJIa8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = allOwnedElements->select(oclIsKindOf(ParameterableElement))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C1ayq8aEdqf6aL57Hh6KQ" type="_4C_LEK8aEdqf6aL57Hh6KQ" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1ay68aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1azK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__jHJIq8kEdqRKeAGm8hhTw" type="__jHJKq8kEdqRKeAGm8hhTw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJI68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJJK8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_4C1aza8aEdqf6aL57Hh6KQ" name="isTemplate" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_4C1az68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C1azq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aza8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__jHJJa8kEdqRKeAGm8hhTw" name="isTemplate" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__jHJJ68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJJq8kEdqRKeAGm8hhTw" annotatedElement="__jHJJa8kEdqRKeAGm8hhTw">

         <body>The query isTemplate() returns whether this templateable element is actually a template.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4C1az68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C1aza8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C1a0K8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJJ68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__jHJJa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJKK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = ownedTemplateSignature->notEmpty()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C1a0a8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__jHJKa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C_LEK8aEdqf6aL57Hh6KQ" name="ParameterableElement" isAbstract="true">

-    <ownedComment xmi:id="_4C_LEa8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LEK8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__jHJKq8kEdqRKeAGm8hhTw" name="ParameterableElement" isAbstract="true">

+    <ownedComment xmi:id="__jHJK68kEdqRKeAGm8hhTw" annotatedElement="__jHJKq8kEdqRKeAGm8hhTw">

       <body>A ParameterableElement can be referenced by a TemplateParameter when defining a formal template parameter for a template. A ParameterableElement can be referenced by a TemplateParameterSubstitution when used as an actual parameter in a binding of a template.

 

 ParameterableElement is an abstract metaclass.

 

 </body>

     </ownedComment>

-    <generalization xmi:id="_4C_LEq8aEdqf6aL57Hh6KQ" general="_kl90MGvbEdq4DLWZOhbdEA"/>

-    <ownedAttribute xmi:id="_4C_LE68aEdqf6aL57Hh6KQ" name="templateParameter" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_4DI8F68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LFK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LE68aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__jHJLK8kEdqRKeAGm8hhTw" general="_kl90MGvbEdq4DLWZOhbdEA"/>

+    <ownedAttribute xmi:id="__jHJLa8kEdqRKeAGm8hhTw" name="templateParameter" type="_KxRzgGvuEdqG6fBIPwe-mw" association="__jQ6H68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJLq8kEdqRKeAGm8hhTw" annotatedElement="__jHJLa8kEdqRKeAGm8hhTw">

         <body>The template parameter that exposes this element as a formal parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_LFa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_LFq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJL68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJMK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_LF68aEdqf6aL57Hh6KQ" name="owningTemplateParameter" type="_KxRzgGvuEdqG6fBIPwe-mw" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ _4C_LE68aEdqf6aL57Hh6KQ" association="_4DI8HK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C_LGK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C_LGa8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__jHJMa8kEdqRKeAGm8hhTw" name="owningTemplateParameter" type="_KxRzgGvuEdqG6fBIPwe-mw" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw __jHJLa8kEdqRKeAGm8hhTw" association="__jQ6JK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__jHJMq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__jHJM68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C_LGq8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LF68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__jHJNK8kEdqRKeAGm8hhTw" annotatedElement="__jHJMa8kEdqRKeAGm8hhTw">

         <body>The formal template parameter that owns this element.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_LG68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_LHK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJNa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJNq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedOperation xmi:id="_4C_LHa8aEdqf6aL57Hh6KQ" name="isCompatibleWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_4C_LH68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LHq8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LHa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__jHJN68kEdqRKeAGm8hhTw" name="isCompatibleWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__jHJOa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJOK8kEdqRKeAGm8hhTw" annotatedElement="__jHJN68kEdqRKeAGm8hhTw">

         <body>The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. Subclasses should override this operation to specify different compatibility constraints.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4C_LH68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C_LHa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_LIK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJOa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__jHJN68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJOq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = p->oclIsKindOf(self.oclType)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C_LIa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_4C_LIq8aEdqf6aL57Hh6KQ" name="p" type="_4C_LEK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__jHJO68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__jHJPK8kEdqRKeAGm8hhTw" name="p" type="__jHJKq8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_4C_LI68aEdqf6aL57Hh6KQ" name="isTemplateParameter" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_4C_LJa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LJK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LI68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__jHJPa8kEdqRKeAGm8hhTw" name="isTemplateParameter" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__jHJP68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJPq8kEdqRKeAGm8hhTw" annotatedElement="__jHJPa8kEdqRKeAGm8hhTw">

         <body>The query isTemplateParameter() determines if this parameterable element is exposed as a formal template parameter.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4C_LJa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C_LI68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_LJq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJP68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__jHJPa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJQK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = templateParameter->notEmpty()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C_LJ68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__jHJQa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_Jp_1oGveEdq4DLWZOhbdEA" name="Property">

-    <ownedComment xmi:id="_33qFLq8aEdqf6aL57Hh6KQ" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__YiQ-68kEdqRKeAGm8hhTw" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

       <body>Property represents a declared state of one or more instances in terms of a named relationship to a value or values. When a property is an attribute of a classifier, the value or values are related to the instance of the classifier by being held in slots of the instance. When a property is an association end, the value or values are related to the instance or instances at the other end(s) of the association.

 

 

 

 Property is indirectly a subclass of Constructs::TypedElement. The range of valid values represented by the property can be controlled by setting the property's type.</body>

     </ownedComment>

-    <ownedComment xmi:id="_36pHfa8aEdqf6aL57Hh6KQ" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__bEniK8kEdqRKeAGm8hhTw" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

       <body>A property is a structural feature.

 

 A property related to a classifier by ownedAttribute represents an attribute, and it may also represent an association end. It relates an instance of the class to a value or collection of values of the type of the attribute.

@@ -14592,47 +14592,47 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_38uyOK8aEdqf6aL57Hh6KQ" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__c2wcK8kEdqRKeAGm8hhTw" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

       <body>A property represents a set of instances that are owned by a containing classifier instance.</body>

     </ownedComment>

-    <ownedComment xmi:id="_3-OARK8aEdqf6aL57Hh6KQ" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__efu1q8kEdqRKeAGm8hhTw" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

       <body>In the metamodel, Property is a specialization of DeploymentTarget.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4C1aHq8aEdqf6aL57Hh6KQ" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__i9_Lq8kEdqRKeAGm8hhTw" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

       <body>Property represents a declared state of one or more instances in terms of a named relationship to a value or values. When a property is an attribute of a classifier, the value or values are related to the instance of the classifier by being held in slots of the instance. When a property is an association end, the value or values are related to the instance or instances at the other end(s) of the association. Property is indirectly a subclass of Constructs::TypedElement. The range of valid values represented by the property can be controlled by setting the property's type.

 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_4C_LKK8aEdqf6aL57Hh6KQ" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__jHJQq8kEdqRKeAGm8hhTw" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">

       <body>Property specializes ParameterableElement to specify that a property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>

     </ownedComment>

-    <ownedRule xmi:id="_33qFL68aEdqf6aL57Hh6KQ" name="multiplicity_of_composite" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33qFMK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFL68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YiQ_K8kEdqRKeAGm8hhTw" name="multiplicity_of_composite" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YiQ_a8kEdqRKeAGm8hhTw" annotatedElement="__YiQ_K8kEdqRKeAGm8hhTw">

         <body>A multiplicity of a composite aggregation must not have an upper bound greater than 1.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36pHfq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFL68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bEnia8kEdqRKeAGm8hhTw" annotatedElement="__YiQ_K8kEdqRKeAGm8hhTw">

         <body>A multiplicity on an aggregate end of a composite aggregation must not have an upper bound greater than 1.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHf68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEniq8kEdqRKeAGm8hhTw" language="OCL">

         <body>isComposite implies (upperBound()->isEmpty() or upperBound() &lt;= 1)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33qFMq8aEdqf6aL57Hh6KQ" name="subsetting_context_conforms" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33qFM68aEdqf6aL57Hh6KQ" annotatedElement="_33qFMq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YiQ_68kEdqRKeAGm8hhTw" name="subsetting_context_conforms" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YiRAK8kEdqRKeAGm8hhTw" annotatedElement="__YiQ_68kEdqRKeAGm8hhTw">

         <body>Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHgK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEni68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.subsettedProperty->notEmpty() implies

   (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc |

     self.subsettedProperty->forAll(sp |

       sp.subsettingContext()->exists(c | sc.conformsTo(c)))))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33qFNa8aEdqf6aL57Hh6KQ" name="redefined_property_inherited" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33qFNq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFNa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YiRAq8kEdqRKeAGm8hhTw" name="redefined_property_inherited" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YiRA68kEdqRKeAGm8hhTw" annotatedElement="__YiRAq8kEdqRKeAGm8hhTw">

         <body>A redefined property must be inherited from a more general classifier containing the redefining property.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHga8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnjK8kEdqRKeAGm8hhTw" language="OCL">

         <body>if (redefinedProperty->notEmpty()) then

 

   (redefinitionContext->notEmpty() and

@@ -14644,224 +14644,224 @@
           fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33qFOK8aEdqf6aL57Hh6KQ" name="subsetting_rules" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33qFOa8aEdqf6aL57Hh6KQ" annotatedElement="_33qFOK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YiRBa8kEdqRKeAGm8hhTw" name="subsetting_rules" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YiRBq8kEdqRKeAGm8hhTw" annotatedElement="__YiRBa8kEdqRKeAGm8hhTw">

         <body>A subsetting property may strengthen the type of the subsetted property, and its upper bound may be less.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHgq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnja8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.subsettedProperty->forAll(sp |

   self.type.conformsTo(sp.type) and

     ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies

       self.upperBound()&lt;=sp.upperBound() ))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33qFO68aEdqf6aL57Hh6KQ" name="navigable_readonly" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33qFPK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFO68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YiRCK8kEdqRKeAGm8hhTw" name="navigable_readonly" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YiRCa8kEdqRKeAGm8hhTw" annotatedElement="__YiRCK8kEdqRKeAGm8hhTw">

         <body>Only a navigable property can be marked as readOnly.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHg68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnjq8kEdqRKeAGm8hhTw" language="OCL">

         <body>isReadOnly implies isNavigable()</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33qFPq8aEdqf6aL57Hh6KQ" name="derived_union_is_derived" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33qFP68aEdqf6aL57Hh6KQ" annotatedElement="_33qFPq8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YiRC68kEdqRKeAGm8hhTw" name="derived_union_is_derived" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YiRDK8kEdqRKeAGm8hhTw" annotatedElement="__YiRC68kEdqRKeAGm8hhTw">

         <body>A derived union is derived.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHhK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnj68kEdqRKeAGm8hhTw" language="OCL">

         <body>isDerivedUnion implies isDerived</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_36pHha8aEdqf6aL57Hh6KQ" name="derived_union_is_read_only" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_36pHhq8aEdqf6aL57Hh6KQ" annotatedElement="_36pHha8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__bEnkK8kEdqRKeAGm8hhTw" name="derived_union_is_read_only" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__bEnka8kEdqRKeAGm8hhTw" annotatedElement="__bEnkK8kEdqRKeAGm8hhTw">

         <body>A derived union is read only.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36pHh68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnkq8kEdqRKeAGm8hhTw" language="OCL">

         <body>isDerivedUnion implies isReadOnly</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_33qFQa8aEdqf6aL57Hh6KQ" name="subsetted_property_names" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_33qFQq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFQa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YiRDq8kEdqRKeAGm8hhTw" name="subsetted_property_names" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YiRD68kEdqRKeAGm8hhTw" annotatedElement="__YiRDq8kEdqRKeAGm8hhTw">

         <body>A property may not subset a property with the same name.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36y4YK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnk68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_3-OARa8aEdqf6aL57Hh6KQ" name="deployment_target" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_3-OARq8aEdqf6aL57Hh6KQ" annotatedElement="_3-OARa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__efu168kEdqRKeAGm8hhTw" name="deployment_target" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__efu2K8kEdqRKeAGm8hhTw" annotatedElement="__efu168kEdqRKeAGm8hhTw">

         <body>A Property can be a DeploymentTarget if it is a kind of Node and functions as a part in the internal structure of an encompassing Node.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_3-OAR68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__efu2a8kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4C_LKa8aEdqf6aL57Hh6KQ" name="binding_to_attribute" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_4C_LKq8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LKa8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__jHJQ68kEdqRKeAGm8hhTw" name="binding_to_attribute" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__jHJRK8kEdqRKeAGm8hhTw" annotatedElement="__jHJQ68kEdqRKeAGm8hhTw">

         <body>A binding of a property template parameter representing an attribute must be to an attribute.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_LK68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJRa8kEdqRKeAGm8hhTw" language="OCL">

         <body>(isAttribute(self) and (templateParameterSubstitution->notEmpty())

 

   implies (templateParameterSubstitution->forAll(ts | isAttribute(ts.formal)))</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_38uyOa8aEdqf6aL57Hh6KQ" general="_38uyV68aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_3-OASK8aEdqf6aL57Hh6KQ" general="_3-OAJK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_33qFRK8aEdqf6aL57Hh6KQ" general="_33g7Ca8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4C_LLa8aEdqf6aL57Hh6KQ" general="_4C1at68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_33qFUa8aEdqf6aL57Hh6KQ" name="isDerived" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_33qFUq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFUa8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__c2wca8kEdqRKeAGm8hhTw" general="__c2wj68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__efu2q8kEdqRKeAGm8hhTw" general="__eV-Wq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__YiREa8kEdqRKeAGm8hhTw" general="__YYf6a8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jHJR68kEdqRKeAGm8hhTw" general="__i9_x68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__YiRHq8kEdqRKeAGm8hhTw" name="isDerived" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__YiRH68kEdqRKeAGm8hhTw" annotatedElement="__YiRHq8kEdqRKeAGm8hhTw">

         <body>If isDerived is true, the value of the attribute is derived from information elsewhere.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36y4Ya8aEdqf6aL57Hh6KQ" annotatedElement="_33qFUa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bEnlK8kEdqRKeAGm8hhTw" annotatedElement="__YiRHq8kEdqRKeAGm8hhTw">

         <body>Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_36y4Yq8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__bNxUK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFRa8aEdqf6aL57Hh6KQ" name="isReadOnly" type="_UdivYGvsEdqG6fBIPwe-mw" redefinedProperty="_36WMl68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFRq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFRa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__YiREq8kEdqRKeAGm8hhTw" name="isReadOnly" type="_UdivYGvsEdqG6fBIPwe-mw" redefinedProperty="__a62bK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiRE68kEdqRKeAGm8hhTw" annotatedElement="__YiREq8kEdqRKeAGm8hhTw">

         <body>This redefines the corresponding attribute in Basic::Property and Abstractions::StructuralFeature.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36y4Y68aEdqf6aL57Hh6KQ" annotatedElement="_33qFRa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxUa8kEdqRKeAGm8hhTw" annotatedElement="__YiREq8kEdqRKeAGm8hhTw">

         <body>If true, the attribute may only be read, and not written.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_36y4ZK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__bNxUq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFVK8aEdqf6aL57Hh6KQ" name="isDerivedUnion" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_33qFVa8aEdqf6aL57Hh6KQ" annotatedElement="_33qFVK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__YiRIa8kEdqRKeAGm8hhTw" name="isDerivedUnion" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__YiRIq8kEdqRKeAGm8hhTw" annotatedElement="__YiRIa8kEdqRKeAGm8hhTw">

         <body>Specifies whether the property is derived as the union of all of the properties that are constrained to subset it.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_36y4Za8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__bNxU68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFSK8aEdqf6aL57Hh6KQ" name="default" type="_aAyVgGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_33qFSa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_33qFSq8aEdqf6aL57Hh6KQ" isUnsettable="true"/>

+    <ownedAttribute xmi:id="__YiRFa8kEdqRKeAGm8hhTw" name="default" type="_aAyVgGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__YiRFq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__YiRF68kEdqRKeAGm8hhTw" isUnsettable="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFS68aEdqf6aL57Hh6KQ" annotatedElement="_33qFSK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiRGK8kEdqRKeAGm8hhTw" annotatedElement="__YiRFa8kEdqRKeAGm8hhTw">

         <body>Specifies a String that represents a value to be used when no argument is supplied for the Property.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36y4Zq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFSK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxVK8kEdqRKeAGm8hhTw" annotatedElement="__YiRFa8kEdqRKeAGm8hhTw">

         <body>A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4Z68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4aK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxVa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxVq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36y4aa8aEdqf6aL57Hh6KQ" name="aggregation" type="_B3q9cGwNEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_36y4aq8aEdqf6aL57Hh6KQ" annotatedElement="_36y4aa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__bNxV68kEdqRKeAGm8hhTw" name="aggregation" type="_B3q9cGwNEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__bNxWK8kEdqRKeAGm8hhTw" annotatedElement="__bNxV68kEdqRKeAGm8hhTw">

         <body>Specifies the kind of aggregation that applies to the Property.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_36y4a68aEdqf6aL57Hh6KQ" instance="_37YuaK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__bNxWa8kEdqRKeAGm8hhTw" instance="__bqda68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFTq8aEdqf6aL57Hh6KQ" name="isComposite" type="_UdivYGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_36y4bK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_36y4ba8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YiRG68kEdqRKeAGm8hhTw" name="isComposite" type="_UdivYGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__bNxWq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__bNxW68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFT68aEdqf6aL57Hh6KQ" annotatedElement="_33qFTq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiRHK8kEdqRKeAGm8hhTw" annotatedElement="__YiRG68kEdqRKeAGm8hhTw">

         <body>If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36y4bq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFTq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxXK8kEdqRKeAGm8hhTw" annotatedElement="__YiRG68kEdqRKeAGm8hhTw">

         <body>This is a derived value, indicating whether the aggregation of the Property is composite or not.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_33qFUK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__YiRHa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFV68aEdqf6aL57Hh6KQ" name="class" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_34tNs68aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ" association="_34jc9q8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33qFWK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33qFWa8aEdqf6aL57Hh6KQ" referenceName="class_" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__YiRJK8kEdqRKeAGm8hhTw" name="class" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="__ZR37a8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw" association="__ZR3368kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YiRJa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YiRJq8kEdqRKeAGm8hhTw" referenceName="class_" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFWq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFV68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiRJ68kEdqRKeAGm8hhTw" annotatedElement="__YiRJK8kEdqRKeAGm8hhTw">

         <body>References the Class that owns the Property.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4b68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4cK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxXa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxXq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFY68aEdqf6aL57Hh6KQ" name="redefinedProperty" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_34tNtq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFZK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFY68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__YiRMK8kEdqRKeAGm8hhTw" name="redefinedProperty" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__ZR38K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiRMa8kEdqRKeAGm8hhTw" annotatedElement="__YiRMK8kEdqRKeAGm8hhTw">

         <body>References the properties that are redefined by this property.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4ca8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4cq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxX68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxYK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFXa8aEdqf6aL57Hh6KQ" name="owningAssociation" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_33qFd68aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ" association="_34jc_a8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33qFXq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33qFX68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__YiRKq8kEdqRKeAGm8hhTw" name="owningAssociation" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="__YiRRK8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw" association="__ZR35q8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YiRK68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YiRLK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFYK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFXa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiRLa8kEdqRKeAGm8hhTw" annotatedElement="__YiRKq8kEdqRKeAGm8hhTw">

         <body>References the owning association of this property, if any.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36y4c68aEdqf6aL57Hh6KQ" annotatedElement="_33qFXa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxYa8kEdqRKeAGm8hhTw" annotatedElement="__YiRKq8kEdqRKeAGm8hhTw">

         <body>References the owning association of this property.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4dK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4da8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxYq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxY68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFca8aEdqf6aL57Hh6KQ" name="datatype" type="__1ap4HLzEdqziYxiZo0YtA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ _34tNs68aEdqf6aL57Hh6KQ" association="_34tNxa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33qFcq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33qFc68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__YiRPq8kEdqRKeAGm8hhTw" name="datatype" type="__1ap4HLzEdqziYxiZo0YtA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw __ZR37a8kEdqRKeAGm8hhTw" association="__ZbooK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YiRP68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YiRQK8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFdK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFca8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiRQa8kEdqRKeAGm8hhTw" annotatedElement="__YiRPq8kEdqRKeAGm8hhTw">

         <body>The DataType that owns this Operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36y4dq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFca8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxZK8kEdqRKeAGm8hhTw" annotatedElement="__YiRPq8kEdqRKeAGm8hhTw">

         <body>The DataType that owns this Property.

 

 </body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4d68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4eK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxZa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxZq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_36y4ea8aEdqf6aL57Hh6KQ" name="defaultValue" type="_33qE0K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37ifaK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_36y4eq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_36y4e68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__bNxZ68kEdqRKeAGm8hhTw" name="defaultValue" type="__YYf9a8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__b9YOq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__bNxaK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__bNxaa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_36y4fK8aEdqf6aL57Hh6KQ" annotatedElement="_36y4ea8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxaq8kEdqRKeAGm8hhTw" annotatedElement="__bNxZ68kEdqRKeAGm8hhTw">

         <body>A ValueSpecification that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4fa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4fq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxa68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxbK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFa68aEdqf6aL57Hh6KQ" name="opposite" type="_Jp_1oGveEdq4DLWZOhbdEA" isDerived="true" association="_34tNu68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33qFbK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_33qFba8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__YiROK8kEdqRKeAGm8hhTw" name="opposite" type="_Jp_1oGveEdq4DLWZOhbdEA" isDerived="true" association="__ZR39a8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YiROa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__YiROq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFbq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFa68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiRO68kEdqRKeAGm8hhTw" annotatedElement="__YiROK8kEdqRKeAGm8hhTw">

         <body>In the case where the property is one navigable end of a binary association with both ends navigable, this gives the other end.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4f68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4gK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxba8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxbq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFZ68aEdqf6aL57Hh6KQ" name="subsettedProperty" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_34tNua8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFaK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFZ68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__YiRNK8kEdqRKeAGm8hhTw" name="subsettedProperty" type="_Jp_1oGveEdq4DLWZOhbdEA" association="__ZR3868kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiRNa8kEdqRKeAGm8hhTw" annotatedElement="__YiRNK8kEdqRKeAGm8hhTw">

         <body>References the properties of which this property is constrained to be a subset.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4ga8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4gq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxb68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxcK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_33qFd68aEdqf6aL57Hh6KQ" name="association" type="_AwvxoGwNEdq7X4sGURiZYA" association="_342Xva8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFeK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFd68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__YiRRK8kEdqRKeAGm8hhTw" name="association" type="_AwvxoGwNEdq7X4sGURiZYA" association="__ZkyoK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiRRa8kEdqRKeAGm8hhTw" annotatedElement="__YiRRK8kEdqRKeAGm8hhTw">

         <body>References the association of which this property is a member, if any.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36y4g68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36y4hK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxca8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxcq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aH68aEdqf6aL57Hh6KQ" name="qualifier" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4C1aK68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C1aIK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aIa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__i9_L68kEdqRKeAGm8hhTw" name="qualifier" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__i9_O68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__i9_MK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_Ma8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aIq8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aH68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_Mq8kEdqRKeAGm8hhTw" annotatedElement="__i9_L68kEdqRKeAGm8hhTw">

         <body>An optional list of ordered qualifier attributes for the end. If the list is empty, then the Association is not qualified.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aI68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aJK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_M68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_NK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C1aJa8aEdqf6aL57Hh6KQ" name="associationEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_33OACq8aEdqf6aL57Hh6KQ" association="_4C1aK68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C1aJq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C1aJ68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__i9_Na8kEdqRKeAGm8hhTw" name="associationEnd" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="__YFk6a8kEdqRKeAGm8hhTw" association="__i9_O68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__i9_Nq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__i9_N68kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C1aKK8aEdqf6aL57Hh6KQ" annotatedElement="_4C1aJa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__i9_OK8kEdqRKeAGm8hhTw" annotatedElement="__i9_Na8kEdqRKeAGm8hhTw">

         <body>Designates the optional association end that owns a qualifier attribute.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C1aKa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C1aKq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__i9_Oa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__i9_Oq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_oLamMFYJEdqrn7iZ0eqieg" name="getDefault" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_vkrSwFYJEdqrn7iZ0eqieg" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return">

@@ -14904,27 +14904,27 @@
       <ownedParameter xmi:id="_NXJxEa6_EdqjppZik4kD8A" name="value" type="_dRZxsGvsEdqG6fBIPwe-mw" effect="read"/>

     </ownedOperation>

     <ownedOperation xmi:id="_WU_10K6_EdqjppZik4kD8A" name="setNullDefaultValue"/>

-    <ownedOperation xmi:id="_33z13K8aEdqf6aL57Hh6KQ" name="isAttribute" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33z13q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33z13a8aEdqf6aL57Hh6KQ" annotatedElement="_33z13K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YsBxa8kEdqRKeAGm8hhTw" name="isAttribute" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YsBx68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YsBxq8kEdqRKeAGm8hhTw" annotatedElement="__YsBxa8kEdqRKeAGm8hhTw">

         <body>The query isAttribute() is true if the Property is defined as an attribute of some classifier.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33z13q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33z13K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36y4ha8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YsBx68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YsBxa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxc68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = Classifier.allInstances->exists(c | c.attribute->includes(p))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33z14K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33z14a8aEdqf6aL57Hh6KQ" name="p" type="_Jp_1oGveEdq4DLWZOhbdEA" effect="read"/>

+      <returnResult xmi:id="__YsBya8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__YsByq8kEdqRKeAGm8hhTw" name="p" type="_Jp_1oGveEdq4DLWZOhbdEA" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33qFe68aEdqf6aL57Hh6KQ" name="opposite" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true" bodyCondition="_33qFf68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33qFfK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_33qFfa8aEdqf6aL57Hh6KQ" operationName="getOpposite"/>

+    <ownedOperation xmi:id="__YiRSK8kEdqRKeAGm8hhTw" name="opposite" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true" bodyCondition="__YiRTK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__YiRSa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__YiRSq8kEdqRKeAGm8hhTw" operationName="getOpposite"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33qFfq8aEdqf6aL57Hh6KQ" annotatedElement="_33qFe68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__YiRS68kEdqRKeAGm8hhTw" annotatedElement="__YiRSK8kEdqRKeAGm8hhTw">

         <body>If this property is owned by a class, associated with a binary association, and the other end of the association is also owned by a class, then opposite gives the other end.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qFf68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qFe68aEdqf6aL57Hh6KQ _33qFa68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36y4hq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YiRTK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YiRSK8kEdqRKeAGm8hhTw __YiROK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxdK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if owningAssociation->isEmpty() and association.memberEnd->size() = 2

   then

     let otherEnd = (association.memberEnd - self)->any() in

@@ -14933,33 +14933,33 @@
     endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qFga8aEdqf6aL57Hh6KQ" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>

+      <returnResult xmi:id="__YiRTq8kEdqRKeAGm8hhTw" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_36y4h68aEdqf6aL57Hh6KQ" name="isComposite" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_36y4ia8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_36y4iK8aEdqf6aL57Hh6KQ" annotatedElement="_36y4h68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__bNxda8kEdqRKeAGm8hhTw" name="isComposite" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__bNxd68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__bNxdq8kEdqRKeAGm8hhTw" annotatedElement="__bNxda8kEdqRKeAGm8hhTw">

         <body>The value of isComposite is true only if aggregation is composite.</body>

       </ownedComment>

-      <ownedRule xmi:id="_36y4ia8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_36y4h68aEdqf6aL57Hh6KQ _33qFTq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36y4iq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__bNxd68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__bNxda8kEdqRKeAGm8hhTw __YiRG68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxeK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (self.aggregation = #composite)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_36y4i68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__bNxea8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33qFgq8aEdqf6aL57Hh6KQ" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_33qFhK8aEdqf6aL57Hh6KQ" redefinedOperation="_33g69a8aEdqf6aL57Hh6KQ" bodyCondition="_33qFhq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qFg68aEdqf6aL57Hh6KQ" annotatedElement="_33qFgq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YiRT68kEdqRKeAGm8hhTw" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__YiRUa8kEdqRKeAGm8hhTw" redefinedOperation="__YYf1a8kEdqRKeAGm8hhTw" bodyCondition="__YiRU68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiRUK8kEdqRKeAGm8hhTw" annotatedElement="__YiRT68kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property, and the redefining property is derived if the redefined property is derived.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36y4jK8aEdqf6aL57Hh6KQ" annotatedElement="_33qFgq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxeq8kEdqRKeAGm8hhTw" annotatedElement="__YiRT68kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property, and the redefining property is derived if the redefined attribute is property.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qFhK8aEdqf6aL57Hh6KQ" constrainedElement="_33qFgq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36y4ja8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YiRUa8kEdqRKeAGm8hhTw" constrainedElement="__YiRT68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxe68kEdqRKeAGm8hhTw" language="OCL">

           <body>redefinee.isRedefinitionContextValid(self)</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_33qFhq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qFgq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36y4jq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YiRU68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YiRT68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxfK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = redefinee.oclIsKindOf(Property) and 

   let prop : Property = redefinee.oclAsType(Property) in 

   (prop.type.conformsTo(self.type) and 

@@ -14969,357 +14969,357 @@
   (self.isComposite implies prop.isComposite))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qFiK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33qFia8aEdqf6aL57Hh6KQ" name="redefinee" type="_33g64K8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YiRVa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__YiRVq8kEdqRKeAGm8hhTw" name="redefinee" type="__YYfwK8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33z10K8aEdqf6aL57Hh6KQ" name="subsettingContext" type="_ynRtoGvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33z10q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33z10a8aEdqf6aL57Hh6KQ" annotatedElement="_33z10K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YiRV68kEdqRKeAGm8hhTw" name="subsettingContext" type="_ynRtoGvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YiRWa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YiRWK8kEdqRKeAGm8hhTw" annotatedElement="__YiRV68kEdqRKeAGm8hhTw">

         <body>The query subsettingContext() gives the context for subsetting a property. It consists, in the case of an attribute, of the corresponding classifier, and in the case of an association end, all of the classifiers at the other ends.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33z10q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33z10K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36y4j68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YiRWa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YiRV68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxfa8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if association->notEmpty()

 then association.endType-type

 else if classifier->notEmpty() then Set{classifier} else Set{} endif

 endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33z11K8aEdqf6aL57Hh6KQ" type="_ynRtoGvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368CUK8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368CUa8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__YiRW68kEdqRKeAGm8hhTw" type="_ynRtoGvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxfq8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxf68kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33z1168aEdqf6aL57Hh6KQ" name="isNavigable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33z12a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33z12K8aEdqf6aL57Hh6KQ" annotatedElement="_33z1168aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YsBwK8kEdqRKeAGm8hhTw" name="isNavigable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YsBwq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YsBwa8kEdqRKeAGm8hhTw" annotatedElement="__YsBwK8kEdqRKeAGm8hhTw">

         <body>The query isNavigable indicates whether it is possible to navigate across the property.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368CUq8aEdqf6aL57Hh6KQ" annotatedElement="_33z1168aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxgK8kEdqRKeAGm8hhTw" annotatedElement="__YsBwK8kEdqRKeAGm8hhTw">

         <body>The query isNavigable() indicates whether it is possible to navigate across the property.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33z12a8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33z1168aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_368CU68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YsBwq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YsBwK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxga8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = not classifier->isEmpty() or association.owningAssociation.navigableOwnedEnd->includes(self)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33z1268aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YsBxK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_4C_LLq8aEdqf6aL57Hh6KQ" name="isCompatibleWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_4C_LHa8aEdqf6aL57Hh6KQ" bodyCondition="_4C_LMK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LL68aEdqf6aL57Hh6KQ" annotatedElement="_4C_LLq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__jHJSK8kEdqRKeAGm8hhTw" name="isCompatibleWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__jHJN68kEdqRKeAGm8hhTw" bodyCondition="__jHJSq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJSa8kEdqRKeAGm8hhTw" annotatedElement="__jHJSK8kEdqRKeAGm8hhTw">

         <body>The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. In addition, for properties, the type must be conformant with the type of the specified parameterable element.

 

 </body>

       </ownedComment>

-      <ownedRule xmi:id="_4C_LMK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C_LLq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_LMa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJSq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__jHJSK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJS68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = p->oclIsKindOf(self.oclType) and self.type.conformsTo(p.oclAsType(TypedElement).type)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C_LMq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_4C_LM68aEdqf6aL57Hh6KQ" name="p" type="_4C_LEK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__jHJTK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__jHJTa8kEdqRKeAGm8hhTw" name="p" type="__jHJKq8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_33qE0K8aEdqf6aL57Hh6KQ" name="ValueSpecification" isAbstract="true">

-    <ownedComment xmi:id="_33qE0a8aEdqf6aL57Hh6KQ" annotatedElement="_33qE0K8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__YYf9a8kEdqRKeAGm8hhTw" name="ValueSpecification" isAbstract="true">

+    <ownedComment xmi:id="__YYf9q8kEdqRKeAGm8hhTw" annotatedElement="__YYf9a8kEdqRKeAGm8hhTw">

       <body>ValueSpecification is an abstract metaclass used to identify a value or values in a model. It may reference an instance or it may be an expression denoting an instance or instances when evaluated. It adds a specialization to Constructs::TypedElement.</body>

     </ownedComment>

-    <ownedComment xmi:id="_37O9V68aEdqf6aL57Hh6KQ" annotatedElement="_33qE0K8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__bhTiK8kEdqRKeAGm8hhTw" annotatedElement="__YYf9a8kEdqRKeAGm8hhTw">

       <body>ValueSpecification is an abstract metaclass used to identify a value or values in a model. It may reference an instance or it may be an expression denoting an instance or instances when evaluated.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4C_LNK8aEdqf6aL57Hh6KQ" annotatedElement="_33qE0K8aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__jHJTq8kEdqRKeAGm8hhTw" annotatedElement="__YYf9a8kEdqRKeAGm8hhTw">

       <body>ValueSpecification specializes ParameterableElement to specify that a value specification can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>

     </ownedComment>

-    <generalization xmi:id="_33qE0q8aEdqf6aL57Hh6KQ" general="_33g7Dq8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_33qE068aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

-    <ownedOperation xmi:id="_33qE1K8aEdqf6aL57Hh6KQ" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33qE1q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qE1a8aEdqf6aL57Hh6KQ" annotatedElement="_33qE1K8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YYf968kEdqRKeAGm8hhTw" general="__YYf7q8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__YYf-K8kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <ownedOperation xmi:id="__YYf-a8kEdqRKeAGm8hhTw" name="isComputable" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YYf-68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYf-q8kEdqRKeAGm8hhTw" annotatedElement="__YYf-a8kEdqRKeAGm8hhTw">

         <body>The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all value specifications that it can compute, and to compute all of those for which the operation is true. A conforming implementation is expected to be able to compute the value of all literals.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qE1q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qE1K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9WK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YYf-68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YYf-a8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTia8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qE2K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YYf_a8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33qE2a8aEdqf6aL57Hh6KQ" name="integerValue" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33qE268aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qE2q8aEdqf6aL57Hh6KQ" annotatedElement="_33qE2a8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YYf_q8kEdqRKeAGm8hhTw" name="integerValue" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YYgAK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYf_68kEdqRKeAGm8hhTw" annotatedElement="__YYf_q8kEdqRKeAGm8hhTw">

         <body>The query integerValue() gives a single Integer value when one can be computed.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qE268aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qE2a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9Wa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YYgAK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YYf_q8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTiq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = Set{}</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qE3a8aEdqf6aL57Hh6KQ" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YYgAq8kEdqRKeAGm8hhTw" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33qE3q8aEdqf6aL57Hh6KQ" name="booleanValue" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33qE4K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qE368aEdqf6aL57Hh6KQ" annotatedElement="_33qE3q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YYgA68kEdqRKeAGm8hhTw" name="booleanValue" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YYgBa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYgBK8kEdqRKeAGm8hhTw" annotatedElement="__YYgA68kEdqRKeAGm8hhTw">

         <body>The query booleanValue() gives a single Boolean value when one can be computed.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qE4K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qE3q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9Wq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YYgBa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YYgA68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTi68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = Set{}</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qE4q8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YYgB68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33qE468aEdqf6aL57Hh6KQ" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33qE5a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qE5K8aEdqf6aL57Hh6KQ" annotatedElement="_33qE468aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YYgCK8kEdqRKeAGm8hhTw" name="stringValue" type="_aAyVgGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YYgCq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYgCa8kEdqRKeAGm8hhTw" annotatedElement="__YYgCK8kEdqRKeAGm8hhTw">

         <body>The query stringValue() gives a single String value when one can be computed.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qE5a8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qE468aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9W68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YYgCq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YYgCK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTjK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = Set{}</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qE568aEdqf6aL57Hh6KQ" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YYgDK8kEdqRKeAGm8hhTw" type="_aAyVgGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33qE6K8aEdqf6aL57Hh6KQ" name="unlimitedValue" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33qE6q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qE6a8aEdqf6aL57Hh6KQ" annotatedElement="_33qE6K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YYgDa8kEdqRKeAGm8hhTw" name="unlimitedValue" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YYgD68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYgDq8kEdqRKeAGm8hhTw" annotatedElement="__YYgDa8kEdqRKeAGm8hhTw">

         <body>The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qE6q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qE6K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9XK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YYgD68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YYgDa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bhTja8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = Set{}</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qE7K8aEdqf6aL57Hh6KQ" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YYgEa8kEdqRKeAGm8hhTw" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33qE7a8aEdqf6aL57Hh6KQ" name="isNull" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33qE768aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33qE7q8aEdqf6aL57Hh6KQ" annotatedElement="_33qE7a8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__YYgEq8kEdqRKeAGm8hhTw" name="isNull" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__YYgFK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__YYgE68kEdqRKeAGm8hhTw" annotatedElement="__YYgEq8kEdqRKeAGm8hhTw">

         <body>The query isNull() returns true when it can be computed that the value is null.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33qE768aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33qE7a8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37O9Xa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__YYgFK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__YYgEq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bqdQK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33qE8a8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__YYgFq8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_4C_LNq8aEdqf6aL57Hh6KQ" name="isCompatibleWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_4C_LHa8aEdqf6aL57Hh6KQ" bodyCondition="_4C_LOK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LN68aEdqf6aL57Hh6KQ" annotatedElement="_4C_LNq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__jHJUK8kEdqRKeAGm8hhTw" name="isCompatibleWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__jHJN68kEdqRKeAGm8hhTw" bodyCondition="__jHJUq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJUa8kEdqRKeAGm8hhTw" annotatedElement="__jHJUK8kEdqRKeAGm8hhTw">

         <body>The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. In addition, for ValueSpecification, the type must be conformant with the type of the specified parameterable element.

 

 </body>

       </ownedComment>

-      <ownedRule xmi:id="_4C_LOK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C_LNq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_LOa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJUq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__jHJUK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJU68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = p->oclIsKindOf(self.oclType) and self.type.conformsTo(p.oclAsType(TypedElement).type)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C_LOq8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_4C_LO68aEdqf6aL57Hh6KQ" name="p" type="_4C_LEK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__jHJVK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__jHJVa8kEdqRKeAGm8hhTw" name="p" type="__jHJKq8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_M4X2IGveEdq4DLWZOhbdEA" name="Operation">

-    <ownedComment xmi:id="_33z2Na8aEdqf6aL57Hh6KQ" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__YsCHq8kEdqRKeAGm8hhTw" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

       <body>An operation is owned by a class and may be invoked in the context of objects that are instances of that class. It is a typed element and a multiplicity element.</body>

     </ownedComment>

-    <ownedComment xmi:id="_368CVK8aEdqf6aL57Hh6KQ" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__bNxgq8kEdqRKeAGm8hhTw" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

       <body>An expression contains language-specific text strings used to describe a value or values, and an optional specification of the languages.

 

 One predefined language for specifying expressions is OCL. Natural language or programming languages may also be used.

 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_38lBP68aEdqf6aL57Hh6KQ" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__c2wI68kEdqRKeAGm8hhTw" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

       <body>An operation is a behavioral feature of a classifier that specifies the name, type, parameters, and constraints for invoking an associated behavior.</body>

     </ownedComment>

-    <ownedComment xmi:id="_39njXa8aEdqf6aL57Hh6KQ" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__d54_K8kEdqRKeAGm8hhTw" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

       <body>An operation may invoke both the execution of method behaviors as well as other behavioral responses.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4C_LPK8aEdqf6aL57Hh6KQ" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__jHJVq8kEdqRKeAGm8hhTw" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">

       <body>Operation specializes TemplateableElement in order to support specification of template operations and bound operations.</body>

     </ownedComment>

-    <ownedRule xmi:id="_339m068aEdqf6aL57Hh6KQ" name="at_most_one_return" constrainedElement="_M4X2IGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_339m1K8aEdqf6aL57Hh6KQ" annotatedElement="_339m068aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YsCIq8kEdqRKeAGm8hhTw" name="at_most_one_return" constrainedElement="_M4X2IGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YsCI68kEdqRKeAGm8hhTw" annotatedElement="__YsCIq8kEdqRKeAGm8hhTw">

         <body>An operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return'</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_368CVa8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxg68kEdqRKeAGm8hhTw" language="OCL">

         <body>self.ownedParameter->select(par | par.direction = #return)->size() &lt;= 1</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_339m0K8aEdqf6aL57Hh6KQ" name="only_body_for_query" constrainedElement="_M4X2IGveEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_339m0a8aEdqf6aL57Hh6KQ" annotatedElement="_339m0K8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__YsCH68kEdqRKeAGm8hhTw" name="only_body_for_query" constrainedElement="_M4X2IGveEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__YsCIK8kEdqRKeAGm8hhTw" annotatedElement="__YsCH68kEdqRKeAGm8hhTw">

         <body>A bodyCondition can only be specified for a query operation.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_368CVq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__bNxhK8kEdqRKeAGm8hhTw" language="OCL">

         <body>bodyCondition->notEmpty() implies isQuery</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_339m1q8aEdqf6aL57Hh6KQ" general="_rHT3YKOsEdqi_5gqUMOQtA"/>

-    <generalization xmi:id="_4C_LPa8aEdqf6aL57Hh6KQ" general="_4C_LEK8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4C_LPq8aEdqf6aL57Hh6KQ" general="_4C1at68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_339m168aEdqf6aL57Hh6KQ" name="isQuery" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_339m2K8aEdqf6aL57Hh6KQ" annotatedElement="_339m168aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YsCJa8kEdqRKeAGm8hhTw" general="_rHT3YKOsEdqi_5gqUMOQtA"/>

+    <generalization xmi:id="__jHJV68kEdqRKeAGm8hhTw" general="__jHJKq8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jHJWK8kEdqRKeAGm8hhTw" general="__i9_x68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__YsCJq8kEdqRKeAGm8hhTw" name="isQuery" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__YsCJ68kEdqRKeAGm8hhTw" annotatedElement="__YsCJq8kEdqRKeAGm8hhTw">

         <body>Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false).</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_368CV68aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__bNxha8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339m2q8aEdqf6aL57Hh6KQ" name="isOrdered" type="_UdivYGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_339m268aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_339m3K8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Y1LsK8kEdqRKeAGm8hhTw" name="isOrdered" type="_UdivYGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__Y1Lsa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__Y1Lsq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_339m3a8aEdqf6aL57Hh6KQ" annotatedElement="_339m2q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1Ls68kEdqRKeAGm8hhTw" annotatedElement="__Y1LsK8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding property from Basic to derive this information from the return result for this Operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368CWK8aEdqf6aL57Hh6KQ" annotatedElement="_339m2q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxhq8kEdqRKeAGm8hhTw" annotatedElement="__Y1LsK8kEdqRKeAGm8hhTw">

         <body>Specifies whether the return parameter is ordered or not, if present.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_368CWa8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__bNxh68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339m368aEdqf6aL57Hh6KQ" name="isUnique" type="_UdivYGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_339m4K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_339m4a8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Y1Lta8kEdqRKeAGm8hhTw" name="isUnique" type="_UdivYGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__Y1Ltq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__Y1Lt68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_339m4q8aEdqf6aL57Hh6KQ" annotatedElement="_339m368aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1LuK8kEdqRKeAGm8hhTw" annotatedElement="__Y1Lta8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding property from Basic to derive this information from the return result for this Operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368CWq8aEdqf6aL57Hh6KQ" annotatedElement="_339m368aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxiK8kEdqRKeAGm8hhTw" annotatedElement="__Y1Lta8kEdqRKeAGm8hhTw">

         <body>Specifies whether the return parameter is unique or not, if present.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_368CW68aEdqf6aL57Hh6KQ" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__bNxia8kEdqRKeAGm8hhTw" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339m5K8aEdqf6aL57Hh6KQ" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_339m5a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_339m5q8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Y1Luq8kEdqRKeAGm8hhTw" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__Y1Lu68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__Y1LvK8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_339m568aEdqf6aL57Hh6KQ" annotatedElement="_339m5K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1Lva8kEdqRKeAGm8hhTw" annotatedElement="__Y1Luq8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding property from Basic to derive this information from the return result for this Operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368CXK8aEdqf6aL57Hh6KQ" annotatedElement="_339m5K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxiq8kEdqRKeAGm8hhTw" annotatedElement="__Y1Luq8kEdqRKeAGm8hhTw">

         <body>Specifies the lower multiplicity of the return parameter, if present.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368CXa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368CXq8aEdqf6aL57Hh6KQ"/>

-      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_368CX68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxi68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxjK8kEdqRKeAGm8hhTw"/>

+      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="__bNxja8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339m668aEdqf6aL57Hh6KQ" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" isDerived="true">

-      <eAnnotations xmi:id="_339m7K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="_339m7a8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Y1Lwa8kEdqRKeAGm8hhTw" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" isDerived="true">

+      <eAnnotations xmi:id="__Y1Lwq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EAttribute" xmi:id="__Y1Lw68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_339m7q8aEdqf6aL57Hh6KQ" annotatedElement="_339m668aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1LxK8kEdqRKeAGm8hhTw" annotatedElement="__Y1Lwa8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding property from Basic to derive this information from the return result for this Operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368CYK8aEdqf6aL57Hh6KQ" annotatedElement="_339m668aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxjq8kEdqRKeAGm8hhTw" annotatedElement="__Y1Lwa8kEdqRKeAGm8hhTw">

         <body>Specifies the upper multiplicity of the return parameter, if present.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368CYa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368CYq8aEdqf6aL57Hh6KQ"/>

-      <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368CY68aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxj68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxkK8kEdqRKeAGm8hhTw"/>

+      <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxka8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339m8q8aEdqf6aL57Hh6KQ" name="class" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ" association="_34jc-a8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_339m868aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_339m9K8aEdqf6aL57Hh6KQ" referenceName="class_" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__Y1LyK8kEdqRKeAGm8hhTw" name="class" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw" association="__ZR34q8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Y1Lya8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y1Lyq8kEdqRKeAGm8hhTw" referenceName="class_" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_339m9a8aEdqf6aL57Hh6KQ" annotatedElement="_339m8q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1Ly68kEdqRKeAGm8hhTw" annotatedElement="__Y1LyK8kEdqRKeAGm8hhTw">

         <body>The class that owns the operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368CZK8aEdqf6aL57Hh6KQ" annotatedElement="_339m8q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxkq8kEdqRKeAGm8hhTw" annotatedElement="__Y1LyK8kEdqRKeAGm8hhTw">

         <body>The class that owns this operation.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368CZa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368CZq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxk68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bNxlK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339nEq8aEdqf6aL57Hh6KQ" name="precondition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKHa8aEdqf6aL57Hh6KQ" association="_342X-q8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_339nE68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_339nFK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__Y1L6K8kEdqRKeAGm8hhTw" name="precondition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YPV_a8kEdqRKeAGm8hhTw" association="__Zky3a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__Y1L6a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y1L6q8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_368CZ68aEdqf6aL57Hh6KQ" annotatedElement="_339nEq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bNxla8kEdqRKeAGm8hhTw" annotatedElement="__Y1L6K8kEdqRKeAGm8hhTw">

         <body>An optional set of Constraints on the state of the system when the Operation is invoked.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368CaK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368Caa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bNxlq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXiUK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339nF68aEdqf6aL57Hh6KQ" name="postcondition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKHa8aEdqf6aL57Hh6KQ" association="_342X_68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_339nGK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_339nGa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__Y1L7a8kEdqRKeAGm8hhTw" name="postcondition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YPV_a8kEdqRKeAGm8hhTw" association="__Zky4q8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__Y1L7q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y1L768kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_368Caq8aEdqf6aL57Hh6KQ" annotatedElement="_339nF68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiUa8kEdqRKeAGm8hhTw" annotatedElement="__Y1L7a8kEdqRKeAGm8hhTw">

         <body>An optional set of Constraints specifying the state of the system when the Operation is completed.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368Ca68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368CbK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXiUq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXiU68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339nAq8aEdqf6aL57Hh6KQ" name="redefinedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_34tNz68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_339nA68aEdqf6aL57Hh6KQ" annotatedElement="_339nAq8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__Y1L2K8kEdqRKeAGm8hhTw" name="redefinedOperation" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__Zboqq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y1L2a8kEdqRKeAGm8hhTw" annotatedElement="__Y1L2K8kEdqRKeAGm8hhTw">

         <body>References the Operations that are redefined by this Operation.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368Cba8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368Cbq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXiVK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXiVa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339m-K8aEdqf6aL57Hh6KQ" name="datatype" type="__1ap4HLzEdqziYxiZo0YtA" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ _34aTK68aEdqf6aL57Hh6KQ _33OAJa8aEdqf6aL57Hh6KQ" association="_34tNyK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_339m-a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_339m-q8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__Y1Lzq8kEdqRKeAGm8hhTw" name="datatype" type="__1ap4HLzEdqziYxiZo0YtA" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw __ZIuJ68kEdqRKeAGm8hhTw __YFlBK8kEdqRKeAGm8hhTw" association="__Zboo68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Y1Lz68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y1L0K8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_339m-68aEdqf6aL57Hh6KQ" annotatedElement="_339m-K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1L0a8kEdqRKeAGm8hhTw" annotatedElement="__Y1Lzq8kEdqRKeAGm8hhTw">

         <body>The DataType that owns this Operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368Cb68aEdqf6aL57Hh6KQ" annotatedElement="_339m-K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiVq8kEdqRKeAGm8hhTw" annotatedElement="__Y1Lzq8kEdqRKeAGm8hhTw">

         <body>The DataType that owns this Property.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368CcK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368Cca8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXiV68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXiWK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339nHK8aEdqf6aL57Hh6KQ" name="bodyCondition" type="_33z2DK8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKHa8aEdqf6aL57Hh6KQ" association="_342YBK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_339nHa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_339nHq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__Y1L8q8kEdqRKeAGm8hhTw" name="bodyCondition" type="__YsB9a8kEdqRKeAGm8hhTw" subsettedProperty="__YPV_a8kEdqRKeAGm8hhTw" association="__Zky568kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__Y1L868kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y1L9K8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_368Ccq8aEdqf6aL57Hh6KQ" annotatedElement="_339nHK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiWa8kEdqRKeAGm8hhTw" annotatedElement="__Y1L8q8kEdqRKeAGm8hhTw">

         <body>An optional Constraint on the result values of an invocation of this Operation.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368Cc68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368CdK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXiWq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXiW68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339nBq8aEdqf6aL57Hh6KQ" name="type" type="_ynRtoGvtEdqG6fBIPwe-mw" isDerived="true" association="_342Xwa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_339nB68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_339nCK8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Y1L3K8kEdqRKeAGm8hhTw" name="type" type="_ynRtoGvtEdqG6fBIPwe-mw" isDerived="true" association="__ZkypK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Y1L3a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y1L3q8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_339nCa8aEdqf6aL57Hh6KQ" annotatedElement="_339nBq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1L368kEdqRKeAGm8hhTw" annotatedElement="__Y1L3K8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding property from Basic to derive this information from the return result for this Operation.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368Cda8aEdqf6aL57Hh6KQ" annotatedElement="_339nBq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiXK8kEdqRKeAGm8hhTw" annotatedElement="__Y1L3K8kEdqRKeAGm8hhTw">

         <body>Specifies the return result of the operation, if present.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368Cdq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368Cd68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXiXa8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXiXq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339nDK8aEdqf6aL57Hh6KQ" name="ownedParameter" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" redefinedProperty="_34Qhy68aEdqf6aL57Hh6KQ" association="_342X8K8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_339nDa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_339nDq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__Y1L4q8kEdqRKeAGm8hhTw" name="ownedParameter" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" redefinedProperty="__Y-8y68kEdqRKeAGm8hhTw" association="__Zky068kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__Y1L468kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Y1L5K8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_339nD68aEdqf6aL57Hh6KQ" annotatedElement="_339nDK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1L5a8kEdqRKeAGm8hhTw" annotatedElement="__Y1L4q8kEdqRKeAGm8hhTw">

         <body>Specifies the ordered set of formal parameters of this BehavioralFeature.</body>

       </ownedComment>

-      <ownedComment xmi:id="_368CeK8aEdqf6aL57Hh6KQ" annotatedElement="_339nDK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiX68kEdqRKeAGm8hhTw" annotatedElement="__Y1L4q8kEdqRKeAGm8hhTw">

         <body>Specifies the parameters owned by this Operation.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368Cea8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_368Ceq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXiYK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXiYa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_339m_q8aEdqf6aL57Hh6KQ" name="raisedException" type="_ynRtoGvtEdqG6fBIPwe-mw" redefinedProperty="_34Qh0a8aEdqf6aL57Hh6KQ" association="_34tNzK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_339m_68aEdqf6aL57Hh6KQ" annotatedElement="_339m_q8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__Y1L1K8kEdqRKeAGm8hhTw" name="raisedException" type="_ynRtoGvtEdqG6fBIPwe-mw" redefinedProperty="__Y-80a8kEdqRKeAGm8hhTw" association="__Zbop68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y1L1a8kEdqRKeAGm8hhTw" annotatedElement="__Y1L1K8kEdqRKeAGm8hhTw">

         <body>References the Types representing exceptions that may be raised during an invocation of this operation.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_368Ce68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37FzUK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXiYq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXiY68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38lBQK8aEdqf6aL57Hh6KQ" name="interface" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_38lBTK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_38lBQa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38lBQq8aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <ownedAttribute xmi:id="__c2wJK8kEdqRKeAGm8hhTw" name="interface" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__c2wMK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__c2wJa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__c2wJq8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38lBQ68aEdqf6aL57Hh6KQ" annotatedElement="_38lBQK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__c2wJ68kEdqRKeAGm8hhTw" annotatedElement="__c2wJK8kEdqRKeAGm8hhTw">

         <body>The Interface that owns this Operation.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lBRK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lBRa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wKK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wKa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_LP68aEdqf6aL57Hh6KQ" name="templateParameter" type="_4C_LQ68aEdqf6aL57Hh6KQ" redefinedProperty="_4C_LE68aEdqf6aL57Hh6KQ" association="_4DI8QK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LQK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LP68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__jHJWa8kEdqRKeAGm8hhTw" name="templateParameter" type="__jHJXa8kEdqRKeAGm8hhTw" redefinedProperty="__jHJLa8kEdqRKeAGm8hhTw" association="__jQ6SK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJWq8kEdqRKeAGm8hhTw" annotatedElement="__jHJWa8kEdqRKeAGm8hhTw">

         <body>The template parameter that exposes this element as a formal parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_LQa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_LQq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJW68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJXK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_ho5pgFYLEdqrn7iZ0eqieg" name="getLower" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_jukVgFYLEdqrn7iZ0eqieg" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

@@ -15348,99 +15348,99 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OvfegKOyEdqi_5gqUMOQtA"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_339nIa8aEdqf6aL57Hh6KQ" name="isOrdered" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_339nI68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_339nIq8aEdqf6aL57Hh6KQ" annotatedElement="_339nIa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__Y1L968kEdqRKeAGm8hhTw" name="isOrdered" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__Y1L-a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y1L-K8kEdqRKeAGm8hhTw" annotatedElement="__Y1L968kEdqRKeAGm8hhTw">

         <body>If this operation has a return parameter, isOrdered equals the value of isOrdered for that parameter. Otherwise isOrdered is false.</body>

       </ownedComment>

-      <ownedRule xmi:id="_339nI68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_339nIa8aEdqf6aL57Hh6KQ _339m2q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzUa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y1L-a8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y1L968kEdqRKeAGm8hhTw __Y1LsK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXiZK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if returnResult()->notEmpty() then returnResult()->any().isOrdered else false endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_339nJa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__Y1L-68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34GwwK8aEdqf6aL57Hh6KQ" name="isUnique" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34Gwwq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34Gwwa8aEdqf6aL57Hh6KQ" annotatedElement="_34GwwK8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__Y1L_K8kEdqRKeAGm8hhTw" name="isUnique" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__Y1L_q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y1L_a8kEdqRKeAGm8hhTw" annotatedElement="__Y1L_K8kEdqRKeAGm8hhTw">

         <body>If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37FzUq8aEdqf6aL57Hh6KQ" annotatedElement="_34GwwK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiZa8kEdqRKeAGm8hhTw" annotatedElement="__Y1L_K8kEdqRKeAGm8hhTw">

         <body>If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.

 

 </body>

       </ownedComment>

-      <ownedRule xmi:id="_34Gwwq8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34GwwK8aEdqf6aL57Hh6KQ _339m368aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzU68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y1L_q8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y1L_K8kEdqRKeAGm8hhTw __Y1Lta8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXiZq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if returnResult()->notEmpty() then returnResult()->any().isUnique else true endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34GwxK8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__Y1MAK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34Gwxa8aEdqf6aL57Hh6KQ" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34Gwya8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34Gwxq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_34Gwx68aEdqf6aL57Hh6KQ" operationName="lowerBound"/>

+    <ownedOperation xmi:id="__Y1MAa8kEdqRKeAGm8hhTw" name="lower" type="_XqvEIGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__Y1MBa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Y1MAq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__Y1MA68kEdqRKeAGm8hhTw" operationName="lowerBound"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34GwyK8aEdqf6aL57Hh6KQ" annotatedElement="_34Gwxa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1MBK8kEdqRKeAGm8hhTw" annotatedElement="__Y1MAa8kEdqRKeAGm8hhTw">

         <body>If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower is not defined.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37FzVK8aEdqf6aL57Hh6KQ" annotatedElement="_34Gwxa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiZ68kEdqRKeAGm8hhTw" annotatedElement="__Y1MAa8kEdqRKeAGm8hhTw">

         <body>If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower is not defined.

 

 </body>

       </ownedComment>

-      <ownedRule xmi:id="_34Gwya8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34Gwxa8aEdqf6aL57Hh6KQ _339m5K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzVa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y1MBa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y1MAa8kEdqRKeAGm8hhTw __Y1Luq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXiaK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if returnResult()->notEmpty() then returnResult()->any().lower else Set{} endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34Gwy68aEdqf6aL57Hh6KQ" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__Y1MB68kEdqRKeAGm8hhTw" type="_XqvEIGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34GwzK8aEdqf6aL57Hh6KQ" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34Gw0K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34Gwza8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_34Gwzq8aEdqf6aL57Hh6KQ" operationName="upperBound"/>

+    <ownedOperation xmi:id="__Y1MCK8kEdqRKeAGm8hhTw" name="upper" type="_dRZxsGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__Y1MDK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Y1MCa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__Y1MCq8kEdqRKeAGm8hhTw" operationName="upperBound"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34Gwz68aEdqf6aL57Hh6KQ" annotatedElement="_34GwzK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1MC68kEdqRKeAGm8hhTw" annotatedElement="__Y1MCK8kEdqRKeAGm8hhTw">

         <body>If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper is not defined.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37FzVq8aEdqf6aL57Hh6KQ" annotatedElement="_34GwzK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXiaa8kEdqRKeAGm8hhTw" annotatedElement="__Y1MCK8kEdqRKeAGm8hhTw">

         <body>If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper is not defined.

 

 </body>

       </ownedComment>

-      <ownedRule xmi:id="_34Gw0K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34GwzK8aEdqf6aL57Hh6KQ _339m668aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzV68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y1MDK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y1MCK8kEdqRKeAGm8hhTw __Y1Lwa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXiaq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if returnResult()->notEmpty() then returnResult()->any().upper else Set{} endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34Gw0q8aEdqf6aL57Hh6KQ" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__Y1MDq8kEdqRKeAGm8hhTw" type="_dRZxsGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34Gw068aEdqf6aL57Hh6KQ" name="type" type="_ynRtoGvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_34Gw168aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34Gw1K8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_34Gw1a8aEdqf6aL57Hh6KQ" operationName="getType"/>

+    <ownedOperation xmi:id="__Y1MD68kEdqRKeAGm8hhTw" name="type" type="_ynRtoGvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__Y1ME68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Y1MEK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__Y1MEa8kEdqRKeAGm8hhTw" operationName="getType"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34Gw1q8aEdqf6aL57Hh6KQ" annotatedElement="_34Gw068aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Y1MEq8kEdqRKeAGm8hhTw" annotatedElement="__Y1MD68kEdqRKeAGm8hhTw">

         <body>If this operation has a return parameter, type equals the value of type for that parameter. Otherwise type is not defined.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34Gw168aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34Gw068aEdqf6aL57Hh6KQ _339nBq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzWK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y1ME68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y1MD68kEdqRKeAGm8hhTw __Y1L3K8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXia68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if returnResult()->notEmpty() then returnResult()->any().type else Set{} endif</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34Gw2a8aEdqf6aL57Hh6KQ" type="_ynRtoGvtEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__Y1MFa8kEdqRKeAGm8hhTw" type="_ynRtoGvtEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34Gw2q8aEdqf6aL57Hh6KQ" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_34Gw3K8aEdqf6aL57Hh6KQ" redefinedOperation="_33g69a8aEdqf6aL57Hh6KQ" bodyCondition="_34Gw3q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34Gw268aEdqf6aL57Hh6KQ" annotatedElement="_34Gw2q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__Y1MFq8kEdqRKeAGm8hhTw" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__Y1MGK8kEdqRKeAGm8hhTw" redefinedOperation="__YYf1a8kEdqRKeAGm8hhTw" bodyCondition="__Y1MGq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Y1MF68kEdqRKeAGm8hhTw" annotatedElement="__Y1MFq8kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies, for any two Operations in a context in which redefinition is possible, whether redefinition would be consistent in the sense of maintaining type covariance. Other senses of consistency may be required, for example to determine consistency in the sense of contravariance. Users may define alternative queries under names different from 'isConsistentWith()', as for example, users may define a query named 'isContravariantWith()'.</body>

       </ownedComment>

-      <ownedComment xmi:id="_37FzWa8aEdqf6aL57Hh6KQ" annotatedElement="_34Gw2q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bXibK8kEdqRKeAGm8hhTw" annotatedElement="__Y1MFq8kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies, for any two Operations in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining operation is consistent with a redefined operation if it has the same number of owned parameters, and the type of each owned parameter conforms to the type of the corresponding redefined parameter. </body>

       </ownedComment>

-      <ownedRule xmi:id="_34Gw3K8aEdqf6aL57Hh6KQ" constrainedElement="_34Gw2q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzWq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y1MGK8kEdqRKeAGm8hhTw" constrainedElement="__Y1MFq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXiba8kEdqRKeAGm8hhTw" language="OCL">

           <body>redefinee.isRedefinitionContextValid(self)</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_34Gw3q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34Gw2q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzW68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y1MGq8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y1MFq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXibq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (redefinee.oclIsKindOf(Operation) and

 let op: Operation = redefinee.oclAsType(Operation) in

 self.ownedParameter.size() = op.ownedParameter.size() and

@@ -15448,64 +15448,64 @@
 )</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34Gw4K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_34Gw4a8aEdqf6aL57Hh6KQ" name="redefinee" type="_33g64K8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__Y1MHK8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__Y1MHa8kEdqRKeAGm8hhTw" name="redefinee" type="__YYfwK8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34Gw4q8aEdqf6aL57Hh6KQ" name="returnResult" type="_KyaPMGveEdq4DLWZOhbdEA" isQuery="true" bodyCondition="_34Gw468aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_37FzXK8aEdqf6aL57Hh6KQ" annotatedElement="_34Gw4q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__Y-8sK8kEdqRKeAGm8hhTw" name="returnResult" type="_KyaPMGveEdq4DLWZOhbdEA" isQuery="true" bodyCondition="__Y-8sa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__bXib68kEdqRKeAGm8hhTw" annotatedElement="__Y-8sK8kEdqRKeAGm8hhTw">

         <body>The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set</body>

       </ownedComment>

-      <ownedRule xmi:id="_34Gw468aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34Gw4q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_37FzXa8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__Y-8sa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__Y-8sK8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bXicK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = ownedParameter->select (par | par.direction = #return)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34Gw5a8aEdqf6aL57Hh6KQ" type="_KyaPMGveEdq4DLWZOhbdEA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_37FzXq8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_37FzX68aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__Y-8s68kEdqRKeAGm8hhTw" type="_KyaPMGveEdq4DLWZOhbdEA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bXica8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bXicq8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C_LQ68aEdqf6aL57Hh6KQ" name="OperationTemplateParameter">

-    <ownedComment xmi:id="_4C_LRK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LQ68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__jHJXa8kEdqRKeAGm8hhTw" name="OperationTemplateParameter">

+    <ownedComment xmi:id="__jHJXq8kEdqRKeAGm8hhTw" annotatedElement="__jHJXa8kEdqRKeAGm8hhTw">

       <body>OperationTemplateParameter is a template parameter where the parametered element is an Operation.</body>

     </ownedComment>

-    <generalization xmi:id="_4C_LRa8aEdqf6aL57Hh6KQ" general="_KxRzgGvuEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_4C_LRq8aEdqf6aL57Hh6KQ" name="parameteredElement" type="_M4X2IGveEdq4DLWZOhbdEA" redefinedProperty="_4C1aVa8aEdqf6aL57Hh6KQ" association="_4DI8QK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LR68aEdqf6aL57Hh6KQ" annotatedElement="_4C_LRq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__jHJX68kEdqRKeAGm8hhTw" general="_KxRzgGvuEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__jHJYK8kEdqRKeAGm8hhTw" name="parameteredElement" type="_M4X2IGveEdq4DLWZOhbdEA" redefinedProperty="__i9_Za8kEdqRKeAGm8hhTw" association="__jQ6SK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJYa8kEdqRKeAGm8hhTw" annotatedElement="__jHJYK8kEdqRKeAGm8hhTw">

         <body>The operation for this template parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_LSK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_LSa8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJYq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJY68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_jKxnwGwLEdq7X4sGURiZYA" name="PackageableElement" isAbstract="true">

-    <ownedComment xmi:id="_33XKTK8aEdqf6aL57Hh6KQ" annotatedElement="_jKxnwGwLEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__YPWLK8kEdqRKeAGm8hhTw" annotatedElement="_jKxnwGwLEdq7X4sGURiZYA">

       <body>A packageable element indicates a named element that may be owned directly by a package.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4C_LSq8aEdqf6aL57Hh6KQ" annotatedElement="_jKxnwGwLEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__jHJZK8kEdqRKeAGm8hhTw" annotatedElement="_jKxnwGwLEdq7X4sGURiZYA">

       <body>PackageableElements are extended to enable any such element to serve as a template parameter.</body>

     </ownedComment>

-    <generalization xmi:id="_33XKTa8aEdqf6aL57Hh6KQ" general="_csVgUGvtEdqG6fBIPwe-mw"/>

-    <generalization xmi:id="_4C_LS68aEdqf6aL57Hh6KQ" general="_4C_LEK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_35TDka8aEdqf6aL57Hh6KQ" name="visibility" type="_AyM_oGwMEdq7X4sGURiZYA" redefinedProperty="_34aTJa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_35TDkq8aEdqf6aL57Hh6KQ" annotatedElement="_35TDka8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__YPWLa8kEdqRKeAGm8hhTw" general="_csVgUGvtEdqG6fBIPwe-mw"/>

+    <generalization xmi:id="__jHJZa8kEdqRKeAGm8hhTw" general="__jHJKq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__Z4UoK8kEdqRKeAGm8hhTw" name="visibility" type="_AyM_oGwMEdq7X4sGURiZYA" redefinedProperty="__ZIuIa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__Z4Uoa8kEdqRKeAGm8hhTw" annotatedElement="__Z4UoK8kEdqRKeAGm8hhTw">

         <body>Indicates that packageable elements must always have a visibility, i.e., visibility is not optional.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_35TDk68aEdqf6aL57Hh6KQ" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_34jc7K8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:InstanceValue" xmi:id="__Z4Uoq8kEdqRKeAGm8hhTw" type="_AyM_oGwMEdq7X4sGURiZYA" instance="__ZR31a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_6UV2QGwJEdq7X4sGURiZYA" name="Classifier" isAbstract="true">

-    <ownedComment xmi:id="_32dyAa8aEdqf6aL57Hh6KQ" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__Xfu8K8kEdqRKeAGm8hhTw" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

       <body>A classifier is a type. It can specify a generalization hierarchy by referencing its general classifiers.  A classifier is also a namespace whose members can include features. Classifier is an abstract metaclass.</body>

     </ownedComment>

-    <ownedComment xmi:id="_38uyXq8aEdqf6aL57Hh6KQ" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__c2wlq8kEdqRKeAGm8hhTw" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

       <body>Classifier is extended with the capability to own collaboration uses. These collaboration uses link a collaboration with the classifier to give a description of the workings of the classifier.</body>

     </ownedComment>

-    <ownedComment xmi:id="_39eZgq8aEdqf6aL57Hh6KQ" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__dmXXq8kEdqRKeAGm8hhTw" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

       <body>Extends a classifier with the capability to own use cases. Although the owning classifier typically represents the subject to which the owned use cases apply, this is not necessarily the case. In principle, the same use case can be applied to multiple subjects, as identified by the subject association role of a UseCase.</body>

     </ownedComment>

-    <ownedComment xmi:id="_35mlzq8aEdqf6aL57Hh6KQ" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__aVAgK8kEdqRKeAGm8hhTw" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

       <body>A classifier is a namespace whose members can include features. Classifier is an abstract metaclass.

 

 A classifier is a type and can own generalizations, thereby making it possible to define generalization relationships to other classifiers. A classifier can specify a generalization hierarchy by referencing its general classifiers.

@@ -15514,183 +15514,183 @@
 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_4C_LTK8aEdqf6aL57Hh6KQ" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__jHJZq8kEdqRKeAGm8hhTw" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">

       <body>A classifier can be parameterized, exposed as a formal template parameter, and specified as an actual parameter in a binding of a template.</body>

     </ownedComment>

-    <ownedRule xmi:id="_32njAK8aEdqf6aL57Hh6KQ" name="no_cycles_in_generalization" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_32njAa8aEdqf6aL57Hh6KQ" annotatedElement="_32njAK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__Xyp4K8kEdqRKeAGm8hhTw" name="no_cycles_in_generalization" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__Xyp4a8kEdqRKeAGm8hhTw" annotatedElement="__Xyp4K8kEdqRKeAGm8hhTw">

         <body>Generalization hierarchies must be directed and acyclical. A classifier can not be both a transitively general and transitively specific classifier of the same classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_32njAq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__Xyp4q8kEdqRKeAGm8hhTw" language="OCL">

         <body>not self.allParents()->includes(self)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_35mlz68aEdqf6aL57Hh6KQ" name="generalization_hierarchies" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_35ml0K8aEdqf6aL57Hh6KQ" annotatedElement="_35mlz68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__aVAga8kEdqRKeAGm8hhTw" name="generalization_hierarchies" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__aVAgq8kEdqRKeAGm8hhTw" annotatedElement="__aVAga8kEdqRKeAGm8hhTw">

         <body>Generalization hierarchies must be directed and acyclical. A classifier can not be both a transitively general and transitively specific classifier of the same classifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35ml0a8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aVAg68kEdqRKeAGm8hhTw" language="OCL">

         <body>not self.allParents()->includes(self)</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_32njA68aEdqf6aL57Hh6KQ" name="specialize_type" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_32njBK8aEdqf6aL57Hh6KQ" annotatedElement="_32njA68aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__Xyp468kEdqRKeAGm8hhTw" name="specialize_type" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__Xyp5K8kEdqRKeAGm8hhTw" annotatedElement="__Xyp468kEdqRKeAGm8hhTw">

         <body>A classifier may only specialize classifiers of a valid type.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_35vvgK8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__aVAhK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.parents()->forAll(c | self.maySpecializeType(c))</body>

       </specification>

     </ownedRule>

-    <ownedRule xmi:id="_4Ac0cK8aEdqf6aL57Hh6KQ" name="maps_to_generalization_set" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_4Ac0ca8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0cK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__hn7ca8kEdqRKeAGm8hhTw" name="maps_to_generalization_set" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__hn7cq8kEdqRKeAGm8hhTw" annotatedElement="__hn7ca8kEdqRKeAGm8hhTw">

         <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances also be its subclasses.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4Ac0cq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__hn7c68kEdqRKeAGm8hhTw" language="OCL">

         <body>true</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_35vvga8aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_32xUAa8aEdqf6aL57Hh6KQ" general="_ynRtoGvtEdqG6fBIPwe-mw"/>

-    <generalization xmi:id="_4C_LTa8aEdqf6aL57Hh6KQ" general="_4C1at68aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_32xUAK8aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <ownedAttribute xmi:id="_35vvgq8aEdqf6aL57Hh6KQ" name="isAbstract" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_35vvg68aEdqf6aL57Hh6KQ" annotatedElement="_35vvgq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__aVAha8kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__Xyp568kEdqRKeAGm8hhTw" general="_ynRtoGvtEdqG6fBIPwe-mw"/>

+    <generalization xmi:id="__jHJZ68kEdqRKeAGm8hhTw" general="__i9_x68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__Xyp5q8kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <ownedAttribute xmi:id="__aVAhq8kEdqRKeAGm8hhTw" name="isAbstract" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__aVAh68kEdqRKeAGm8hhTw" annotatedElement="__aVAhq8kEdqRKeAGm8hhTw">

         <body>If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships.

 

 </body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_35vvhK8aEdqf6aL57Hh6KQ"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__aVAiK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_35vvha8aEdqf6aL57Hh6KQ" name="generalization" type="_C7AF4GwREdq14q0ETb1t3g" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_37ifQK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_35vvhq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_35vvh68aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__aVAia8kEdqRKeAGm8hhTw" name="generalization" type="_C7AF4GwREdq14q0ETb1t3g" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__bqddq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__aVAiq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__aVAi68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_35vviK8aEdqf6aL57Hh6KQ" annotatedElement="_35vvha8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aVAjK8kEdqRKeAGm8hhTw" annotatedElement="__aVAia8kEdqRKeAGm8hhTw">

         <body>Specifies the Generalization relationships for this Classifier. These Generalizations navigaten to more general classifiers in the generalization hierarchy.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35vvia8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35vviq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aVAja8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aVAjq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_326d9q8aEdqf6aL57Hh6KQ" name="feature" type="_33OAIq8aEdqf6aL57Hh6KQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_33XKF68aEdqf6aL57Hh6KQ" association="_342X2K8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_326d968aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_326d-K8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Xyp7q8kEdqRKeAGm8hhTw" name="feature" type="__YFlAa8kEdqRKeAGm8hhTw" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__YPV968kEdqRKeAGm8hhTw" association="__Zkyu68kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Xyp768kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Xyp8K8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_326d-a8aEdqf6aL57Hh6KQ" annotatedElement="_326d9q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Xyp8a8kEdqRKeAGm8hhTw" annotatedElement="__Xyp7q8kEdqRKeAGm8hhTw">

         <body>Redefines the corresponding association in Abstractions.  Note that there may be members of the Classifier that are of the type Feature but are not included in this association, e.g. inherited features.</body>

       </ownedComment>

-      <ownedComment xmi:id="_35vvi68aEdqf6aL57Hh6KQ" annotatedElement="_326d9q8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aVAj68kEdqRKeAGm8hhTw" annotatedElement="__Xyp7q8kEdqRKeAGm8hhTw">

         <body>Specifies each feature defined in the classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35vvjK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35vvja8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aVAkK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aVAka8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_326eAK8aEdqf6aL57Hh6KQ" name="inheritedMember" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_33XKF68aEdqf6aL57Hh6KQ" association="_342X968aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_326eAa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_326eAq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Xyp-K8kEdqRKeAGm8hhTw" name="inheritedMember" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="__YPV968kEdqRKeAGm8hhTw" association="__Zky2q8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Xyp-a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Xyp-q8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_326eA68aEdqf6aL57Hh6KQ" annotatedElement="_326eAK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Xyp-68kEdqRKeAGm8hhTw" annotatedElement="__Xyp-K8kEdqRKeAGm8hhTw">

         <body>Specifies all elements inherited by this classifier from the general classifiers.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35vvjq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35vvj68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aVAkq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aVAk68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_355ggK8aEdqf6aL57Hh6KQ" name="redefinedClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_37ifXq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_355gga8aEdqf6aL57Hh6KQ" annotatedElement="_355ggK8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__aVAlq8kEdqRKeAGm8hhTw" name="redefinedClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__b9YMK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__aVAl68kEdqRKeAGm8hhTw" annotatedElement="__aVAlq8kEdqRKeAGm8hhTw">

         <body>References the Classifiers that are redefined by this Classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_355ggq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_355gg68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aVAmK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aVAma8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_326d_K8aEdqf6aL57Hh6KQ" name="general" type="_6UV2QGwJEdq7X4sGURiZYA" isDerived="true" association="_342X4a8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_355ghK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_355gha8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Xyp9K8kEdqRKeAGm8hhTw" name="general" type="_6UV2QGwJEdq7X4sGURiZYA" isDerived="true" association="__ZkyxK8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__aVAmq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__aVAm68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_326d_a8aEdqf6aL57Hh6KQ" annotatedElement="_326d_K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Xyp9a8kEdqRKeAGm8hhTw" annotatedElement="__Xyp9K8kEdqRKeAGm8hhTw">

         <body>References the general classifier in the Generalization relationship.</body>

       </ownedComment>

-      <ownedComment xmi:id="_355ghq8aEdqf6aL57Hh6KQ" annotatedElement="_326d_K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__aVAnK8kEdqRKeAGm8hhTw" annotatedElement="__Xyp9K8kEdqRKeAGm8hhTw">

         <body>Specifies the general Classifiers for this Classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_355gh68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_355giK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aeKcK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aeKca8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_38bQRq8aEdqf6aL57Hh6KQ" name="substitution" type="_38bQOK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ _38bQTK8aEdqf6aL57Hh6KQ" association="_38bQX68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_38bQR68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_38bQSK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ctmNa8kEdqRKeAGm8hhTw" name="substitution" type="__ctmJ68kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw __ctmO68kEdqRKeAGm8hhTw" association="__ctmTq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ctmNq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ctmN68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_38bQSa8aEdqf6aL57Hh6KQ" annotatedElement="_38bQRq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ctmOK8kEdqRKeAGm8hhTw" annotatedElement="__ctmNa8kEdqRKeAGm8hhTw">

         <body>References the substitutions that are owned by this Classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38bQSq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38bQS68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__ctmOa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__ctmOq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_326d8K8aEdqf6aL57Hh6KQ" name="attribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_326d9q8aEdqf6aL57Hh6KQ" association="_34tNsK8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_326d8a8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_326d8q8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__Xyp6K8kEdqRKeAGm8hhTw" name="attribute" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="__Xyp7q8kEdqRKeAGm8hhTw" association="__ZR36q8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__Xyp6a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__Xyp6q8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_326d868aEdqf6aL57Hh6KQ" annotatedElement="_326d8K8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__Xyp668kEdqRKeAGm8hhTw" annotatedElement="__Xyp6K8kEdqRKeAGm8hhTw">

         <body>Refers to all of the Properties that are direct (i.e. not inherited or imported) attributes of the classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyX68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyYK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wl68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wmK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3838I68aEdqf6aL57Hh6KQ" name="representation" type="_3838BK8aEdqf6aL57Hh6KQ" subsettedProperty="_3838J68aEdqf6aL57Hh6KQ" association="_3838O68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_3838JK8aEdqf6aL57Hh6KQ" annotatedElement="_3838I68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dAhQq8kEdqRKeAGm8hhTw" name="representation" type="__dAhI68kEdqRKeAGm8hhTw" subsettedProperty="__dAhRq8kEdqRKeAGm8hhTw" association="__dAhWq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dAhQ68kEdqRKeAGm8hhTw" annotatedElement="__dAhQq8kEdqRKeAGm8hhTw">

         <body>References a collaboration use which indicates the collaboration that represents this classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838Ja8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838Jq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhRK8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhRa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_3838J68aEdqf6aL57Hh6KQ" name="collaborationUse" type="_3838BK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_3838QK8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_3838KK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_3838Ka8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dAhRq8kEdqRKeAGm8hhTw" name="collaborationUse" type="__dAhI68kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__dAhX68kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dAhR68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dAhSK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_3838Kq8aEdqf6aL57Hh6KQ" annotatedElement="_3838J68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dAhSa8kEdqRKeAGm8hhTw" annotatedElement="__dAhRq8kEdqRKeAGm8hhTw">

         <body>References the collaboration uses owned by the classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3838K68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3838LK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dAhSq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dAhS68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZg68aEdqf6aL57Hh6KQ" name="ownedUseCase" type="_39eZSq8aEdqf6aL57Hh6KQ" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_39ni868aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_39eZhK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_39eZha8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__dmXX68kEdqRKeAGm8hhTw" name="ownedUseCase" type="__dmXJq8kEdqRKeAGm8hhTw" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__dwICK8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__dmXYK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__dmXYa8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_39eZhq8aEdqf6aL57Hh6KQ" annotatedElement="_39eZg68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__dmXYq8kEdqRKeAGm8hhTw" annotatedElement="__dmXX68kEdqRKeAGm8hhTw">

         <body>References the use cases owned by this classifier.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZh68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZiK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXY68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXZK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_39eZia8aEdqf6aL57Hh6KQ" name="useCase" type="_39eZSq8aEdqf6aL57Hh6KQ" association="_39ni-K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_39eZiq8aEdqf6aL57Hh6KQ" annotatedElement="_39eZia8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__dmXZa8kEdqRKeAGm8hhTw" name="useCase" type="__dmXJq8kEdqRKeAGm8hhTw" association="__dwIDa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__dmXZq8kEdqRKeAGm8hhTw" annotatedElement="__dmXZa8kEdqRKeAGm8hhTw">

         <body>The set of use cases for which this Classifier is the subject.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_39eZi68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_39eZjK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__dmXZ68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__dmXaK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4Ac0c68aEdqf6aL57Hh6KQ" name="powertypeExtent" type="_4ATrBq8aEdqf6aL57Hh6KQ" association="_4Ac0f68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4Ac0dK8aEdqf6aL57Hh6KQ" annotatedElement="_4Ac0c68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__hn7dK8kEdqRKeAGm8hhTw" name="powertypeExtent" type="__hn7Wq8kEdqRKeAGm8hhTw" association="__hn7gK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__hn7da8kEdqRKeAGm8hhTw" annotatedElement="__hn7dK8kEdqRKeAGm8hhTw">

         <body>Designates the GeneralizationSet of which the associated Classifier is a power type.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Ac0da8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Ac0dq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hn7dq8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hn7d68kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_LT68aEdqf6aL57Hh6KQ" name="ownedTemplateSignature" type="_9keOQGvdEdq4DLWZOhbdEA" redefinedProperty="_4C1awK8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4DI8La8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4C_LUK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C_LUa8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__jHJaa8kEdqRKeAGm8hhTw" name="ownedTemplateSignature" type="_9keOQGvdEdq4DLWZOhbdEA" redefinedProperty="__jHJGK8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__jQ6Na8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__jHJaq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__jHJa68kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C_LUq8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LT68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__jHJbK8kEdqRKeAGm8hhTw" annotatedElement="__jHJaa8kEdqRKeAGm8hhTw">

         <body>The optional template signature specifying the formal template parameters.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_LU68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_LVK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJba8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJbq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_LVa8aEdqf6aL57Hh6KQ" name="templateParameter" type="_4C_LXq8aEdqf6aL57Hh6KQ" redefinedProperty="_4C_LE68aEdqf6aL57Hh6KQ" association="_4DI8Oa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LVq8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LVa8aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__jHJb68kEdqRKeAGm8hhTw" name="templateParameter" type="__jHJeK8kEdqRKeAGm8hhTw" redefinedProperty="__jHJLa8kEdqRKeAGm8hhTw" association="__jQ6Qa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJcK8kEdqRKeAGm8hhTw" annotatedElement="__jHJb68kEdqRKeAGm8hhTw">

         <body>The template parameter that exposes this element as a formal parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_LV68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_LWK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJca8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJcq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_KjT7EGwREdq14q0ETb1t3g" name="getAllAttributes" type="_Jp_1oGveEdq4DLWZOhbdEA" isQuery="true">

       <returnResult xmi:id="_OXZQsGwREdq14q0ETb1t3g" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return">

@@ -15759,257 +15759,257 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MH_rw66-EdqjppZik4kD8A"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EO_a8aEdqf6aL57Hh6KQ" name="general" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="_33EPAa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33EO_q8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_33EO_68aEdqf6aL57Hh6KQ" operationName="getGenerals"/>

+    <ownedOperation xmi:id="__X8a7a8kEdqRKeAGm8hhTw" name="general" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="__X8a8a8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__X8a7q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__X8a768kEdqRKeAGm8hhTw" operationName="getGenerals"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33EPAK8aEdqf6aL57Hh6KQ" annotatedElement="_33EO_a8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__X8a8K8kEdqRKeAGm8hhTw" annotatedElement="__X8a7a8kEdqRKeAGm8hhTw">

         <body>The general classifiers are the classifiers referenced by the generalization relationships.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EPAa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EO_a8aEdqf6aL57Hh6KQ _326d_K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_355gia8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8a8a8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8a7a8kEdqRKeAGm8hhTw __Xyp9K8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aeKcq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.parents()</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EPA68aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_355giq8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_355gi68aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__X8a868kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aeKc68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aeKdK8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EPDa8aEdqf6aL57Hh6KQ" name="inheritedMember" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33EPEa8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_33EPDq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="_33EPD68aEdqf6aL57Hh6KQ" operationName="getInheritedMembers"/>

+    <ownedOperation xmi:id="__X8a_a8kEdqRKeAGm8hhTw" name="inheritedMember" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__X8bAa8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__X8a_q8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EOperation" xmi:id="__X8a_68kEdqRKeAGm8hhTw" operationName="getInheritedMembers"/>

       </eAnnotations>

-      <ownedComment xmi:id="_33EPEK8aEdqf6aL57Hh6KQ" annotatedElement="_33EPDa8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__X8bAK8kEdqRKeAGm8hhTw" annotatedElement="__X8a_a8kEdqRKeAGm8hhTw">

         <body>The inheritedMember association is derived by inheriting the inheritable members of the parents.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EPEa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EPDa8aEdqf6aL57Hh6KQ _326eAK8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_355gjK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8bAa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8a_a8kEdqRKeAGm8hhTw __Xyp-K8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aeKda8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.inherit(self.parents()->collect(p | p.inheritableMembers(self))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EPE68aEdqf6aL57Hh6KQ" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_355gja8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_355gjq8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__X8bA68kEdqRKeAGm8hhTw" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aeKdq8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aeKd68kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EO9q8aEdqf6aL57Hh6KQ" name="allFeatures" type="_33OAIq8aEdqf6aL57Hh6KQ" isQuery="true" bodyCondition="_33EO-K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33EO968aEdqf6aL57Hh6KQ" annotatedElement="_33EO9q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__X8a5q8kEdqRKeAGm8hhTw" name="allFeatures" type="__YFlAa8kEdqRKeAGm8hhTw" isQuery="true" bodyCondition="__X8a6K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__X8a568kEdqRKeAGm8hhTw" annotatedElement="__X8a5q8kEdqRKeAGm8hhTw">

         <body>The query allFeatures() gives all of the features in the namespace of the classifier. In general, through mechanisms such as inheritance, this will be a larger set than feature.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EO-K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EO9q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_355gj68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8a6K8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8a5q8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aeKeK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = member->select(oclIsKindOf(Feature))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EO-q8aEdqf6aL57Hh6KQ" type="_33OAIq8aEdqf6aL57Hh6KQ" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_355gkK8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_355gka8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__X8a6q8kEdqRKeAGm8hhTw" type="__YFlAa8kEdqRKeAGm8hhTw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aeKea8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aeKeq8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EPBq8aEdqf6aL57Hh6KQ" name="parents" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="_33EPCK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33EPB68aEdqf6aL57Hh6KQ" annotatedElement="_33EPBq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__X8a9q8kEdqRKeAGm8hhTw" name="parents" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="__X8a-K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__X8a968kEdqRKeAGm8hhTw" annotatedElement="__X8a9q8kEdqRKeAGm8hhTw">

         <body>The query parents() gives all of the immediate ancestors of a generalized Classifier.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EPCK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EPBq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_355gkq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8a-K8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8a9q8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aeKe68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = generalization.general</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EPCq8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_355gk68aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_355glK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__X8a-q8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aeKfK8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aeKfa8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EPHa8aEdqf6aL57Hh6KQ" name="inheritableMembers" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" precondition="_33EPH68aEdqf6aL57Hh6KQ" postcondition="_33EPH68aEdqf6aL57Hh6KQ" bodyCondition="_33EPIa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33EPHq8aEdqf6aL57Hh6KQ" annotatedElement="_33EPHa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__X8bDa8kEdqRKeAGm8hhTw" name="inheritableMembers" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" precondition="__X8bD68kEdqRKeAGm8hhTw" postcondition="__X8bD68kEdqRKeAGm8hhTw" bodyCondition="__X8bEa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__X8bDq8kEdqRKeAGm8hhTw" annotatedElement="__X8bDa8kEdqRKeAGm8hhTw">

         <body>The query inheritableMembers() gives all of the members of a classifier that may be inherited in one of its descendants, subject to whatever visibility restrictions apply.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EPH68aEdqf6aL57Hh6KQ" constrainedElement="_33EPHa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_355glq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8bD68kEdqRKeAGm8hhTw" constrainedElement="__X8bDa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aeKf68kEdqRKeAGm8hhTw" language="OCL">

           <body>c.allParents()->includes(self)</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_33EPIa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EPHa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_355gl68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8bEa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8bDa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__aeKgK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = member->select(m | c.hasVisibilityOf(m))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EPI68aEdqf6aL57Hh6KQ" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_355gmK8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_355gma8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__X8bE68kEdqRKeAGm8hhTw" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__aeKga8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__aeKgq8kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_33EPJq8aEdqf6aL57Hh6KQ" name="c" type="_6UV2QGwJEdq7X4sGURiZYA" effect="read"/>

+      <ownedParameter xmi:id="__X8bFq8kEdqRKeAGm8hhTw" name="c" type="_6UV2QGwJEdq7X4sGURiZYA" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EPJ68aEdqf6aL57Hh6KQ" name="hasVisibilityOf" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_33EPKa8aEdqf6aL57Hh6KQ" bodyCondition="_33EPK68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33EPKK8aEdqf6aL57Hh6KQ" annotatedElement="_33EPJ68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__X8bF68kEdqRKeAGm8hhTw" name="hasVisibilityOf" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__X8bGa8kEdqRKeAGm8hhTw" bodyCondition="__X8bG68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__X8bGK8kEdqRKeAGm8hhTw" annotatedElement="__X8bF68kEdqRKeAGm8hhTw">

         <body>The query hasVisibilityOf() determines whether a named element is visible in the classifier. By default all are visible. It is only called when the argument is something owned by a parent.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EPKa8aEdqf6aL57Hh6KQ" constrainedElement="_33EPJ68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36CqcK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8bGa8kEdqRKeAGm8hhTw" constrainedElement="__X8bF68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__an7cK8kEdqRKeAGm8hhTw" language="OCL">

           <body>self.allParents()->collect(c | c.member)->includes(n)</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_33EPK68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EPJ68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36Cqca8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8bG68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8bF68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__an7ca8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = if (self.inheritedMember->includes(n)) then (n.visibility &lt;> #private) else true</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EPLa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33EPLq8aEdqf6aL57Hh6KQ" name="n" type="_csVgUGvtEdqG6fBIPwe-mw"/>

+      <returnResult xmi:id="__X8bHa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__X8bHq8kEdqRKeAGm8hhTw" name="n" type="_csVgUGvtEdqG6fBIPwe-mw"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EO8K8aEdqf6aL57Hh6KQ" name="conformsTo" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_34aTDq8aEdqf6aL57Hh6KQ" bodyCondition="_33EO8q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33EO8a8aEdqf6aL57Hh6KQ" annotatedElement="_33EO8K8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__X8a4K8kEdqRKeAGm8hhTw" name="conformsTo" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__ZIuCq8kEdqRKeAGm8hhTw" bodyCondition="__X8a4q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__X8a4a8kEdqRKeAGm8hhTw" annotatedElement="__X8a4K8kEdqRKeAGm8hhTw">

         <body>The query conformsTo() gives true for a classifier that defines a type that conforms to another. This is used, for example, in the specification of signature conformance for operations.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EO8q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EO8K8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36Cqcq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8a4q8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8a4K8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__an7cq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (self=other) or (self.allParents()->includes(other))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EO9K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33EO9a8aEdqf6aL57Hh6KQ" name="other" type="_6UV2QGwJEdq7X4sGURiZYA"/>

+      <returnResult xmi:id="__X8a5K8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__X8a5a8kEdqRKeAGm8hhTw" name="other" type="_6UV2QGwJEdq7X4sGURiZYA"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EPL68aEdqf6aL57Hh6KQ" name="inherit" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33EPMa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33EPMK8aEdqf6aL57Hh6KQ" annotatedElement="_33EPL68aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__X8bH68kEdqRKeAGm8hhTw" name="inherit" type="_csVgUGvtEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__X8bIa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__X8bIK8kEdqRKeAGm8hhTw" annotatedElement="__X8bH68kEdqRKeAGm8hhTw">

         <body>The inherit operation is overridden to exclude redefined properties.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36Cqc68aEdqf6aL57Hh6KQ" annotatedElement="_33EPL68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__an7c68kEdqRKeAGm8hhTw" annotatedElement="__X8bH68kEdqRKeAGm8hhTw">

         <body>The query inherit() defines how to inherit a set of elements. Here the operation is defined to inherit them all. It is intended to be redefined in circumstances where inheritance is affected by redefinition.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EPMa8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EPL68aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36CqdK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8bIa8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8bH68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__an7dK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = inhs</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EPM68aEdqf6aL57Hh6KQ" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36Cqd68aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36CqeK8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__X8bI68kEdqRKeAGm8hhTw" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__an7d68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__an7eK8kEdqRKeAGm8hhTw"/>

       </returnResult>

-      <ownedParameter xmi:id="_33EPNq8aEdqf6aL57Hh6KQ" name="inhs" type="_csVgUGvtEdqG6fBIPwe-mw">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36Cqea8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36Cqeq8aEdqf6aL57Hh6KQ"/>

+      <ownedParameter xmi:id="__X8bJq8kEdqRKeAGm8hhTw" name="inhs" type="_csVgUGvtEdqG6fBIPwe-mw">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__an7ea8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__an7eq8kEdqRKeAGm8hhTw"/>

       </ownedParameter>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EPOa8aEdqf6aL57Hh6KQ" name="maySpecializeType" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="_33EPO68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33EPOq8aEdqf6aL57Hh6KQ" annotatedElement="_33EPOa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__X8bKa8kEdqRKeAGm8hhTw" name="maySpecializeType" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" bodyCondition="__X8bK68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__X8bKq8kEdqRKeAGm8hhTw" annotatedElement="__X8bKa8kEdqRKeAGm8hhTw">

         <body>The query maySpecializeType() determines whether this classifier may have a generalization relationship to classifiers of the specified type. By default a classifier may specialize classifiers of the same or a more general type. It is intended to be redefined by classifiers that have different specialization constraints.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EPO68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EPOa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36Cqe68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8bK68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8bKa8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__an7e68kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.oclIsKindOf(c.oclType)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EPPa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_33EPPq8aEdqf6aL57Hh6KQ" name="c" type="_6UV2QGwJEdq7X4sGURiZYA" effect="read"/>

+      <returnResult xmi:id="__X8bLa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__X8bLq8kEdqRKeAGm8hhTw" name="c" type="_6UV2QGwJEdq7X4sGURiZYA" effect="read"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_33EPFq8aEdqf6aL57Hh6KQ" name="allParents" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="_33EPGK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_33EPF68aEdqf6aL57Hh6KQ" annotatedElement="_33EPFq8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__X8bBq8kEdqRKeAGm8hhTw" name="allParents" type="_6UV2QGwJEdq7X4sGURiZYA" isQuery="true" bodyCondition="__X8bCK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__X8bB68kEdqRKeAGm8hhTw" annotatedElement="__X8bBq8kEdqRKeAGm8hhTw">

         <body>The query allParents() gives all of the direct and indirect ancestors of a generalized Classifier.</body>

       </ownedComment>

-      <ownedRule xmi:id="_33EPGK8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_33EPFq8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36CqfK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__X8bCK8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__X8bBq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__an7fK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = self.parents()->union(self.parents()->collect(p | p.allParents())</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_33EPGq8aEdqf6aL57Hh6KQ" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36Cqfa8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36Cqfq8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__X8bCq8kEdqRKeAGm8hhTw" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__an7fa8kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__an7fq8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_4C_LWa8aEdqf6aL57Hh6KQ" name="isTemplate" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_4C1aza8aEdqf6aL57Hh6KQ" bodyCondition="_4C_LW68aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LWq8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LWa8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__jHJc68kEdqRKeAGm8hhTw" name="isTemplate" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__jHJJa8kEdqRKeAGm8hhTw" bodyCondition="__jHJda8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJdK8kEdqRKeAGm8hhTw" annotatedElement="__jHJc68kEdqRKeAGm8hhTw">

         <body>The query isTemplate() returns whether this templateable element is actually a template.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4C_LW68aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C_LWa8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_LXK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJda8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__jHJc68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJdq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = oclAsType(TemplatableElement).isTemplate() or general->exists(g | g.isTemplate())</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C_LXa8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__jHJd68kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C_LXq8aEdqf6aL57Hh6KQ" name="ClassifierTemplateParameter">

-    <ownedComment xmi:id="_4C_LX68aEdqf6aL57Hh6KQ" annotatedElement="_4C_LXq8aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__jHJeK8kEdqRKeAGm8hhTw" name="ClassifierTemplateParameter">

+    <ownedComment xmi:id="__jHJea8kEdqRKeAGm8hhTw" annotatedElement="__jHJeK8kEdqRKeAGm8hhTw">

       <body>ClassifierTemplateParameter is a template parameter where the parametered element is a Classifier in its capacity of being a kind of ParameterableElement.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4C_LYK8aEdqf6aL57Hh6KQ" name="has_constraining_classifier" constrainedElement="_4C_LXq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LYa8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LYK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__jHJeq8kEdqRKeAGm8hhTw" name="has_constraining_classifier" constrainedElement="__jHJeK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJe68kEdqRKeAGm8hhTw" annotatedElement="__jHJeq8kEdqRKeAGm8hhTw">

         <body>If &quot;allowSubstitutable&quot; is true, then there must be a constrainingClassifier.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_LYq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJfK8kEdqRKeAGm8hhTw" language="OCL">

         <body>allowSubstitutable implies constrainingClassifier->notEmpty()</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4C_LY68aEdqf6aL57Hh6KQ" general="_KxRzgGvuEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_4C_LZK8aEdqf6aL57Hh6KQ" name="allowSubstitutable" type="_UdivYGvsEdqG6fBIPwe-mw">

-      <ownedComment xmi:id="_4C_LZa8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LZK8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__jHJfa8kEdqRKeAGm8hhTw" general="_KxRzgGvuEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__jHJfq8kEdqRKeAGm8hhTw" name="allowSubstitutable" type="_UdivYGvsEdqG6fBIPwe-mw">

+      <ownedComment xmi:id="__jHJf68kEdqRKeAGm8hhTw" annotatedElement="__jHJfq8kEdqRKeAGm8hhTw">

         <body>Constrains the required relationship between an actual parameter and the parameteredElement for this formal parameter.</body>

       </ownedComment>

-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_4C_LZq8aEdqf6aL57Hh6KQ" value="true"/>

+      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="__jHJgK8kEdqRKeAGm8hhTw" value="true"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_LZ68aEdqf6aL57Hh6KQ" name="parameteredElement" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_4C1aVa8aEdqf6aL57Hh6KQ" association="_4DI8Oa8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LaK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LZ68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__jHJga8kEdqRKeAGm8hhTw" name="parameteredElement" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="__i9_Za8kEdqRKeAGm8hhTw" association="__jQ6Qa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJgq8kEdqRKeAGm8hhTw" annotatedElement="__jHJga8kEdqRKeAGm8hhTw">

         <body>The parameterable classifier for this template parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_Laa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_Laq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJg68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJhK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_La68aEdqf6aL57Hh6KQ" name="defaultClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4DI8RK8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LbK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_La68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__jHJha8kEdqRKeAGm8hhTw" name="defaultClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="__jQ6TK8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJhq8kEdqRKeAGm8hhTw" annotatedElement="__jHJha8kEdqRKeAGm8hhTw">

         <body>The classifier that is used by default if no argument is provided during template binding. If this property is empty, then there is no default.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_Lba8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_Lbq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJh68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJiK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_Lb68aEdqf6aL57Hh6KQ" name="constrainingClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="_4DI8Rq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LcK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_Lb68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__jHJia8kEdqRKeAGm8hhTw" name="constrainingClassifier" type="_6UV2QGwJEdq7X4sGURiZYA" association="__jQ6Tq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJiq8kEdqRKeAGm8hhTw" annotatedElement="__jHJia8kEdqRKeAGm8hhTw">

         <body>The classifier that constrains the argument that can be used for the parameter. If the allowSubstitutable attribute is true, then any classifier that is compatible with this constraining classifier can be substituted, otherwise it must be either this classifier or one of its subclasses. If this property is empty, there are no constraints on the classifier that can be used as an argument.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_Lca8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_Lcq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJi68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJjK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_9keOQGvdEdq4DLWZOhbdEA" name="RedefinableTemplateSignature">

-    <ownedComment xmi:id="_4C_Lc68aEdqf6aL57Hh6KQ" annotatedElement="_9keOQGvdEdq4DLWZOhbdEA">

+    <ownedComment xmi:id="__jHJja8kEdqRKeAGm8hhTw" annotatedElement="_9keOQGvdEdq4DLWZOhbdEA">

       <body>RedefinableTemplateSignature specializes both TemplateSignature and RedefinableElement in order to allow the addition of new formal template parameters in the context of a specializing template Classifier.</body>

     </ownedComment>

-    <ownedRule xmi:id="_4C_LdK8aEdqf6aL57Hh6KQ" name="inherited_parameters" constrainedElement="_9keOQGvdEdq4DLWZOhbdEA">

-      <ownedComment xmi:id="_4C_Lda8aEdqf6aL57Hh6KQ" annotatedElement="_4C_LdK8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__jHJjq8kEdqRKeAGm8hhTw" name="inherited_parameters" constrainedElement="_9keOQGvdEdq4DLWZOhbdEA">

+      <ownedComment xmi:id="__jHJj68kEdqRKeAGm8hhTw" annotatedElement="__jHJjq8kEdqRKeAGm8hhTw">

         <body>The inherited parameters are the parameters of the extended template signature.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_Ldq8aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJkK8kEdqRKeAGm8hhTw" language="OCL">

         <body>if extendedSignature->isEmpty() then Set{} else extendedSignature.parameter endif</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_4C_Ld68aEdqf6aL57Hh6KQ" general="_33g64K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4C_LeK8aEdqf6aL57Hh6KQ" general="_4C1aLa8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_4C_Lea8aEdqf6aL57Hh6KQ" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_33g66a8aEdqf6aL57Hh6KQ" association="_4DI8La8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C_Leq8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C_Le68aEdqf6aL57Hh6KQ" isResolveProxies="false"/>

+    <generalization xmi:id="__jHJka8kEdqRKeAGm8hhTw" general="__YYfwK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jHJkq8kEdqRKeAGm8hhTw" general="__i9_Pa8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__jHJk68kEdqRKeAGm8hhTw" name="classifier" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="__YYfya8kEdqRKeAGm8hhTw" association="__jQ6Na8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__jHJlK8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__jHJla8kEdqRKeAGm8hhTw" isResolveProxies="false"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C_LfK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_Lea8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__jHJlq8kEdqRKeAGm8hhTw" annotatedElement="__jHJk68kEdqRKeAGm8hhTw">

         <body>The classifier that owns this template signature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_Lfa8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_Lfq8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJl68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJmK8kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_Lf68aEdqf6aL57Hh6KQ" name="extendedSignature" type="_9keOQGvdEdq4DLWZOhbdEA" subsettedProperty="_33g6768aEdqf6aL57Hh6KQ" association="_4DI8Ma8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LgK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_Lf68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__jHJma8kEdqRKeAGm8hhTw" name="extendedSignature" type="_9keOQGvdEdq4DLWZOhbdEA" subsettedProperty="__YYfz68kEdqRKeAGm8hhTw" association="__jQ6Oa8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJmq8kEdqRKeAGm8hhTw" annotatedElement="__jHJma8kEdqRKeAGm8hhTw">

         <body>The template signature that is extended by this template signature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_Lga8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_Lgq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJm68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJnK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_Lg68aEdqf6aL57Hh6KQ" name="inheritedParameter" type="_KxRzgGvuEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_4C1aM68aEdqf6aL57Hh6KQ" association="_4DI8Nq8aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_4C_LhK8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4C_Lha8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__jHJna8kEdqRKeAGm8hhTw" name="inheritedParameter" type="_KxRzgGvuEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="__i9_Q68kEdqRKeAGm8hhTw" association="__jQ6Pq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__jHJnq8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__jHJn68kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4C_Lhq8aEdqf6aL57Hh6KQ" annotatedElement="_4C_Lg68aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__jHJoK8kEdqRKeAGm8hhTw" annotatedElement="__jHJna8kEdqRKeAGm8hhTw">

         <body>The formal template parameters of the extendedSignature.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_Lh68aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_LiK8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJoa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJoq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_FvJUYFYLEdqrn7iZ0eqieg" name="getInheritedParameters" type="_KxRzgGvuEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_Jbx-MFYLEdqrn7iZ0eqieg" type="_KxRzgGvuEdqG6fBIPwe-mw" direction="return">

@@ -16017,155 +16017,155 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LQdA0FYLEdqrn7iZ0eqieg"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_4C_Lia8aEdqf6aL57Hh6KQ" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_4C_Li68aEdqf6aL57Hh6KQ" redefinedOperation="_33g69a8aEdqf6aL57Hh6KQ" bodyCondition="_4C_Lja8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_Liq8aEdqf6aL57Hh6KQ" annotatedElement="_4C_Lia8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__jHJo68kEdqRKeAGm8hhTw" name="isConsistentWith" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__jHJpa8kEdqRKeAGm8hhTw" redefinedOperation="__YYf1a8kEdqRKeAGm8hhTw" bodyCondition="__jHJp68kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJpK8kEdqRKeAGm8hhTw" annotatedElement="__jHJo68kEdqRKeAGm8hhTw">

         <body>The query isConsistentWith() specifies, for any two RedefinableTemplateSignatures in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining template signature is always consistent with a redefined template signature, since redefinition only adds new formal parameters.</body>

       </ownedComment>

-      <ownedRule xmi:id="_4C_Li68aEdqf6aL57Hh6KQ" constrainedElement="_4C_Lia8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_LjK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJpa8kEdqRKeAGm8hhTw" constrainedElement="__jHJo68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJpq8kEdqRKeAGm8hhTw" language="OCL">

           <body>redefinee.isRedefinitionContextValid(self)</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_4C_Lja8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_4C_Lia8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_4C_Ljq8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__jHJp68kEdqRKeAGm8hhTw" name="spec" constrainedElement="__jHJo68kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__jHJqK8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = redefinee.oclIsKindOf(RedefineableTemplateSignature)</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_4C_Lj68aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_4C_LkK8aEdqf6aL57Hh6KQ" name="redefinee" type="_33g64K8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__jHJqa8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__jHJqq8kEdqRKeAGm8hhTw" name="redefinee" type="__YYfwK8kEdqRKeAGm8hhTw"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_38uyV68aEdqf6aL57Hh6KQ" name="ConnectableElement" isAbstract="true">

-    <ownedComment xmi:id="_38uyWK8aEdqf6aL57Hh6KQ" annotatedElement="_38uyV68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__c2wj68kEdqRKeAGm8hhTw" name="ConnectableElement" isAbstract="true">

+    <ownedComment xmi:id="__c2wkK8kEdqRKeAGm8hhTw" annotatedElement="__c2wj68kEdqRKeAGm8hhTw">

       <body>A ConnectableElement is an abstract metaclass representing a set of instances that play roles of a classifier. Connectable elements may be joined by attached connectors and specify configurations of linked instances to be created within an instance of the containing classifier.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4C_Lka8aEdqf6aL57Hh6KQ" annotatedElement="_38uyV68aEdqf6aL57Hh6KQ">

+    <ownedComment xmi:id="__jHJq68kEdqRKeAGm8hhTw" annotatedElement="__c2wj68kEdqRKeAGm8hhTw">

       <body>ConnectableElement is the connectable element of a ConnectableElementTemplateParameter.

 

 The ConnectableElements attached as role to each ConnectorEnd owned by a Connector must be roles of the classifier that owned the Connector, or they must be ports of such roles. 

 

 </body>

     </ownedComment>

-    <generalization xmi:id="_38uyWa8aEdqf6aL57Hh6KQ" general="_33g7Dq8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4C_Lkq8aEdqf6aL57Hh6KQ" general="_4C_LEK8aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_38uyWq8aEdqf6aL57Hh6KQ" name="end" type="_aOgw0GveEdq4DLWZOhbdEA" isOrdered="true" association="_38uyiq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_38uyW68aEdqf6aL57Hh6KQ" annotatedElement="_38uyWq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__c2wka8kEdqRKeAGm8hhTw" general="__YYf7q8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jHJrK8kEdqRKeAGm8hhTw" general="__jHJKq8kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__c2wkq8kEdqRKeAGm8hhTw" name="end" type="_aOgw0GveEdq4DLWZOhbdEA" isOrdered="true" association="__dAhHq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__c2wk68kEdqRKeAGm8hhTw" annotatedElement="__c2wkq8kEdqRKeAGm8hhTw">

         <body>Denotes a connector that attaches to this connectable element.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38uyXK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38uyXa8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__c2wlK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__c2wla8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4C_Lk68aEdqf6aL57Hh6KQ" name="templateParameter" type="_4C_Ll68aEdqf6aL57Hh6KQ" redefinedProperty="_4C_LE68aEdqf6aL57Hh6KQ" association="_4DI8Qq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_LlK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_Lk68aEdqf6aL57Hh6KQ">

+    <ownedAttribute xmi:id="__jHJra8kEdqRKeAGm8hhTw" name="templateParameter" type="__jHJsa8kEdqRKeAGm8hhTw" redefinedProperty="__jHJLa8kEdqRKeAGm8hhTw" association="__jQ6Sq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJrq8kEdqRKeAGm8hhTw" annotatedElement="__jHJra8kEdqRKeAGm8hhTw">

         <body>The ConnectableElementTemplateParameter for this ConnectableElement parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_Lla8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_Llq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJr68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJsK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

   </ownedMember>

-  <ownedMember xmi:type="uml:Class" xmi:id="_4C_Ll68aEdqf6aL57Hh6KQ" name="ConnectableElementTemplateParameter">

-    <ownedComment xmi:id="_4C_LmK8aEdqf6aL57Hh6KQ" annotatedElement="_4C_Ll68aEdqf6aL57Hh6KQ">

+  <ownedMember xmi:type="uml:Class" xmi:id="__jHJsa8kEdqRKeAGm8hhTw" name="ConnectableElementTemplateParameter">

+    <ownedComment xmi:id="__jHJsq8kEdqRKeAGm8hhTw" annotatedElement="__jHJsa8kEdqRKeAGm8hhTw">

       <body>ConnectableElementTemplateParameter is a template parameter where the parametered element is a ConnectableElement.</body>

     </ownedComment>

-    <generalization xmi:id="_4C_Lma8aEdqf6aL57Hh6KQ" general="_KxRzgGvuEdqG6fBIPwe-mw"/>

-    <ownedAttribute xmi:id="_4C_Lmq8aEdqf6aL57Hh6KQ" name="parameteredElement" type="_38uyV68aEdqf6aL57Hh6KQ" redefinedProperty="_4C1aVa8aEdqf6aL57Hh6KQ" association="_4DI8Qq8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_4C_Lm68aEdqf6aL57Hh6KQ" annotatedElement="_4C_Lmq8aEdqf6aL57Hh6KQ">

+    <generalization xmi:id="__jHJs68kEdqRKeAGm8hhTw" general="_KxRzgGvuEdqG6fBIPwe-mw"/>

+    <ownedAttribute xmi:id="__jHJtK8kEdqRKeAGm8hhTw" name="parameteredElement" type="__c2wj68kEdqRKeAGm8hhTw" redefinedProperty="__i9_Za8kEdqRKeAGm8hhTw" association="__jQ6Sq8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__jHJta8kEdqRKeAGm8hhTw" annotatedElement="__jHJtK8kEdqRKeAGm8hhTw">

         <body>The ConnectableElement for this template parameter.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C_LnK8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C_Lna8aEdqf6aL57Hh6KQ" value="1"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jHJtq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jHJt68kEdqRKeAGm8hhTw" value="1"/>

     </ownedAttribute>

   </ownedMember>

   <ownedMember xmi:type="uml:Class" xmi:id="_-cvRAGvzEdq7X4sGURiZYA" name="Package">

-    <ownedComment xmi:id="_34Qh_K8aEdqf6aL57Hh6KQ" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__Y-8_K8kEdqRKeAGm8hhTw" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">

       <body>A package is a namespace for its members, and may contain other packages. Only packageable elements can be owned members of a package. By virtue of being a namespace, a package can import either individual members of other packages, or all the members of other packages. In addition a package can be merged with other packages.</body>

     </ownedComment>

-    <ownedComment xmi:id="_36fWaq8aEdqf6aL57Hh6KQ" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__a62m68kEdqRKeAGm8hhTw" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">

       <body>A package is a namespace for its members, and may contain other packages. Only packageable elements can be owned members of a package. By virtue of being a namespace, a package can import either individual members of other packages, or all the members of other packages.

 

 In addition a package can be merged with other packages.

 

 </body>

     </ownedComment>

-    <ownedComment xmi:id="_3_2_Ea8aEdqf6aL57Hh6KQ" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__hLP468kEdqRKeAGm8hhTw" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">

       <body>A Package can have one or more ProfileApplications to indicate which profiles have been applied. Because a profile is a package, it is possible to apply a profile not only to packages, but also to profiles.</body>

     </ownedComment>

-    <ownedComment xmi:id="_4C_Lnq8aEdqf6aL57Hh6KQ" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">

+    <ownedComment xmi:id="__jHJuK8kEdqRKeAGm8hhTw" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">

       <body>Package specializes TemplateableElement and PackageableElement specializes ParameterableElement to specify that a package can be used as a template and a PackageableElement as a template parameter.</body>

     </ownedComment>

-    <ownedRule xmi:id="_34Qh_a8aEdqf6aL57Hh6KQ" name="elements_public_or_private" constrainedElement="_-cvRAGvzEdq7X4sGURiZYA">

-      <ownedComment xmi:id="_34Qh_q8aEdqf6aL57Hh6KQ" annotatedElement="_34Qh_a8aEdqf6aL57Hh6KQ">

+    <ownedRule xmi:id="__Y-8_a8kEdqRKeAGm8hhTw" name="elements_public_or_private" constrainedElement="_-cvRAGvzEdq7X4sGURiZYA">

+      <ownedComment xmi:id="__Y-8_q8kEdqRKeAGm8hhTw" annotatedElement="__Y-8_a8kEdqRKeAGm8hhTw">

         <body>If an element that is owned by a package has visibility, it is public or private.</body>

       </ownedComment>

-      <specification xmi:type="uml:OpaqueExpression" xmi:id="_36fWa68aEdqf6aL57Hh6KQ" language="OCL">

+      <specification xmi:type="uml:OpaqueExpression" xmi:id="__a62nK8kEdqRKeAGm8hhTw" language="OCL">

         <body>self.ownedElements->forAll(e | e.visibility->notEmpty() implies e.visbility = #public or e.visibility = #private)</body>

       </specification>

     </ownedRule>

-    <generalization xmi:id="_34QiAK8aEdqf6aL57Hh6KQ" general="_jKxnwGwLEdq7X4sGURiZYA"/>

-    <generalization xmi:id="_34QiAa8aEdqf6aL57Hh6KQ" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

-    <generalization xmi:id="_4C_Ln68aEdqf6aL57Hh6KQ" general="_4C1at68aEdqf6aL57Hh6KQ"/>

-    <ownedAttribute xmi:id="_34aSzK8aEdqf6aL57Hh6KQ" name="packageMerge" type="_34aS-K8aEdqf6aL57Hh6KQ" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_342Xw68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_34aSza8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34aSzq8aEdqf6aL57Hh6KQ"/>

+    <generalization xmi:id="__Y-9AK8kEdqRKeAGm8hhTw" general="_jKxnwGwLEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__Y-9Aa8kEdqRKeAGm8hhTw" general="_ZiwkoGwLEdq7X4sGURiZYA"/>

+    <generalization xmi:id="__jHJua8kEdqRKeAGm8hhTw" general="__i9_x68kEdqRKeAGm8hhTw"/>

+    <ownedAttribute xmi:id="__ZItyK8kEdqRKeAGm8hhTw" name="packageMerge" type="__ZIt9K8kEdqRKeAGm8hhTw" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__Zkypq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ZItya8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZItyq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aSz68aEdqf6aL57Hh6KQ" annotatedElement="_34aSzK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIty68kEdqRKeAGm8hhTw" annotatedElement="__ZItyK8kEdqRKeAGm8hhTw">

         <body>References the PackageMerges that are owned by this Package.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36fWbK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36fWba8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62na8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62nq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34QiAq8aEdqf6aL57Hh6KQ" name="packagedElement" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="_33XKEa8aEdqf6aL57Hh6KQ" association="_342Xtq8aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_34QiA68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34QiBK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ZItsK8kEdqRKeAGm8hhTw" name="packagedElement" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="__YPV8a8kEdqRKeAGm8hhTw" association="__Zkyma8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ZItsa8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZItsq8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34QiBa8aEdqf6aL57Hh6KQ" annotatedElement="_34QiAq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZIts68kEdqRKeAGm8hhTw" annotatedElement="__ZItsK8kEdqRKeAGm8hhTw">

         <body>Specifies the packageable elements that are owned by this Package.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36fWbq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36fWb68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62n68kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62oK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34QiCK8aEdqf6aL57Hh6KQ" name="ownedType" type="_ynRtoGvtEdqG6fBIPwe-mw" isDerived="true" subsettedProperty="_34QiAq8aEdqf6aL57Hh6KQ" association="_342Xu68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_34QiCa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34QiCq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__ZIttq8kEdqRKeAGm8hhTw" name="ownedType" type="_ynRtoGvtEdqG6fBIPwe-mw" isDerived="true" subsettedProperty="__ZItsK8kEdqRKeAGm8hhTw" association="__Zkynq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ZItt68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZItuK8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34QiC68aEdqf6aL57Hh6KQ" annotatedElement="_34QiCK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZItua8kEdqRKeAGm8hhTw" annotatedElement="__ZIttq8kEdqRKeAGm8hhTw">

         <body>References the packaged elements that are Types.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36fWcK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36fWca8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__a62oa8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__a62oq8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34aSwK8aEdqf6aL57Hh6KQ" name="nestedPackage" type="_-cvRAGvzEdq7X4sGURiZYA" isDerived="true" subsettedProperty="_34QiAq8aEdqf6aL57Hh6KQ" association="_342Xv68aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_34aSwa8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34aSwq8aEdqf6aL57Hh6KQ" isTransient="true"/>

+    <ownedAttribute xmi:id="__ZItvK8kEdqRKeAGm8hhTw" name="nestedPackage" type="_-cvRAGvzEdq7X4sGURiZYA" isDerived="true" subsettedProperty="__ZItsK8kEdqRKeAGm8hhTw" association="__Zkyoq8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__ZItva8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZItvq8kEdqRKeAGm8hhTw" isTransient="true"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aSw68aEdqf6aL57Hh6KQ" annotatedElement="_34aSwK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZItv68kEdqRKeAGm8hhTw" annotatedElement="__ZItvK8kEdqRKeAGm8hhTw">

         <body>References the packaged elements that are Packages.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36fWcq8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36fWc68aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnYK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEnYa8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_34aSxq8aEdqf6aL57Hh6KQ" name="nestingPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_34aTK68aEdqf6aL57Hh6KQ" association="_342Xv68aEdqf6aL57Hh6KQ">

-      <eAnnotations xmi:id="_34aSx68aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_34aSyK8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__ZItwq8kEdqRKeAGm8hhTw" name="nestingPackage" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="__ZIuJ68kEdqRKeAGm8hhTw" association="__Zkyoq8kEdqRKeAGm8hhTw">

+      <eAnnotations xmi:id="__ZItw68kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__ZItxK8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_34aSya8aEdqf6aL57Hh6KQ" annotatedElement="_34aSxq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__ZItxa8kEdqRKeAGm8hhTw" annotatedElement="__ZItwq8kEdqRKeAGm8hhTw">

         <body>References the owning package of a package.</body>

       </ownedComment>

-      <ownedComment xmi:id="_36fWdK8aEdqf6aL57Hh6KQ" annotatedElement="_34aSxq8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__bEnYq8kEdqRKeAGm8hhTw" annotatedElement="__ZItwq8kEdqRKeAGm8hhTw">

         <body>References the Package that owns this Package.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36fWda8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36fWdq8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnY68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEnZK8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

-    <ownedAttribute xmi:id="_4AAIgK8aEdqf6aL57Hh6KQ" name="profileApplication" type="_uY5yQGv5Edq7X4sGURiZYA" subsettedProperty="_33OABK8aEdqf6aL57Hh6KQ" association="_4AAI968aEdqf6aL57Hh6KQ" aggregation="composite">

-      <eAnnotations xmi:id="_4AAIga8aEdqf6aL57Hh6KQ" source="appliedStereotypes">

-        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="_4AAIgq8aEdqf6aL57Hh6KQ"/>

+    <ownedAttribute xmi:id="__hLP5K8kEdqRKeAGm8hhTw" name="profileApplication" type="_uY5yQGv5Edq7X4sGURiZYA" subsettedProperty="__YFk468kEdqRKeAGm8hhTw" association="__hVA0a8kEdqRKeAGm8hhTw" aggregation="composite">

+      <eAnnotations xmi:id="__hLP5a8kEdqRKeAGm8hhTw" source="appliedStereotypes">

+        <contents xmi:type="Ecore_2:Ecore__EReference" xmi:id="__hLP5q8kEdqRKeAGm8hhTw"/>

       </eAnnotations>

-      <ownedComment xmi:id="_4AAIg68aEdqf6aL57Hh6KQ" annotatedElement="_4AAIgK8aEdqf6aL57Hh6KQ">

+      <ownedComment xmi:id="__hLP568kEdqRKeAGm8hhTw" annotatedElement="__hLP5K8kEdqRKeAGm8hhTw">

         <body>References the ProfileApplications that indicate which profiles have been applied to the Package.</body>

       </ownedComment>

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4AAIhK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4AAIha8aEdqf6aL57Hh6KQ"/>

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__hLP6K8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__hLP6a8kEdqRKeAGm8hhTw"/>

     </ownedAttribute>

     <ownedOperation xmi:id="_4JyAAGwFEdq7X4sGURiZYA" name="createOwnedClass" type="_00owUGvdEdq4DLWZOhbdEA">

       <returnResult xmi:id="_94M7YGwFEdq7X4sGURiZYA" type="_00owUGvdEdq4DLWZOhbdEA" direction="return"/>

@@ -16257,140 +16257,140 @@
     <ownedOperation xmi:id="_NrOGAIbSEdqhgMOAOWpjfQ" name="isModelLibrary" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true">

       <returnResult xmi:id="_NrOGAYbSEdqhgMOAOWpjfQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34aS0q8aEdqf6aL57Hh6KQ" name="mustBeOwned" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="_33OAHa8aEdqf6aL57Hh6KQ" bodyCondition="_34aS1K8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34aS068aEdqf6aL57Hh6KQ" annotatedElement="_34aS0q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__ZItzq8kEdqRKeAGm8hhTw" name="mustBeOwned" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" redefinedOperation="__YFk_K8kEdqRKeAGm8hhTw" bodyCondition="__ZIt0K8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZItz68kEdqRKeAGm8hhTw" annotatedElement="__ZItzq8kEdqRKeAGm8hhTw">

         <body>The query mustBeOwned() indicates whether elements of this type must have an owner.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34aS1K8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34aS0q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36fWd68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZIt0K8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZItzq8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnZa8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = false</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34aS1q8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <returnResult xmi:id="__ZIt0q8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

     </ownedOperation>

-    <ownedOperation xmi:id="_34aS168aEdqf6aL57Hh6KQ" name="visibleMembers" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="_34aS2a8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34aS2K8aEdqf6aL57Hh6KQ" annotatedElement="_34aS168aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__ZIt068kEdqRKeAGm8hhTw" name="visibleMembers" type="_jKxnwGwLEdq7X4sGURiZYA" isQuery="true" bodyCondition="__ZIt1a8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZIt1K8kEdqRKeAGm8hhTw" annotatedElement="__ZIt068kEdqRKeAGm8hhTw">

         <body>The query visibleMembers() defines which members of a Package can be accessed outside it.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34aS2a8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34aS168aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36fWeK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZIt1a8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZIt068kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnZq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = member->select( m | self.makesVisible(m))</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34aS268aEdqf6aL57Hh6KQ" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_36fWea8aEdqf6aL57Hh6KQ" value="-1"/>

-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_36fWeq8aEdqf6aL57Hh6KQ"/>

+      <returnResult xmi:id="__ZIt168kEdqRKeAGm8hhTw" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">

+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__bEnZ68kEdqRKeAGm8hhTw" value="-1"/>

+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__bEnaK8kEdqRKeAGm8hhTw"/>

       </returnResult>

     </ownedOperation>

-    <ownedOperation xmi:id="_34aS3q8aEdqf6aL57Hh6KQ" name="makesVisible" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="_34aS4K8aEdqf6aL57Hh6KQ" bodyCondition="_34aS4q8aEdqf6aL57Hh6KQ">

-      <ownedComment xmi:id="_34aS368aEdqf6aL57Hh6KQ" annotatedElement="_34aS3q8aEdqf6aL57Hh6KQ">

+    <ownedOperation xmi:id="__ZIt2q8kEdqRKeAGm8hhTw" name="makesVisible" type="_UdivYGvsEdqG6fBIPwe-mw" isQuery="true" precondition="__ZIt3K8kEdqRKeAGm8hhTw" bodyCondition="__ZIt3q8kEdqRKeAGm8hhTw">

+      <ownedComment xmi:id="__ZIt268kEdqRKeAGm8hhTw" annotatedElement="__ZIt2q8kEdqRKeAGm8hhTw">

         <body>The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.</body>

       </ownedComment>

-      <ownedRule xmi:id="_34aS4K8aEdqf6aL57Hh6KQ" constrainedElement="_34aS3q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36fWe68aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZIt3K8kEdqRKeAGm8hhTw" constrainedElement="__ZIt2q8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnaa8kEdqRKeAGm8hhTw" language="OCL">

           <body>self.member->includes(el)</body>

         </specification>

       </ownedRule>

-      <ownedRule xmi:id="_34aS4q8aEdqf6aL57Hh6KQ" name="spec" constrainedElement="_34aS3q8aEdqf6aL57Hh6KQ">

-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_36fWfK8aEdqf6aL57Hh6KQ" language="OCL">

+      <ownedRule xmi:id="__ZIt3q8kEdqRKeAGm8hhTw" name="spec" constrainedElement="__ZIt2q8kEdqRKeAGm8hhTw">

+        <specification xmi:type="uml:OpaqueExpression" xmi:id="__bEnaq8kEdqRKeAGm8hhTw" language="OCL">

           <body>result = (ownedMember->includes(el)) or

 (elementImport->select(ei|ei.importedElement = #public)->collect(ei|ei.importedElement)->includes(el)) or

 (packageImport->select(pi|pi.visibility = #public)->collect(pi|pi.importedPackage.member->includes(el))->notEmpty())</body>

         </specification>

       </ownedRule>

-      <returnResult xmi:id="_34aS5K8aEdqf6aL57Hh6KQ" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

-      <ownedParameter xmi:id="_34aS5a8aEdqf6aL57Hh6KQ" name="el" type="_csVgUGvtEdqG6fBIPwe-mw"/>

+      <returnResult xmi:id="__ZIt4K8kEdqRKeAGm8hhTw" type="_UdivYGvsEdqG6fBIPwe-mw" direction="return"/>

+      <ownedParameter xmi:id="__ZIt4a8kEdqRKeAGm8hhTw" name="el" type="_csVgUGvtEdqG6fBIPwe-mw"/>

     </ownedOperation>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4C_LoK8aEdqf6aL57Hh6KQ" name="A_parameter_templateSignature" memberEnd="_4C1aM68aEdqf6aL57Hh6KQ _4C_Loa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4C_Loa8aEdqf6aL57Hh6KQ" type="_4C1aLa8aEdqf6aL57Hh6KQ" association="_4C_LoK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jHJuq8kEdqRKeAGm8hhTw" name="A_parameter_templateSignature" memberEnd="__i9_Q68kEdqRKeAGm8hhTw __jHJu68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__jHJu68kEdqRKeAGm8hhTw" type="__i9_Pa8kEdqRKeAGm8hhTw" association="__jHJuq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4C_Loq8aEdqf6aL57Hh6KQ" name="A_ownedParameter_signature" memberEnd="_4C1aN68aEdqf6aL57Hh6KQ _4C1aT68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4C_Lo68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4C_LpK8aEdqf6aL57Hh6KQ" general="_4C_LoK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6EK8kEdqRKeAGm8hhTw" name="A_ownedParameter_signature" memberEnd="__i9_X68kEdqRKeAGm8hhTw __i9_R68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6Ea8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jQ6Eq8kEdqRKeAGm8hhTw" general="__jHJuq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4C_Lpa8aEdqf6aL57Hh6KQ" name="A_boundElement_templateBinding" memberEnd="_4C1aja8aEdqf6aL57Hh6KQ _4C1auq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4C_Lpq8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4C_Lp68aEdqf6aL57Hh6KQ" general="_342Xzq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6E68kEdqRKeAGm8hhTw" name="A_boundElement_templateBinding" memberEnd="__jHJEq8kEdqRKeAGm8hhTw __i9_na8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6FK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jQ6Fa8kEdqRKeAGm8hhTw" general="__Zkysa8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4C_LqK8aEdqf6aL57Hh6KQ" name="A_formal_templateParameterSubstitution" memberEnd="_4C1ao68aEdqf6aL57Hh6KQ _4C_Lqa8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4C_Lqa8aEdqf6aL57Hh6KQ" type="_4C1ana8aEdqf6aL57Hh6KQ" association="_4C_LqK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Fq8kEdqRKeAGm8hhTw" name="A_formal_templateParameterSubstitution" memberEnd="__i9_s68kEdqRKeAGm8hhTw __jQ6F68kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__jQ6F68kEdqRKeAGm8hhTw" type="__i9_ra8kEdqRKeAGm8hhTw" association="__jQ6Fq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8EK8aEdqf6aL57Hh6KQ" name="A_signature_templateBinding" memberEnd="_4C1ak68aEdqf6aL57Hh6KQ _4DI8Eq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8Ea8aEdqf6aL57Hh6KQ" general="_342X0a8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4DI8Eq8aEdqf6aL57Hh6KQ" type="_4C1ahK8aEdqf6aL57Hh6KQ" redefinedProperty="_342X068aEdqf6aL57Hh6KQ" association="_4DI8EK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6GK8kEdqRKeAGm8hhTw" name="A_signature_templateBinding" memberEnd="__i9_o68kEdqRKeAGm8hhTw __jQ6Gq8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6Ga8kEdqRKeAGm8hhTw" general="__ZkytK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__jQ6Gq8kEdqRKeAGm8hhTw" type="__i9_lK8kEdqRKeAGm8hhTw" redefinedProperty="__Zkytq8kEdqRKeAGm8hhTw" association="__jQ6GK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8E68aEdqf6aL57Hh6KQ" name="A_parameterSubstitution_templateBinding" memberEnd="_4C1al68aEdqf6aL57Hh6KQ _4C1ap68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8FK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6G68kEdqRKeAGm8hhTw" name="A_parameterSubstitution_templateBinding" memberEnd="__i9_t68kEdqRKeAGm8hhTw __i9_p68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6HK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8Fa8aEdqf6aL57Hh6KQ" name="A_actual_templateParameterSubstitution" memberEnd="_4C1ara8aEdqf6aL57Hh6KQ _4DI8Fq8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4DI8Fq8aEdqf6aL57Hh6KQ" type="_4C1ana8aEdqf6aL57Hh6KQ" association="_4DI8Fa8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Ha8kEdqRKeAGm8hhTw" name="A_actual_templateParameterSubstitution" memberEnd="__i9_va8kEdqRKeAGm8hhTw __jQ6Hq8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__jQ6Hq8kEdqRKeAGm8hhTw" type="__i9_ra8kEdqRKeAGm8hhTw" association="__jQ6Ha8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8F68aEdqf6aL57Hh6KQ" name="A_parameteredElement_templateParameter" memberEnd="_4C1aVa8aEdqf6aL57Hh6KQ _4C_LE68aEdqf6aL57Hh6KQ"/>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8GK8aEdqf6aL57Hh6KQ" name="A_subExpression_owningExpression" memberEnd="_4C1ac68aEdqf6aL57Hh6KQ _4C1aea8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8Ga8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6H68kEdqRKeAGm8hhTw" name="A_parameteredElement_templateParameter" memberEnd="__i9_Za8kEdqRKeAGm8hhTw __jHJLa8kEdqRKeAGm8hhTw"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6IK8kEdqRKeAGm8hhTw" name="A_subExpression_owningExpression" memberEnd="__i9_ia8kEdqRKeAGm8hhTw __i9_g68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6Ia8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8Gq8aEdqf6aL57Hh6KQ" name="A_ownedTemplateSignature_template" memberEnd="_4C1awK8aEdqf6aL57Hh6KQ _4C1aPa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8G68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Iq8kEdqRKeAGm8hhTw" name="A_ownedTemplateSignature_template" memberEnd="__jHJGK8kEdqRKeAGm8hhTw __i9_Ta8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6I68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8HK8aEdqf6aL57Hh6KQ" name="A_ownedParameteredElement_owningTemplateParameter" memberEnd="_4C_LF68aEdqf6aL57Hh6KQ _4C1aWa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8Ha8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4DI8Hq8aEdqf6aL57Hh6KQ" general="_4DI8F68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6JK8kEdqRKeAGm8hhTw" name="A_ownedParameteredElement_owningTemplateParameter" memberEnd="__jHJMa8kEdqRKeAGm8hhTw __i9_aa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6Ja8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jQ6Jq8kEdqRKeAGm8hhTw" general="__jQ6H68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8H68aEdqf6aL57Hh6KQ" name="A_default_templateParameter" memberEnd="_4C1aX68aEdqf6aL57Hh6KQ _4DI8IK8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4DI8IK8aEdqf6aL57Hh6KQ" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_4DI8H68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6J68kEdqRKeAGm8hhTw" name="A_default_templateParameter" memberEnd="__i9_b68kEdqRKeAGm8hhTw __jQ6KK8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__jQ6KK8kEdqRKeAGm8hhTw" type="_KxRzgGvuEdqG6fBIPwe-mw" association="__jQ6J68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8Ia8aEdqf6aL57Hh6KQ" name="A_ownedDefault_templateParameter" memberEnd="_4DI8JK8aEdqf6aL57Hh6KQ _4C1aY68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8Iq8aEdqf6aL57Hh6KQ" general="_4DI8H68aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4DI8I68aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4DI8JK8aEdqf6aL57Hh6KQ" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_4DI8Ia8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4DI8Ja8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4DI8Jq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Ka8kEdqRKeAGm8hhTw" name="A_ownedDefault_templateParameter" memberEnd="__i9_c68kEdqRKeAGm8hhTw __jQ6LK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6Kq8kEdqRKeAGm8hhTw" general="__jQ6J68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jQ6K68kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__jQ6LK8kEdqRKeAGm8hhTw" type="_KxRzgGvuEdqG6fBIPwe-mw" association="__jQ6Ka8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jQ6La8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jQ6Lq8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8J68aEdqf6aL57Hh6KQ" name="A_ownedActual_templateParameterSubstitution" memberEnd="_4C1asa8aEdqf6aL57Hh6KQ _4DI8Kq8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8KK8aEdqf6aL57Hh6KQ" general="_4DI8Fa8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4DI8Ka8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4DI8Kq8aEdqf6aL57Hh6KQ" type="_4C1ana8aEdqf6aL57Hh6KQ" association="_4DI8J68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4DI8K68aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4DI8LK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6L68kEdqRKeAGm8hhTw" name="A_ownedActual_templateParameterSubstitution" memberEnd="__jQ6Mq8kEdqRKeAGm8hhTw __i9_wa8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6MK8kEdqRKeAGm8hhTw" general="__jQ6Ha8kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jQ6Ma8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__jQ6Mq8kEdqRKeAGm8hhTw" type="__i9_ra8kEdqRKeAGm8hhTw" association="__jQ6L68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jQ6M68kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jQ6NK8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8La8aEdqf6aL57Hh6KQ" name="A_ownedTemplateSignature_classifier" memberEnd="_4C_Lea8aEdqf6aL57Hh6KQ _4C_LT68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8L68aEdqf6aL57Hh6KQ" general="_342X1K8aEdqf6aL57Hh6KQ"/>

-    <generalization xmi:id="_4DI8MK8aEdqf6aL57Hh6KQ" general="_4DI8Gq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Na8kEdqRKeAGm8hhTw" name="A_ownedTemplateSignature_classifier" memberEnd="__jHJaa8kEdqRKeAGm8hhTw __jHJk68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6N68kEdqRKeAGm8hhTw" general="__Zkyt68kEdqRKeAGm8hhTw"/>

+    <generalization xmi:id="__jQ6OK8kEdqRKeAGm8hhTw" general="__jQ6Iq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8Ma8aEdqf6aL57Hh6KQ" name="A_extendedSignature_redefinableTemplateSignature" memberEnd="_4C_Lf68aEdqf6aL57Hh6KQ _4DI8M68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8Mq8aEdqf6aL57Hh6KQ" general="_342X1q8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4DI8M68aEdqf6aL57Hh6KQ" type="_9keOQGvdEdq4DLWZOhbdEA" association="_4DI8Ma8aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4DI8NK8aEdqf6aL57Hh6KQ" value="-1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4DI8Na8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Oa8kEdqRKeAGm8hhTw" name="A_extendedSignature_redefinableTemplateSignature" memberEnd="__jHJma8kEdqRKeAGm8hhTw __jQ6O68kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6Oq8kEdqRKeAGm8hhTw" general="__Zkyua8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__jQ6O68kEdqRKeAGm8hhTw" type="_9keOQGvdEdq4DLWZOhbdEA" association="__jQ6Oa8kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jQ6PK8kEdqRKeAGm8hhTw" value="-1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jQ6Pa8kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8Nq8aEdqf6aL57Hh6KQ" name="A_inheritedParameter_redefinableTemplateSignature" memberEnd="_4DI8OK8aEdqf6aL57Hh6KQ _4C_Lg68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8N68aEdqf6aL57Hh6KQ" general="_4C_LoK8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4DI8OK8aEdqf6aL57Hh6KQ" type="_9keOQGvdEdq4DLWZOhbdEA" redefinedProperty="_4C_Loa8aEdqf6aL57Hh6KQ" association="_4DI8Nq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Pq8kEdqRKeAGm8hhTw" name="A_inheritedParameter_redefinableTemplateSignature" memberEnd="__jQ6QK8kEdqRKeAGm8hhTw __jHJna8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6P68kEdqRKeAGm8hhTw" general="__jHJuq8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__jQ6QK8kEdqRKeAGm8hhTw" type="_9keOQGvdEdq4DLWZOhbdEA" redefinedProperty="__jHJu68kEdqRKeAGm8hhTw" association="__jQ6Pq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8Oa8aEdqf6aL57Hh6KQ" name="A_templateParameter_parameteredElement" memberEnd="_4C_LVa8aEdqf6aL57Hh6KQ _4C_LZ68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8Oq8aEdqf6aL57Hh6KQ" general="_4DI8F68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Qa8kEdqRKeAGm8hhTw" name="A_templateParameter_parameteredElement" memberEnd="__jHJb68kEdqRKeAGm8hhTw __jHJga8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6Qq8kEdqRKeAGm8hhTw" general="__jQ6H68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8O68aEdqf6aL57Hh6KQ" name="A_nameExpression_namedElement" memberEnd="_4C1aRK8aEdqf6aL57Hh6KQ _4DI8Pa8aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8PK8aEdqf6aL57Hh6KQ" general="_342Xya8aEdqf6aL57Hh6KQ"/>

-    <ownedEnd xmi:id="_4DI8Pa8aEdqf6aL57Hh6KQ" type="_csVgUGvtEdqG6fBIPwe-mw" association="_4DI8O68aEdqf6aL57Hh6KQ">

-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4DI8Pq8aEdqf6aL57Hh6KQ" value="1"/>

-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4DI8P68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Q68kEdqRKeAGm8hhTw" name="A_nameExpression_namedElement" memberEnd="__i9_VK8kEdqRKeAGm8hhTw __jQ6Ra8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6RK8kEdqRKeAGm8hhTw" general="__ZkyrK8kEdqRKeAGm8hhTw"/>

+    <ownedEnd xmi:id="__jQ6Ra8kEdqRKeAGm8hhTw" type="_csVgUGvtEdqG6fBIPwe-mw" association="__jQ6Q68kEdqRKeAGm8hhTw">

+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__jQ6Rq8kEdqRKeAGm8hhTw" value="1"/>

+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__jQ6R68kEdqRKeAGm8hhTw"/>

     </ownedEnd>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8QK8aEdqf6aL57Hh6KQ" name="A_templateParameter_parameteredElement" memberEnd="_4C_LRq8aEdqf6aL57Hh6KQ _4C_LP68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8Qa8aEdqf6aL57Hh6KQ" general="_4DI8F68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6SK8kEdqRKeAGm8hhTw" name="A_templateParameter_parameteredElement" memberEnd="__jHJWa8kEdqRKeAGm8hhTw __jHJYK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6Sa8kEdqRKeAGm8hhTw" general="__jQ6H68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8Qq8aEdqf6aL57Hh6KQ" name="A_templateParameter_parameteredElement" memberEnd="_4C_Lmq8aEdqf6aL57Hh6KQ _4C_Lk68aEdqf6aL57Hh6KQ">

-    <generalization xmi:id="_4DI8Q68aEdqf6aL57Hh6KQ" general="_4DI8F68aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Sq8kEdqRKeAGm8hhTw" name="A_templateParameter_parameteredElement" memberEnd="__jHJra8kEdqRKeAGm8hhTw __jHJtK8kEdqRKeAGm8hhTw">

+    <generalization xmi:id="__jQ6S68kEdqRKeAGm8hhTw" general="__jQ6H68kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8RK8aEdqf6aL57Hh6KQ" name="A_defaultClassifier_classifierTemplateParameter" memberEnd="_4C_La68aEdqf6aL57Hh6KQ _4DI8Ra8aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4DI8Ra8aEdqf6aL57Hh6KQ" type="_4C_LXq8aEdqf6aL57Hh6KQ" association="_4DI8RK8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6TK8kEdqRKeAGm8hhTw" name="A_defaultClassifier_classifierTemplateParameter" memberEnd="__jHJha8kEdqRKeAGm8hhTw __jQ6Ta8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__jQ6Ta8kEdqRKeAGm8hhTw" type="__jHJeK8kEdqRKeAGm8hhTw" association="__jQ6TK8kEdqRKeAGm8hhTw"/>

   </ownedMember>

-  <ownedMember xmi:type="uml:Association" xmi:id="_4DI8Rq8aEdqf6aL57Hh6KQ" name="A_constrainingClassifier_classifierTemplateParameter" memberEnd="_4C_Lb68aEdqf6aL57Hh6KQ _4DI8R68aEdqf6aL57Hh6KQ">

-    <ownedEnd xmi:id="_4DI8R68aEdqf6aL57Hh6KQ" type="_4C_LXq8aEdqf6aL57Hh6KQ" association="_4DI8Rq8aEdqf6aL57Hh6KQ"/>

+  <ownedMember xmi:type="uml:Association" xmi:id="__jQ6Tq8kEdqRKeAGm8hhTw" name="A_constrainingClassifier_classifierTemplateParameter" memberEnd="__jQ6T68kEdqRKeAGm8hhTw __jHJia8kEdqRKeAGm8hhTw">

+    <ownedEnd xmi:id="__jQ6T68kEdqRKeAGm8hhTw" type="__jHJeK8kEdqRKeAGm8hhTw" association="__jQ6Tq8kEdqRKeAGm8hhTw"/>

   </ownedMember>

 </uml:Model>

diff --git a/plugins/org.eclipse.uml2.uml/model/UML.uml2 b/plugins/org.eclipse.uml2.uml/model/UML.uml2
index eebd1e8..dba49ec 100644
--- a/plugins/org.eclipse.uml2.uml/model/UML.uml2
+++ b/plugins/org.eclipse.uml2.uml/model/UML.uml2
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore_2="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xsi:schemaLocation="http:///Ecore_2_1RgZIMezEdmTJL3rR1ioJg.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_1RgZIcezEdmTJL3rR1ioJg" xmi:id="_o8I_sGvaEdq4DLWZOhbdEA" name="UML" appliedProfile="_0TBYYGvaEdq4DLWZOhbdEA">

   <eAnnotations xmi:id="_1gWuMGvaEdq4DLWZOhbdEA" source="appliedStereotypes">

-    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_7pxhAK8ZEdq_3JIOnBmAhg" packageName="uml" nsPrefix="uml" nsURI="http://www.eclipse.org/uml2/2.0.0/UML" basePackage="org.eclipse.uml2" prefix="UML"/>

+    <contents xmi:type="Ecore_2:Ecore__EPackage" xmi:id="_0USgMK8kEdq9B5_HWrPktA" packageName="uml" nsPrefix="uml" nsURI="http://www.eclipse.org/uml2/2.0.0/UML" basePackage="org.eclipse.uml2" prefix="UML"/>

   </eAnnotations>

   <packageImport xmi:type="uml:ProfileApplication" xmi:id="_0TBYYGvaEdq4DLWZOhbdEA">

     <eAnnotations xmi:id="_0TBYYWvaEdq4DLWZOhbdEA" source="attributes">

@@ -1005,22 +1005,22 @@
   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_UdivYGvsEdqG6fBIPwe-mw" name="Boolean">

     <eAnnotations xmi:id="_KWFGYGzMEdq4d7jt9iWoqg" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_7p7SAK8ZEdq_3JIOnBmAhg" instanceClassName="boolean"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_0UbqIK8kEdq9B5_HWrPktA" instanceClassName="boolean"/>

     </eAnnotations>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_XqvEIGvsEdqG6fBIPwe-mw" name="Integer">

     <eAnnotations xmi:id="_KWFGYmzMEdq4d7jt9iWoqg" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_7p7SAa8ZEdq_3JIOnBmAhg" instanceClassName="int"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_0UbqIa8kEdq9B5_HWrPktA" instanceClassName="int"/>

     </eAnnotations>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_aAyVgGvsEdqG6fBIPwe-mw" name="String">

     <eAnnotations xmi:id="_KWO3YGzMEdq4d7jt9iWoqg" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_7p7SAq8ZEdq_3JIOnBmAhg" instanceClassName="java.lang.String"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_0UbqIq8kEdq9B5_HWrPktA" instanceClassName="java.lang.String"/>

     </eAnnotations>

   </ownedMember>

   <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_dRZxsGvsEdqG6fBIPwe-mw" name="UnlimitedNatural">

     <eAnnotations xmi:id="_KWO3YmzMEdq4d7jt9iWoqg" source="appliedStereotypes">

-      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_7p7SA68ZEdq_3JIOnBmAhg" instanceClassName="int"/>

+      <contents xmi:type="Ecore_2:Ecore__EDataType" xmi:id="_0UbqI68kEdq9B5_HWrPktA" instanceClassName="int"/>

     </eAnnotations>

   </ownedMember>

   <ownedMember xmi:type="uml:Enumeration" xmi:id="_B3q9cGwNEdq7X4sGURiZYA" name="AggregationKind"/>