<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="uml" nsURI="http://www.eclipse.org/uml2/5.0.0/UML" nsPrefix="uml">
  <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
    <details key="originalName" value="UML"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityContent" abstract="true" interface="true">
    <eOperations name="containingActivity" ordered="false" eType="#//Activity"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Activity" eSuperTypes="#//Behavior">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Activity is the specification of parameterized Behavior as the coordinated sequencing of subordinate units.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="maximum_one_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Parameter with direction other than inout must have exactly one ActivityParameterNode in an Activity.&#xA;ownedParameter->forAll(p | &#xD;&#xA;   p.direction &lt;> ParameterDirectionKind::inout implies node->select(&#xD;&#xA;       oclIsKindOf(ActivityParameterNode) and oclAsType(ActivityParameterNode).parameter = p)->size()= 1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="maximum_two_parameter_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Parameter with direction inout must have exactly two ActivityParameterNodes in an Activity, at most one with incoming ActivityEdges and at most one with outgoing ActivityEdges.&#xA;ownedParameter->forAll(p | &#xD;&#xA;p.direction = ParameterDirectionKind::inout implies&#xD;&#xA;let associatedNodes : Set(ActivityNode) = node->select(&#xD;&#xA;       oclIsKindOf(ActivityParameterNode) and oclAsType(ActivityParameterNode).parameter = p) in &#xD;&#xA;  associatedNodes->size()=2 and&#xD;&#xA;  associatedNodes->select(incoming->notEmpty())->size()&lt;=1 and&#xD;&#xA;  associatedNodes->select(outgoing->notEmpty())->size()&lt;=1&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedGroup" ordered="false"
        upperBound="-1" eType="#//ActivityGroup" containment="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="group"/>
        <details key="kind" value="element"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Activity/group"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="edge" ordered="false" upperBound="-1"
        eType="#//ActivityEdge" containment="true" eOpposite="#//ActivityEdge/activity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityEdges expressing flow between the nodes of the Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="node" ordered="false" upperBound="-1"
        eType="#//ActivityNode" volatile="true" transient="true" derived="true" eOpposite="#//ActivityNode/activity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityNodes coordinated by the Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="attribute"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/CDO">
        <details key="persistent" value="true"/>
        <details key="filter" value="ownedNode"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="variable" ordered="false"
        upperBound="-1" eType="#//Variable" containment="true" eOpposite="#//Variable/activityScope">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Top-level Variables defined by the Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="group" ordered="false"
        upperBound="-1" eType="#//ActivityGroup" volatile="true" transient="true"
        derived="true" eOpposite="#//ActivityGroup/inActivity">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Top-level ActivityGroups in the Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="attribute"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/CDO">
        <details key="persistent" value="true"/>
        <details key="filter" value="ownedGroup"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedNode" ordered="false"
        upperBound="-1" eType="#//ActivityNode" containment="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="node"/>
        <details key="kind" value="element"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Activity/node"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, this Activity must not make any changes to objects. The default is false (an Activity may make nonlocal changes). (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 Activity, then the model is ill-formed.)&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSingleExecution" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, all invocations of the Activity are handled by the same execution.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="partition" ordered="false"
        upperBound="-1" eType="#//ActivityPartition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Top-level ActivityPartitions in the Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Activity/group #//Activity/ownedGroup"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNode" ordered="false"
        upperBound="-1" eType="#//StructuredActivityNode" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Top-level StructuredActivityNodes in the Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Activity/group #//Activity/node"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Behavior" abstract="true" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Behavior is a specification of how its context BehavioredClassifier changes state over time. This specification may be either a definition of possible behavior execution or emergent behavior, or a selective illustration of an interesting subset of possible executions. The latter form is typically used for capturing examples, such as a trace of a particular execution.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="most_one_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="There may be at most one Behavior for a given pairing of BehavioredClassifier (as owner of the Behavior) and BehavioralFeature (as specification of the Behavior).&#xA;specification &lt;> null implies _'context'.ownedBehavior->select(specification=self.specification)->size() = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="parameters_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a Behavior has a specification BehavioralFeature, then it must have the same number of ownedParameters as its specification. The Behavior Parameters must also &quot;match&quot; the BehavioralParameter Parameters, but the exact requirements for this matching are not formalized.&#xA;specification &lt;> null implies ownedParameter->size() = specification.ownedParameter->size()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="feature_of_context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specification BehavioralFeature must be a feature (possibly inherited) of the context BehavioredClassifier of the Behavior.&#xA;_'context'.feature->includes(specification)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getContext" ordered="false" eType="#//BehavioredClassifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Behavior that is directly owned as a nestedClassifier does not have a context. Otherwise, to determine the context of a Behavior, find the first BehavioredClassifier reached by following the chain of owner relationships from the Behavior, if any. If there is such a BehavioredClassifier, then it is the context, unless it is itself a Behavior with a non-empty context, in which case that is also the context for the original Behavior.&#xA;result = (if nestingClass &lt;> null then&#xD;&#xA;    null&#xD;&#xA;else&#xD;&#xA;    let b:BehavioredClassifier = self.behavioredClassifier(self.owner) in&#xD;&#xA;    if b.oclIsKindOf(Behavior) and b.oclAsType(Behavior)._'context' &lt;> null then &#xD;&#xA;        b.oclAsType(Behavior)._'context'&#xD;&#xA;    else &#xD;&#xA;        b &#xD;&#xA;    endif&#xD;&#xA;endif&#xD;&#xA;        )&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="context"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="behavioredClassifier" ordered="false" eType="#//BehavioredClassifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The first BehavioredClassifier reached by following the chain of owner relationships from the Behavior, if any.&#xA;if from.oclIsKindOf(BehavioredClassifier) then&#xD;&#xA;    from.oclAsType(BehavioredClassifier)&#xD;&#xA;else if from.owner = null then&#xD;&#xA;    null&#xD;&#xA;else&#xD;&#xA;    self.behavioredClassifier(from.owner)&#xD;&#xA;endif&#xD;&#xA;endif&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="from" ordered="false" lowerBound="1" eType="#//Element"/>
    </eOperations>
    <eOperations name="inputParameters" upperBound="-1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The in and inout ownedParameters of the Behavior.&#xA;result = (ownedParameter->select(direction=ParameterDirectionKind::_'in' or direction=ParameterDirectionKind::inout))&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="outputParameters" upperBound="-1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The out, inout and return ownedParameters.&#xA;result = (ownedParameter->select(direction=ParameterDirectionKind::out or direction=ParameterDirectionKind::inout or direction=ParameterDirectionKind::return))&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
        eType="#//BehavioralFeature" eOpposite="#//BehavioralFeature/method">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates a BehavioralFeature that the Behavior implements. The BehavioralFeature must be owned by the BehavioredClassifier that owns the Behavior or be inherited by it. The Parameters of the BehavioralFeature and the implementing Behavior must match. A Behavior does not need to have a specification, in which case it either is the classifierBehavior of a BehavioredClassifier or it can only be invoked by another Behavior of the Classifier.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
        eType="#//BehavioredClassifier" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The BehavioredClassifier that is the context for the execution of the Behavior. A Behavior that is directly owned as a nestedClassifier does not have a context. Otherwise, to determine the context of a Behavior, find the first BehavioredClassifier reached by following the chain of owner relationships from the Behavior, if any. If there is such a BehavioredClassifier, then it is the context, unless it is itself a Behavior with a non-empty context, in which case that is also the context for the original Behavior. For example, following this algorithm, the context of an entry Behavior in a StateMachine is the BehavioredClassifier that owns the StateMachine. The features of the context BehavioredClassifier as well as the Elements visible to the context Classifier are visible to the Behavior.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReentrant" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Tells whether the Behavior can be invoked while it is still executing from a previous invocation.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
        eType="#//Parameter" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameterSet" ordered="false"
        upperBound="-1" eType="#//ParameterSet" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterSets owned by this Behavior.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="postcondition" ordered="false"
        upperBound="-1" eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional set of Constraints specifying what is fulfilled after the execution of the Behavior is completed, if its precondition was fulfilled before its invocation.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="precondition" ordered="false"
        upperBound="-1" eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional set of Constraints specifying what must be fulfilled before the Behavior is invoked.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedBehavior" ordered="false"
        upperBound="-1" eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Behavior that this Behavior redefines. A subtype of Behavior may redefine any other subtype of Behavior. If the Behavior implements a BehavioralFeature, it replaces the redefined Behavior. If the Behavior is a classifierBehavior, it extends the redefined Behavior.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/redefinedClassifier"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//EncapsulatedClassifier #//BehavioredClassifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Class classifies a set of objects and specifies the features that characterize the structure and behavior of those objects.  A Class may have an internal structure and Ports.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
          eType="#//Property" containment="true" eOpposite="#//Property/class">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The attributes (i.e., the Properties) owned by the Class.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//StructuredClassifier/ownedAttribute"/>
        <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
      </contents>
      <contents xsi:type="ecore:EAttribute" name="isAbstract" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
          defaultValueLiteral="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="If true, the Class does not provide a complete declaration and cannot be instantiated. An abstract Class is typically used as a target of Associations or Generalizations.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Classifier/isAbstract"/>
      </contents>
    </eAnnotations>
    <eOperations name="passive_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Only an active Class may own Receptions and have a classifierBehavior.&#xA;not isActive implies (ownedReception->isEmpty() and classifierBehavior = null)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this class."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter names for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter types for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="returnType" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The return type for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="isMetaclass" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether this class is a metaclass."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getExtensions" ordered="false" upperBound="-1" eType="#//Extension">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Class::/extension : Extension&#xA;result = (Extension.allInstances()->select(ext | &#xD;&#xA;  let endTypes : Sequence(Classifier) = ext.memberEnd->collect(type.oclAsType(Classifier)) in&#xD;&#xA;  endTypes->includes(self) or endTypes.allParents()->includes(self) ))&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="extension"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getSuperClasses" ordered="false" upperBound="-1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Class::/superClass : Class&#xA;result = (self.general()->select(oclIsKindOf(Class))->collect(oclAsType(Class))->asSet())&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="superClass"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
        eType="#//Operation" containment="true" eOpposite="#//Operation/class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operations owned by the Class.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extension" ordered="false"
        upperBound="-1" eType="#//Extension" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//Extension/metaclass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This property is used when the Class is acting as a metaclass. It references the Extensions that specify additional properties of the metaclass. The property is derived from the Extensions whose memberEnds are typed by the Class.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isActive" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifier" upperBound="-1"
        eType="#//Classifier" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifiers owned by the Class that are not ownedBehaviors.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedReception" ordered="false"
        upperBound="-1" eType="#//Reception" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Receptions owned by the Class.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="superClass" ordered="false"
        upperBound="-1" eType="#//Class" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The superclasses of a Class, derived from its Generalizations.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//Classifier/general"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BehavioredClassifier" abstract="true"
      eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A BehavioredClassifier may have InterfaceRealizations, and owns a set of Behaviors one of which may specify the behavior of the BehavioredClassifier itself.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="class_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a behavior is classifier behavior, it does not have a specification.&#xA;classifierBehavior->notEmpty() implies classifierBehavior.specification->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getAllImplementedInterfaces" ordered="false" upperBound="-1"
        eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves all the interfaces on which this behaviored classifier or any of its parents has an interface realization dependency."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getImplementedInterfaces" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the interfaces on which this behaviored classifier has an interface realization dependency."/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classifierBehavior" ordered="false"
        eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Behavior that specifies the behavior of the BehavioredClassifier itself.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//BehavioredClassifier/ownedBehavior"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="interfaceRealization" ordered="false"
        upperBound="-1" eType="#//InterfaceRealization" containment="true" eOpposite="#//InterfaceRealization/implementingClassifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of InterfaceRealizations owned by the BehavioredClassifier. Interface realizations reference the Interfaces of which the BehavioredClassifier is an implementation.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBehavior" ordered="false"
        upperBound="-1" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Behaviors owned by a BehavioredClassifier.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//Namespace #//RedefinableElement #//Type #//TemplateableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Classifier represents a classification of instances according to their Features.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="ownedTemplateSignature">
        <details key="eType" value="uml::RedefinableTemplateSignature"/>
      </eAnnotations>
      <eAnnotations source="templateParameter">
        <details key="eType" value="uml::ClassifierTemplateParameter"/>
      </eAnnotations>
      <contents xsi:type="ecore:EOperation" name="conformsTo" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query conformsTo() gives true for a Classifier that defines a type that conforms to another. This is used, for example, in the specification of signature conformance for operations.&#xA;result = (if other.oclIsKindOf(Classifier) then&#xD;&#xA;  let otherClassifier : Classifier = other.oclAsType(Classifier) in&#xD;&#xA;    self = otherClassifier or allParents()->includes(otherClassifier)&#xD;&#xA;else&#xD;&#xA;  false&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Type/conformsTo"/>
        <eParameters name="other" ordered="false" lowerBound="1" eType="#//Type"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isTemplate" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isTemplate() returns whether this Classifier is actually a template.&#xA;result = (ownedTemplateSignature &lt;> null or general->exists(g | g.isTemplate()))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TemplateableElement/isTemplate"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="ownedTemplateSignature" ordered="false"
          eType="#//TemplateSignature" containment="true" eOpposite="#//RedefinableTemplateSignature/classifier">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The optional RedefinableTemplateSignature specifying the formal template parameters.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TemplateableElement/ownedTemplateSignature"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
          eType="#//TemplateParameter" eOpposite="#//ClassifierTemplateParameter/%duplicates%/parameteredElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="TheClassifierTemplateParameter that exposes this element as a formal parameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
      </contents>
    </eAnnotations>
    <eOperations name="specialize_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Classifier may only specialize Classifiers of a valid type.&#xA;parents()->forAll(c | self.maySpecializeType(c))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances also be its subclasses.&#xA;powertypeExtent->forAll( gs | &#xD;&#xA;  gs.generalization->forAll( gen | &#xD;&#xA;    not (gen.general = self) and not gen.general.allParents()->includes(self) and not (gen.specific = self) and not self.allParents()->includes(gen.specific) &#xD;&#xA;  ))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="non_final_parents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The parents of a Classifier must be non-final.&#xA;parents()->forAll(not isFinalSpecialization)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_cycles_in_generalization" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Generalization hierarchies must be directed and acyclical. A Classifier can not be both a transitively general and transitively specific Classifier of the same Classifier.&#xA;not allParents()->includes(self)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getAllAttributes" ordered="false" upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves all the attributes of this classifier, including those inherited from its parents."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getAllOperations" ordered="false" upperBound="-1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves all the operations of this classifier, including those inherited from its parents."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getAllUsedInterfaces" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves all the interfaces on which this classifier or any of its parents has a usage dependency."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getOperation" ordered="false" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the first operation with the specified name, parameter names, and parameter types from this classifier."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name of the operation to retrieve, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterNames" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter names of the operation to retrieve, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterTypes" unique="false" upperBound="-1" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter types of the operation to retrieve, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getOperation" ordered="false" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the first operation with the specified name, parameter names, and parameter types from this classifier, ignoring case if indicated."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name of the operation to retrieve, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterNames" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter names of the operation to retrieve, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterTypes" unique="false" upperBound="-1" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter types of the operation to retrieve, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="ignoreCase" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether to ignore case in String comparisons."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getOperations" ordered="false" upperBound="-1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the operations of this classifier."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getUsedInterfaces" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the interfaces on which this classifier has a usage dependency."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allFeatures" ordered="false" upperBound="-1" eType="#//Feature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allFeatures() gives all of the Features in the namespace of the Classifier. In general, through mechanisms such as inheritance, this will be a larger set than feature.&#xA;result = (member->select(oclIsKindOf(Feature))->collect(oclAsType(Feature))->asSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allParents" ordered="false" upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allParents() gives all of the direct and indirect ancestors of a generalized Classifier.&#xA;result = (parents()->union(parents()->collect(allParents())->asSet()))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getGenerals" ordered="false" upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The general Classifiers are the ones referenced by the Generalization relationships.&#xA;result = (parents())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="general"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="hasVisibilityOf" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query hasVisibilityOf() determines whether a NamedElement is visible in the classifier. Non-private members are visible. It is only called when the argument is something owned by a parent.&#xA;allParents()->including(self)->collect(member)->includes(n)&#xA;result = (n.visibility &lt;> VisibilityKind::private)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
    </eOperations>
    <eOperations name="inherit" ordered="false" upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query inherit() defines how to inherit a set of elements passed as its argument.  It excludes redefined elements from the result.&#xA;result = (inhs->reject(inh |&#xD;&#xA;  inh.oclIsKindOf(RedefinableElement) and&#xD;&#xA;  ownedMember->select(oclIsKindOf(RedefinableElement))->&#xD;&#xA;    select(redefinedElement->includes(inh.oclAsType(RedefinableElement)))&#xD;&#xA;       ->notEmpty()))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="inhs" ordered="false" upperBound="-1" eType="#//NamedElement"/>
    </eOperations>
    <eOperations name="inheritableMembers" ordered="false" upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query inheritableMembers() gives all of the members of a Classifier that may be inherited in one of its descendants, subject to whatever visibility restrictions apply.&#xA;c.allParents()->includes(self)&#xA;result = (member->select(m | c.hasVisibilityOf(m)))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="c" ordered="false" lowerBound="1" eType="#//Classifier"/>
    </eOperations>
    <eOperations name="getInheritedMembers" ordered="false" upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The inheritedMember association is derived by inheriting the inheritable members of the parents.&#xA;result = (inherit(parents()->collect(inheritableMembers(self))->asSet()))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="inheritedMember"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="maySpecializeType" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query maySpecializeType() determines whether this classifier may have a generalization relationship to classifiers of the specified type. By default a classifier may specialize classifiers of the same or a more general type. It is intended to be redefined by classifiers that have different specialization constraints.&#xA;result = (self.oclIsKindOf(c.oclType()))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="c" ordered="false" lowerBound="1" eType="#//Classifier"/>
    </eOperations>
    <eOperations name="parents" ordered="false" upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query parents() gives all of the immediate ancestors of a generalized Classifier.&#xA;result = (generalization.general->asSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="directlyRealizedInterfaces" ordered="false" upperBound="-1"
        eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interfaces directly realized by this Classifier&#xA;result = ((clientDependency->&#xD;&#xA;  select(oclIsKindOf(Realization) and supplier->forAll(oclIsKindOf(Interface))))->&#xD;&#xA;      collect(supplier.oclAsType(Interface))->asSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="directlyUsedInterfaces" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interfaces directly used by this Classifier&#xA;result = ((supplierDependency->&#xD;&#xA;  select(oclIsKindOf(Usage) and client->forAll(oclIsKindOf(Interface))))->&#xD;&#xA;    collect(client.oclAsType(Interface))->asSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allRealizedInterfaces" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interfaces realized by this Classifier and all of its generalizations&#xA;result = (directlyRealizedInterfaces()->union(self.allParents()->collect(directlyRealizedInterfaces()))->asSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allUsedInterfaces" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interfaces used by this Classifier and all of its generalizations&#xA;result = (directlyUsedInterfaces()->union(self.allParents()->collect(directlyUsedInterfaces()))->asSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isSubstitutableFor" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="result = (substitution.contract->includes(contract))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="contract" ordered="false" lowerBound="1" eType="#//Classifier"/>
    </eOperations>
    <eOperations name="allAttributes" upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allAttributes gives an ordered set of all owned and inherited attributes of the Classifier. All owned attributes appear before any inherited attributes, and the attributes inherited from any more specific parent Classifier appear before those of any more general parent Classifier. However, if the Classifier has multiple immediate parents, then the relative ordering of the sets of attributes from those parents is not defined.&#xA;result = (attribute->asSequence()->union(parents()->asSequence().allAttributes())->select(p | member->includes(p))->asOrderedSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allSlottableFeatures" ordered="false" upperBound="-1" eType="#//StructuralFeature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All StructuralFeatures related to the Classifier that may have Slots, including direct attributes, inherited attributes, private attributes in generalizations, and memberEnds of Associations, but excluding redefined StructuralFeatures.&#xA;result = (member->select(oclIsKindOf(StructuralFeature))->&#xD;&#xA;  collect(oclAsType(StructuralFeature))->&#xD;&#xA;   union(self.inherit(self.allParents()->collect(p | p.attribute)->asSet())->&#xD;&#xA;     collect(oclAsType(StructuralFeature)))->asSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="feature" ordered="false"
        upperBound="-1" eType="#//Feature" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//Feature/featuringClassifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies each Feature directly defined in the classifier. Note that there may be members of the Classifier that are of the type Feature but are not included, e.g., inherited features.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Namespace/member"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" upperBound="-1"
        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All of the Properties that are direct (i.e., not inherited or imported) attributes of the Classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Classifier/feature"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="collaborationUse" ordered="false"
        upperBound="-1" eType="#//CollaborationUse" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The CollaborationUses owned by the Classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="general" ordered="false"
        upperBound="-1" eType="#//Classifier" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The generalizing Classifiers for this Classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="generalization" ordered="false"
        upperBound="-1" eType="#//Generalization" containment="true" eOpposite="#//Generalization/specific">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Generalization relationships for this Classifier. These Generalizations navigate to more general Classifiers in the generalization hierarchy.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="powertypeExtent" ordered="false"
        upperBound="-1" eType="#//GeneralizationSet" eOpposite="#//GeneralizationSet/powertype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The GeneralizationSet of which this Classifier is a power type.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedMember" ordered="false"
        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All elements inherited by this Classifier from its general Classifiers.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/member"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the Classifier can only be instantiated by instantiating one of its specializations. An abstract Classifier is intended to be used by other Classifiers e.g., as the target of Associations or Generalizations.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isFinalSpecialization"
        ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the Classifier cannot be specialized.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedUseCase" ordered="false"
        upperBound="-1" eType="#//UseCase" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The UseCases owned by this classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="useCase" ordered="false"
        upperBound="-1" eType="#//UseCase" eOpposite="#//UseCase/subject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of UseCases for which this Classifier is the subject.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedClassifier" ordered="false"
        upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifiers redefined by this Classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="representation" ordered="false"
        eType="#//CollaborationUse">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A CollaborationUse which indicates the Collaboration that represents this Classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/collaborationUse"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="substitution" ordered="false"
        upperBound="-1" eType="#//Substitution" containment="true" eOpposite="#//Substitution/substitutingClassifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Substitutions owned by this Classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Namespace" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Namespace is an Element in a model that owns and/or imports a set of NamedElements that can be identified by name.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="members_distinguishable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All the members of a Namespace are distinguishable within it.&#xA;membersAreDistinguishable()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="cannot_import_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Namespace cannot have a PackageImport to itself.&#xA;packageImport.importedPackage.oclAsType(Namespace)->excludes(self)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="cannot_import_ownedMembers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Namespace cannot have an ElementImport to one of its ownedMembers.&#xA;elementImport.importedElement.oclAsType(Element)->excludesAll(ownedMember)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="createElementImport" ordered="false" lowerBound="1" eType="#//ElementImport">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an import of the specified element into this namespace with the specified visibility."/>
      </eAnnotations>
      <eParameters name="element" ordered="false" lowerBound="1" eType="#//PackageableElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The element to import."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="visibility" ordered="false" lowerBound="1" eType="#//VisibilityKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The visibility for the new element import."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createPackageImport" ordered="false" lowerBound="1" eType="#//PackageImport">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an import of the specified package into this namespace with the specified visibility."/>
      </eAnnotations>
      <eParameters name="package_" ordered="false" lowerBound="1" eType="#//Package">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The package to import."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="visibility" ordered="false" lowerBound="1" eType="#//VisibilityKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The visibility for the new package import."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getImportedElements" ordered="false" upperBound="-1" eType="#//PackageableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the elements imported by this namespace."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getImportedPackages" ordered="false" upperBound="-1" eType="#//Package">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the packages imported by this namespace."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getOwnedMembers" ordered="false" upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="ownedMember"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="excludeCollisions" ordered="false" upperBound="-1" eType="#//PackageableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this Namespace.&#xA;result = (imps->reject(imp1  | imps->exists(imp2 | not imp1.isDistinguishableFrom(imp2, self))))&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="imps" ordered="false" upperBound="-1" eType="#//PackageableElement"/>
    </eOperations>
    <eOperations name="getNamesOfMember" ordered="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace, taking importing into account. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases.&#xA;result = (if self.ownedMember ->includes(element)&#xA;then Set{element.name}&#xA;else let elementImports : Set(ElementImport) = self.elementImport->select(ei | ei.importedElement = element) in&#xA;  if elementImports->notEmpty()&#xA;  then&#xA;     elementImports->collect(el | el.getName())->asSet()&#xA;  else &#xA;     self.packageImport->select(pi | pi.importedPackage.visibleMembers().oclAsType(NamedElement)->includes(element))-> collect(pi | pi.importedPackage.getNamesOfMember(element))->asSet()&#xA;  endif&#xA;endif)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="element" ordered="false" lowerBound="1" eType="#//NamedElement"/>
    </eOperations>
    <eOperations name="importMembers" ordered="false" upperBound="-1" eType="#//PackageableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query importMembers() defines which of a set of PackageableElements are actually imported into the Namespace. This excludes hidden ones, i.e., those which have names that conflict with names of ownedMembers, and it also excludes PackageableElements that would have the indistinguishable names when imported.&#xA;result = (self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem | imp.isDistinguishableFrom(mem, self))))&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="imps" ordered="false" upperBound="-1" eType="#//PackageableElement"/>
    </eOperations>
    <eOperations name="getImportedMembers" ordered="false" upperBound="-1" eType="#//PackageableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The importedMember property is derived as the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.&#xA;result = (self.importMembers(elementImport.importedElement->asSet()->union(packageImport.importedPackage->collect(p | p.visibleMembers()))->asSet()))&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="importedMember"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="membersAreDistinguishable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Boolean query membersAreDistinguishable() determines whether all of the Namespace's members are distinguishable within it.&#xA;result = (member->forAll( memb |&#xA;   member->excluding(memb)->forAll(other |&#xA;       memb.isDistinguishableFrom(other, self))))&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedRule" ordered="false"
        upperBound="-1" eType="#//Constraint" containment="true" eOpposite="#//Constraint/context">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies a set of Constraints owned by this Namespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="elementImport" ordered="false"
        upperBound="-1" eType="#//ElementImport" containment="true" eOpposite="#//ElementImport/importingNamespace">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the ElementImports owned by the Namespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="packageImport" ordered="false"
        upperBound="-1" eType="#//PackageImport" containment="true" eOpposite="#//PackageImport/importingNamespace">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the PackageImports owned by the Namespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedMember" ordered="false"
        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
        transient="true" derived="true" eOpposite="#//NamedElement/namespace">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A collection of NamedElements owned by the Namespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//Namespace/member"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedMember" ordered="false"
        upperBound="-1" eType="#//PackageableElement" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/member"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="member" ordered="false"
        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A NamedElement is an Element in a model that may have a name. The name may be given directly and/or via the use of a StringExpression.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="visibility_needs_ownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a NamedElement is owned by something other than a Namespace, it does not have a visibility. One that is not owned by anything (and hence must be a Package, as this is the only kind of NamedElement that overrides mustBeOwned()) may have a visibility.&#xA;(namespace = null and owner &lt;> null) implies visibility = null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="has_qualified_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="When there is a name, and all of the containing Namespaces have a name, the qualifiedName is constructed from the name of the NamedElement and the names of the containing Namespaces.&#xA;(name &lt;> null and allNamespaces()->select(ns | ns.name = null)->isEmpty()) implies&#xA;  qualifiedName = allNamespaces()->iterate( ns : Namespace; agg: String = name | ns.name.concat(self.separator()).concat(agg))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="has_no_qualified_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If there is no name, or one of the containing Namespaces has no name, there is no qualifiedName.&#xA;name=null or allNamespaces()->select( ns | ns.name=null )->notEmpty() implies qualifiedName = null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="createDependency" ordered="false" lowerBound="1" eType="#//Dependency">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a dependency between this named element and the specified supplier, owned by this named element's nearest package."/>
      </eAnnotations>
      <eParameters name="supplier" ordered="false" lowerBound="1" eType="#//NamedElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The supplier for the new dependency."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createUsage" ordered="false" lowerBound="1" eType="#//Usage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a usage between this named element and the specified supplier, owned by this named element's nearest package."/>
      </eAnnotations>
      <eParameters name="supplier" ordered="false" lowerBound="1" eType="#//NamedElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The supplier for the new usage."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getLabel" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves a localized label for this named element."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getLabel" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves a label for this named element, localized if indicated."/>
      </eAnnotations>
      <eParameters name="localize" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether to localize the label."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getNamespace" ordered="false" eType="#//Namespace">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="namespace"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allNamespaces" upperBound="-1" eType="#//Namespace">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allNamespaces() gives the sequence of Namespaces in which the NamedElement is nested, working outwards.&#xA;result = (&#xA;if owner = null&#xA;  then OrderedSet{}&#xA;else&#xA;  let enclosingNamespace : Namespace =&#xA;    if owner.oclIsKindOf(TemplateParameter) and owner.oclAsType(TemplateParameter).signature.template.oclIsKindOf(Namespace)&#xA;      then owner.oclAsType(TemplateParameter).signature.template.oclAsType(Namespace)&#xA;    else&#xA;      namespace&#xA;    endif&#xA;  in enclosingNamespace.allNamespaces()->prepend(enclosingNamespace)&#xA;endif)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allOwningPackages" ordered="false" upperBound="-1" eType="#//Package">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allOwningPackages() returns the set of all the enclosing Namespaces of this NamedElement, working outwards, that are Packages, up to but not including the first such Namespace that is not a Package.&#xA;result = (if namespace.oclIsKindOf(Package)&#xD;&#xA;then&#xD;&#xA;  let owningPackage : Package = namespace.oclAsType(Package) in&#xD;&#xA;    owningPackage->union(owningPackage.allOwningPackages())&#xD;&#xA;else&#xD;&#xA;  null&#xD;&#xA;endif)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isDistinguishableFrom" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace. By default, two named elements are distinguishable if (a) they have types neither of which is a kind of the other or (b) they have different names.&#xA;result = ((self.oclIsKindOf(n.oclType()) or n.oclIsKindOf(self.oclType())) implies&#xA;    ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()&#xA;)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
      <eParameters name="ns" ordered="false" lowerBound="1" eType="#//Namespace"/>
    </eOperations>
    <eOperations name="getQualifiedName" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="When a NamedElement has a name, and all of its containing Namespaces have a name, the qualifiedName is constructed from the name of the NamedElement and the names of the containing Namespaces.&#xA;result = (if self.name &lt;> null and self.allNamespaces()->select( ns | ns.name=null )->isEmpty()&#xA;then &#xA;    self.allNamespaces()->iterate( ns : Namespace; agg: String = self.name | ns.name.concat(self.separator()).concat(agg))&#xA;else&#xA;   null&#xA;endif)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="qualifiedName"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="separator" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query separator() gives the string that is used to separate names when constructing a qualifiedName.&#xA;result = ('::')&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getClientDependencies" ordered="false" upperBound="-1" eType="#//Dependency">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="result = (Dependency.allInstances()->select(d | d.client->includes(self)))&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="clientDependency"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="clientDependency" ordered="false"
        upperBound="-1" eType="#//Dependency" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates the Dependencies that reference this NamedElement as a client.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The name of the NamedElement.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nameExpression" ordered="false"
        eType="#//StringExpression" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StringExpression used to define the name of this NamedElement.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" ordered="false"
        eType="#//Namespace" changeable="false" volatile="true" transient="true" derived="true"
        eOpposite="#//Namespace/ownedMember">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Namespace that owns the NamedElement.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A name that 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.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
        eType="#//VisibilityKind" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether and how the NamedElement is visible outside its owning Namespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Element is a constituent of a model. As such, it has the capability of owning other Elements.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="has_owner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Elements that must be owned must have an owner.&#xA;mustBeOwned() implies owner->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_own_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An element may not directly or indirectly own itself.&#xA;not allOwnedElements()->includes(self)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="addKeyword" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Adds the specified keyword to this element."/>
      </eAnnotations>
      <eParameters name="keyword" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The keyword to add."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="applyStereotype" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Applies the specified stereotype to this element."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype to apply."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createEAnnotation" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an annotation with the specified source and this element as its model element."/>
      </eAnnotations>
      <eParameters name="source" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The source for the new annotation."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="destroy" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Destroys this element by removing all cross references to/from it and removing it from its containing resource or object."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getKeywords" ordered="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the keywords for this element."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getApplicableStereotype" ordered="false" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the stereotype with the specified qualified name that is applicable to this element, or null if no such stereotype is applicable."/>
      </eAnnotations>
      <eParameters name="qualifiedName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The qualified name of the applicable stereotype to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getApplicableStereotypes" ordered="false" upperBound="-1" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the stereotypes that are applicable to this element, including those that are required and/or may already be applied."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getAppliedStereotype" ordered="false" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is  applied."/>
      </eAnnotations>
      <eParameters name="qualifiedName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The qualified name of the applied stereotype to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getAppliedStereotypes" ordered="false" upperBound="-1" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the stereotypes that are applied to this element."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getAppliedSubstereotype" ordered="false" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the substereotype of the specified stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is applied."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The superstereotype of the applied substereotype to retrieve."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="qualifiedName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The qualified name of the applied substereotype to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getAppliedSubstereotypes" ordered="false" upperBound="-1" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the substereotypes of the specified stereotype that are applied to this element."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The superstereotype of the applied substereotypes to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getModel" ordered="false" eType="#//Model">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the model that owns (either directly or indirectly) this element."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getNearestPackage" ordered="false" eType="#//Package">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the nearest package that owns (either directly or indirectly) this element, or the element itself (if it is a package)."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getRelationships" ordered="false" upperBound="-1" eType="#//Relationship">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the relationships in which this element is involved."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getRelationships" ordered="false" upperBound="-1" eType="#//Relationship">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the relationships of the specified type in which this element is involved."/>
      </eAnnotations>
      <eParameters name="eClass" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The (meta)type of the relationships to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getRequiredStereotype" ordered="false" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the stereotype with the specified qualified name that is required for this element, or null if no such stereotype is required."/>
      </eAnnotations>
      <eParameters name="qualifiedName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The qualified name of the required stereotype to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getRequiredStereotypes" ordered="false" upperBound="-1" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the stereotypes that are required for this element."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getSourceDirectedRelationships" ordered="false" upperBound="-1"
        eType="#//DirectedRelationship">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the directed relationships for which this element is a source."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getSourceDirectedRelationships" ordered="false" upperBound="-1"
        eType="#//DirectedRelationship">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the directed relationships of the specified type for which this element is a source."/>
      </eAnnotations>
      <eParameters name="eClass" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The (meta)type of the directed relationships to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getStereotypeApplication" ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the application of the specified stereotype for this element, or null if no such stereotype application exists."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype for which to retrieve an application."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getStereotypeApplications" ordered="false" upperBound="-1"
        eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the stereotype applications for this element."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getTargetDirectedRelationships" ordered="false" upperBound="-1"
        eType="#//DirectedRelationship">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the directed relationships for which this element is a target."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getTargetDirectedRelationships" ordered="false" upperBound="-1"
        eType="#//DirectedRelationship">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the directed relationships of the specified type for which this element is a target."/>
      </eAnnotations>
      <eParameters name="eClass" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The (meta)type of the directed relationships to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the value of the property with the specified name in the specified stereotype for this element."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype for which to retrieve the value."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="propertyName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name of the property whose value to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="hasKeyword" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether this element has the specified keyword."/>
      </eAnnotations>
      <eParameters name="keyword" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The keyword in question."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="hasValue" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether this element has a (non-default) value for the property with the specified name in the specified stereotype."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype for which to test the property."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="propertyName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name of the property in question."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="isStereotypeApplicable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether the specified stereotype is applicable to this element."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype in question."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="isStereotypeApplied" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether the specified stereotype is applied to this element."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype in question."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="isStereotypeRequired" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether the specified stereotype is required for this element."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype in question."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="removeKeyword" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Removes the specified keyword from this element."/>
      </eAnnotations>
      <eParameters name="keyword" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The keyword to remove."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the value of the property with the specified name in the specified stereotype for this element."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype for which to set the value."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="propertyName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name of the property whose value to set."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="newValue" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new value for the property."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="unapplyStereotype" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Unapplies the specified stereotype from this element."/>
      </eAnnotations>
      <eParameters name="stereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The stereotype to unapply."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="allOwnedElements" ordered="false" upperBound="-1" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allOwnedElements() gives all of the direct and indirect ownedElements of an Element.&#xA;result = (ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))->asSet())&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="mustBeOwned" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query mustBeOwned() indicates whether Elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation.&#xA;result = (true)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedComment" ordered="false"
        upperBound="-1" eType="#//Comment" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Comments owned by this Element.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedElement" ordered="false"
        upperBound="-1" eType="#//Element" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//Element/owner">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Elements owned by this Element.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" ordered="false"
        eType="#//Element" changeable="false" volatile="true" transient="true" derived="true"
        eOpposite="#//Element/ownedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Element that owns this Element.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Comment is a textual annotation that can be attached to a set of Elements.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" ordered="false"
        upperBound="-1" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Element(s) being commented.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies a string that is the comment.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Stereotype" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A stereotype defines how an existing metaclass may be extended, and enables the use of platform or domain specific terminology or notation in place of, or in addition to, the ones used for the extended metaclass.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="binaryAssociationsOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Stereotypes may only participate in binary associations.&#xA;ownedAttribute.association->forAll(memberEnd->size()=2)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="generalize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Stereotype may only generalize or specialize another Stereotype.&#xA;allParents()->forAll(oclIsKindOf(Stereotype)) &#xD;&#xA;and Classifier.allInstances()->forAll(c | c.allParents()->exists(oclIsKindOf(Stereotype)) implies c.oclIsKindOf(Stereotype))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="name_not_clash" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Stereotype names should not clash with keyword names for the extended model element."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="associationEndOwnership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Where a stereotype’s property is an association end for an association other than a kind of extension, and the other end is not a stereotype, the other end must be owned by the association itself.&#xA;ownedAttribute&#xD;&#xA;->select(association->notEmpty() and not association.oclIsKindOf(Extension) and not type.oclIsKindOf(Stereotype))&#xD;&#xA;->forAll(opposite.owner = association)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="base_property_upper_bound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The upper bound of base-properties is exactly 1."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="base_property_multiplicity_single_extension" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a Stereotype extends only one metaclass, the multiplicity of the corresponding base-property shall be 1..1."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="base_property_multiplicity_multiple_extension" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a Stereotype extends more than one metaclass, the multiplicity of the corresponding base-properties shall be [0..1]. At any point in time, only one of these base-properties can contain a metaclass instance during runtime."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="createExtension" ordered="false" lowerBound="1" eType="#//Extension">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a(n) (required) extension of the specified metaclass with this stereotype."/>
      </eAnnotations>
      <eParameters name="metaclass" ordered="false" lowerBound="1" eType="#//Class">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The metaclass for the new extension."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="isRequired" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether the new extension should be required."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createIcon" ordered="false" lowerBound="1" eType="#//Image">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an icon with the specified location for this stereotype."/>
      </eAnnotations>
      <eParameters name="location" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The location for the new icon."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createIcon" ordered="false" lowerBound="1" eType="#//Image">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an icon with the specified format and content for this stereotype."/>
      </eAnnotations>
      <eParameters name="format" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The format for the new icon."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="content" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The content for the new icon."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getAllExtendedMetaclasses" ordered="false" upperBound="-1"
        eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves all the metaclasses extended by this stereotype, including the metaclasses extended by its superstereotypes."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getDefinition" ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the current definition (Ecore representation) of this stereotype."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getExtendedMetaclasses" ordered="false" upperBound="-1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the metaclasses extended by this stereotype."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getKeyword" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the localized keyword for this stereotype."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getKeyword" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the keyword for this stereotype, localized if indicated."/>
      </eAnnotations>
      <eParameters name="localize" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether to localize the keyword."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="containingProfile" ordered="false" lowerBound="1" eType="#//Profile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query containingProfile returns the closest profile directly or indirectly containing this stereotype.&#xA;result = (self.namespace.oclAsType(Package).containingProfile())&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getProfile" ordered="false" lowerBound="1" eType="#//Profile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A stereotype must be contained, directly or indirectly, in a profile.&#xA;result = (self.containingProfile())&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="profile"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="icon" ordered="false" upperBound="-1"
        eType="#//Image" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="profile" ordered="false"
        lowerBound="1" eType="#//Profile" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The profile that directly or indirectly contains this stereotype.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Image" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Physical definition of a graphical image.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="content" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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).&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="format" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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;.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This contains a location that can be used by a tool to locate the image as an alternative to embedding it in the stereotype.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Profile" eSuperTypes="#//Package">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A profile defines limited extensions to a reference metamodel with the purpose of adapting the metamodel to a specific platform or domain.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="metaclass_reference_not_specialized" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An element imported as a metaclassReference is not specialized or generalized in a Profile.&#xA;metaclassReference.importedElement->&#xD;&#xA;&#x9;select(c | c.oclIsKindOf(Classifier) and&#xD;&#xA;&#x9;&#x9;(c.oclAsType(Classifier).allParents()->collect(namespace)->includes(self)))->isEmpty()&#xD;&#xA;and &#xD;&#xA;packagedElement->&#xD;&#xA;    select(oclIsKindOf(Classifier))->collect(oclAsType(Classifier).allParents())->&#xD;&#xA;       intersection(metaclassReference.importedElement->select(oclIsKindOf(Classifier))->collect(oclAsType(Classifier)))->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="references_same_metamodel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All elements imported either as metaclassReferences or through metamodelReferences are members of the same base reference metamodel.&#xA;metamodelReference.importedPackage.elementImport.importedElement.allOwningPackages()->&#xD;&#xA;  union(metaclassReference.importedElement.allOwningPackages() )->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="create" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates and returns an instance of (the Ecore representation of) the specified classifier defined in this profile."/>
      </eAnnotations>
      <eParameters name="classifier" ordered="false" lowerBound="1" eType="#//Classifier">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The classifier of which to create an instance."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="define" ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Defines this profile by (re)creating Ecore representations of its current contents."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="define" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Defines this profile by (re)creating Ecore representations of its current contents, using the specified options, diagnostics, and context."/>
      </eAnnotations>
      <eParameters name="options" ordered="false" lowerBound="1">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The options to use."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
          <eTypeArguments eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
        </eGenericType>
      </eParameters>
      <eParameters name="diagnostics" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context" ordered="false" lowerBound="1">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getDefinition" ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the current definition (Ecore representation) of this profile."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getDefinition" ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the current definition (Ecore representation) of the specified named element in this profile."/>
      </eAnnotations>
      <eParameters name="namedElement" ordered="false" lowerBound="1" eType="#//NamedElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The named element whose definition to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getOwnedExtensions" ordered="false" upperBound="-1" eType="#//Extension">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the extensions owned by this profile, excluding non-required extensions if indicated."/>
      </eAnnotations>
      <eParameters name="requiredOnly" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether to retrieve only required extensions."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getReferencedMetaclasses" ordered="false" upperBound="-1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the metaclasses referenced by this profile."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getReferencedMetamodels" ordered="false" upperBound="-1" eType="#//Model">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the metamodels referenced by this profile."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isDefined" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether this profile is defined."/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="metaclassReference" ordered="false"
        upperBound="-1" eType="#//ElementImport">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References a metaclass that may be extended.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/elementImport"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="metamodelReference" ordered="false"
        upperBound="-1" eType="#//PackageImport">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References a package containing (directly or indirectly) metaclasses that may be extended.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/packageImport"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace #//PackageableElement #//TemplateableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A package can have one or more profile applications to indicate which profiles have been applied. Because a profile is a package, it is possible to apply a profile not only to packages, but also to profiles.&#xA;Package specializes TemplateableElement and PackageableElement specializes ParameterableElement to specify that a package can be used as a template and a PackageableElement as a template parameter.&#xA;A package is used to group elements, and provides a namespace for the grouped elements.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="mustBeOwned" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query mustBeOwned() indicates whether elements of this type must have an owner.&#xA;result = (false)&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Element/mustBeOwned"/>
      </contents>
    </eAnnotations>
    <eOperations name="elements_public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If an element that is owned by a package has visibility, it is public or private.&#xA;packagedElement->forAll(e | e.visibility&lt;> null implies e.visibility = VisibilityKind::public or e.visibility = VisibilityKind::private)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="applyProfile" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Applies the current definition of the specified profile to this package and automatically applies required stereotypes in the profile to elements within this package's namespace hieararchy. If a different definition is already applied, automatically migrates any associated stereotype values on a &quot;best effort&quot; basis (matching classifiers and structural features by name)."/>
      </eAnnotations>
      <eParameters name="profile" ordered="false" lowerBound="1" eType="#//Profile">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The profile to apply."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedClass" ordered="false" lowerBound="1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a(n) (abstract) class with the specified name as an owned type of this package."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new class, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="isAbstract" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether the new class should be abstract."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedEnumeration" ordered="false" lowerBound="1" eType="#//Enumeration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a enumeration with the specified name as an owned type of this package."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new enumeration, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedInterface" ordered="false" lowerBound="1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an interface with the specified name as an owned type of this package."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new interface, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedPrimitiveType" ordered="false" lowerBound="1" eType="#//PrimitiveType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a primitive type with the specified name as an owned type of this package."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new primitive type, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedStereotype" ordered="false" lowerBound="1" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a(n) (abstract) stereotype with the specified name as an owned stereotype of this profile."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new stereotype, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="isAbstract" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether the new stereotype should be abstract."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getAllAppliedProfiles" ordered="false" upperBound="-1" eType="#//Profile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves all the profiles that are applied to this package, including profiles applied to its nesting package(s)."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getAllProfileApplications" ordered="false" upperBound="-1"
        eType="#//ProfileApplication">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves all the profile applications for this package, including profile applications for its nesting package(s)."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getAppliedProfile" ordered="false" eType="#//Profile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the profile with the specified qualified name that is applied to this package, or null if no such profile is applied."/>
      </eAnnotations>
      <eParameters name="qualifiedName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The qualified name of the applied profile to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getAppliedProfile" ordered="false" eType="#//Profile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the profile with the specified qualified name that is applied to this package or any of its nesting packages (if indicated), or null if no such profile is applied."/>
      </eAnnotations>
      <eParameters name="qualifiedName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The qualified name of the applied profile to retrieve."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="recurse" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether to look in nesting packages."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getAppliedProfiles" ordered="false" upperBound="-1" eType="#//Profile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the profiles that are applied to this package."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getProfileApplication" ordered="false" eType="#//ProfileApplication">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the application of the specified profile to this package, or null if no such profile is applied."/>
      </eAnnotations>
      <eParameters name="profile" ordered="false" lowerBound="1" eType="#//Profile">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The profile whose application to retrieve."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getProfileApplication" ordered="false" eType="#//ProfileApplication">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the application of the specified profile to this package or any of its nesting packages (if indicated), or null if no such profile is applied."/>
      </eAnnotations>
      <eParameters name="profile" ordered="false" lowerBound="1" eType="#//Profile">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The profile whose application to retrieve."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="recurse" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether to look in nesting packages."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="isModelLibrary" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether this package is a model library."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isProfileApplied" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether the specified profile is applied to this package."/>
      </eAnnotations>
      <eParameters name="profile" ordered="false" lowerBound="1" eType="#//Profile">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The profile in question."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="unapplyProfile" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Unapplies the specified profile from this package and automatically unapplies stereotypes in the profile from elements within this package's namespace hieararchy."/>
      </eAnnotations>
      <eParameters name="profile" ordered="false" lowerBound="1" eType="#//Profile">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The profile to unapply."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="applyProfiles" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Applies the current definitions of the specified profiles to this package and automatically applies required stereotypes in the profiles to elements within this package's namespace hieararchy. If different definitions are already applied, automatically migrates any associated stereotype values on a &quot;best effort&quot; basis (matching classifiers and structural features by name)."/>
      </eAnnotations>
      <eParameters name="profiles" ordered="false" lowerBound="1" upperBound="-1"
          eType="#//Profile">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The profiles to apply."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="allApplicableStereotypes" ordered="false" upperBound="-1" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allApplicableStereotypes() returns all the directly or indirectly owned stereotypes, including stereotypes contained in sub-profiles.&#xA;result = (let ownedPackages : Bag(Package) = ownedMember->select(oclIsKindOf(Package))->collect(oclAsType(Package)) in&#xD;&#xA; ownedStereotype->union(ownedPackages.allApplicableStereotypes())->flatten()->asSet()&#xD;&#xA;)&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="containingProfile" ordered="false" eType="#//Profile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query containingProfile() returns the closest profile directly or indirectly containing this package (or this package itself, if it is a profile).&#xA;result = (if self.oclIsKindOf(Profile) then &#xD;&#xA;&#x9;self.oclAsType(Profile)&#xD;&#xA;else&#xD;&#xA;&#x9;self.namespace.oclAsType(Package).containingProfile()&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="makesVisible" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.&#xA;member->includes(el)&#xA;result = (ownedMember->includes(el) or&#xA;(elementImport->select(ei|ei.importedElement = VisibilityKind::public)->collect(importedElement.oclAsType(NamedElement))->includes(el)) or&#xA;(packageImport->select(visibility = VisibilityKind::public)->collect(importedPackage.member->includes(el))->notEmpty()))&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="el" ordered="false" lowerBound="1" eType="#//NamedElement"/>
    </eOperations>
    <eOperations name="getNestedPackages" ordered="false" upperBound="-1" eType="#//Package">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Package::/nestedPackage&#xA;result = (packagedElement->select(oclIsKindOf(Package))->collect(oclAsType(Package))->asSet())&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="nestedPackage"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getOwnedStereotypes" ordered="false" upperBound="-1" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Package::/ownedStereotype&#xA;result = (packagedElement->select(oclIsKindOf(Stereotype))->collect(oclAsType(Stereotype))->asSet())&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="ownedStereotype"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getOwnedTypes" ordered="false" upperBound="-1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Package::/ownedType&#xA;result = (packagedElement->select(oclIsKindOf(Type))->collect(oclAsType(Type))->asSet())&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="ownedType"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="visibleMembers" ordered="false" upperBound="-1" eType="#//PackageableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query visibleMembers() defines which members of a Package can be accessed outside it.&#xA;result = (member->select( m | m.oclIsKindOf(PackageableElement) and self.makesVisible(m))->collect(oclAsType(PackageableElement))->asSet())&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="URI" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Provides an identifier for the package that can be used for many purposes. A URI is the universally unique identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedPackage" ordered="false"
        upperBound="-1" eType="#//Package" volatile="true" transient="true" derived="true"
        eOpposite="#//Package/nestingPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the packaged elements that are Packages.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Package/packagedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestingPackage" ordered="false"
        eType="#//Package" volatile="true" transient="true" derived="true" eOpposite="#//Package/nestedPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Package that owns this Package.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedStereotype" ordered="false"
        upperBound="-1" eType="#//Stereotype" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Stereotypes that are owned by the Package.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Package/packagedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" ordered="false"
        upperBound="-1" eType="#//Type" volatile="true" transient="true" derived="true"
        eOpposite="#//Type/package">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the packaged elements that are Types.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Package/packagedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="packageMerge" ordered="false"
        upperBound="-1" eType="#//PackageMerge" containment="true" eOpposite="#//PackageMerge/receivingPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the PackageMerges that are owned by this Package.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="packagedElement" ordered="false"
        upperBound="-1" eType="#//PackageableElement" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the packageable elements that are owned by this Package.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="profileApplication" ordered="false"
        upperBound="-1" eType="#//ProfileApplication" containment="true" eOpposite="#//ProfileApplication/applyingPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the ProfileApplications that indicate which profiles have been applied to the Package.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true"
      eSuperTypes="#//NamedElement #//ParameterableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A PackageableElement is a NamedElement that may be owned directly by a Package. A PackageableElement is also able to serve as the parameteredElement of a TemplateParameter.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EAttribute" name="visibility" ordered="false" eType="#//VisibilityKind"
          defaultValueLiteral="public" unsettable="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A PackageableElement must have a visibility specified if it is owned by a Namespace. The default visibility is public.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//NamedElement/visibility"/>
      </contents>
    </eAnnotations>
    <eOperations name="namespace_needs_visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A PackageableElement owned by a Namespace must have a visibility.&#xA;visibility = null implies namespace = null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ParameterableElement" abstract="true"
      eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ParameterableElement is an Element that can be exposed as a formal TemplateParameter for a template, or specified as an actual parameter in a binding of a template.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="isCompatibleWith" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isCompatibleWith() determines if this ParameterableElement is compatible with the specified ParameterableElement. By default, this ParameterableElement is compatible with another ParameterableElement p if the kind of this ParameterableElement is the same as or a subtype of the kind of p. Subclasses of ParameterableElement should override this operation to specify different compatibility constraints.&#xA;result = (self.oclIsKindOf(p.oclType()))&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="p" ordered="false" lowerBound="1" eType="#//ParameterableElement"/>
    </eOperations>
    <eOperations name="isTemplateParameter" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isTemplateParameter() determines if this ParameterableElement is exposed as a formal TemplateParameter.&#xA;result = (templateParameter->notEmpty())&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateParameter"
        ordered="false" eType="#//TemplateParameter" eOpposite="#//TemplateParameter/ownedParameteredElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal TemplateParameter that owns this ParameterableElement.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner #//ParameterableElement/templateParameter"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="templateParameter" ordered="false"
        eType="#//TemplateParameter" eOpposite="#//TemplateParameter/parameteredElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateParameter that exposes this ParameterableElement as a formal parameter.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TemplateParameter exposes a ParameterableElement as a formal parameter of a template.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The default must be compatible with the formal TemplateParameter.&#xA;default &lt;> null implies default.isCompatibleWith(parameteredElement)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
        eType="#//ParameterableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterableElement that is the default for this formal TemplateParameter.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDefault" ordered="false"
        eType="#//ParameterableElement" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterableElement that is owned by this TemplateParameter for the purpose of providing a default.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameter/default"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
        lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ParameterableElement/templateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterableElement exposed by this TemplateParameter.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
        lowerBound="1" eType="#//TemplateSignature" eOpposite="#//TemplateSignature/ownedParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateSignature that owns this TemplateParameter.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameteredElement"
        ordered="false" eType="#//ParameterableElement" containment="true" eOpposite="#//ParameterableElement/owningTemplateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterableElement that is owned by this TemplateParameter for the purpose of exposing it as the parameteredElement.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameter/parameteredElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateSignature" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Template Signature bundles the set of formal TemplateParameters for a template.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="own_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Parameters must own the ParameterableElements they parameter or those ParameterableElements must be owned by the TemplateableElement being templated.&#xA;template.ownedElement->includesAll(parameter.parameteredElement->asSet() - parameter.ownedParameteredElement->asSet())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="unique_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The names of the parameters of a TemplateSignature are unique.&#xA;parameter->forAll( p1, p2 | (p1 &lt;> p2 and p1.parameteredElement.oclIsKindOf(NamedElement) and p2.parameteredElement.oclIsKindOf(NamedElement) ) implies&#xD;&#xA;   p1.parameteredElement.oclAsType(NamedElement).name &lt;> p2.parameteredElement.oclAsType(NamedElement).name)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
        upperBound="-1" eType="#//TemplateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of all formal TemplateParameters for this TemplateSignature.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="template" ordered="false"
        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/ownedTemplateSignature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateableElement that owns this TemplateSignature.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
        eType="#//TemplateParameter" containment="true" eOpposite="#//TemplateParameter/signature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal parameters that are owned by this TemplateSignature.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateSignature/parameter"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateableElement" abstract="true"
      eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TemplateableElement is an Element that can optionally be defined as a template and bound to other templates.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="isTemplate" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isTemplate() returns whether this TemplateableElement is actually a template.&#xA;result = (ownedTemplateSignature &lt;> null)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="parameterableElements" ordered="false" upperBound="-1" eType="#//ParameterableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query parameterableElements() returns the set of ParameterableElements that may be used as the parameteredElements for a TemplateParameter of this TemplateableElement. By default, this set includes all the ownedElements. Subclasses may override this operation if they choose to restrict the set of ParameterableElements.&#xA;result = (self.allOwnedElements()->select(oclIsKindOf(ParameterableElement)).oclAsType(ParameterableElement)->asSet())&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
        upperBound="-1" eType="#//TemplateBinding" containment="true" eOpposite="#//TemplateBinding/boundElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The optional TemplateBindings from this TemplateableElement to one or more templates.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateSignature"
        ordered="false" eType="#//TemplateSignature" containment="true" eOpposite="#//TemplateSignature/template">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The optional TemplateSignature specifying the formal TemplateParameters for this TemplateableElement. If a TemplateableElement has a TemplateSignature, then it is a template.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding" eSuperTypes="#//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TemplateBinding is a DirectedRelationship between a TemplateableElement and a template. A TemplateBinding specifies the TemplateParameterSubstitutions of actual parameters for the formal parameters of the template.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="parameter_substitution_formal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Each parameterSubstitution must refer to a formal TemplateParameter of the target TemplateSignature.&#xA;parameterSubstitution->forAll(b | signature.parameter->includes(b.formal))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="one_parameter_substitution" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A TemplateBiinding contains at most one TemplateParameterSubstitution for each formal TemplateParameter of the target TemplateSignature.&#xA;signature.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() &lt;= 1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSubstitution"
        ordered="false" upperBound="-1" eType="#//TemplateParameterSubstitution" containment="true"
        eOpposite="#//TemplateParameterSubstitution/templateBinding">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateParameterSubstitutions owned by this TemplateBinding.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
        lowerBound="1" eType="#//TemplateSignature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateSignature for the template that is the target of this TemplateBinding.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="boundElement" ordered="false"
        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/templateBinding">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateableElement that is bound by this TemplateBinding.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationship" abstract="true"
      eSuperTypes="#//Relationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DirectedRelationship represents a relationship between a collection of source model Elements and a collection of target model Elements.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the source Element(s) of the DirectedRelationship.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the target Element(s) of the DirectedRelationship.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Relationship" abstract="true" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Relationship is an abstract concept that specifies some kind of relationship between Elements.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="relatedElement" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the elements related by the Relationship.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TemplateParameterSubstitution relates the actual parameter to a formal TemplateParameter as part of a template binding.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The actual ParameterableElement must be compatible with the formal TemplateParameter, e.g., the actual ParameterableElement for a Class TemplateParameter must be a Class.&#xA;actual->forAll(a | a.isCompatibleWith(formal.parameteredElement))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="actual" ordered="false"
        lowerBound="1" eType="#//ParameterableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterableElement that is the actual parameter for this TemplateParameterSubstitution.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="formal" ordered="false"
        lowerBound="1" eType="#//TemplateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal TemplateParameter that is associated with this TemplateParameterSubstitution.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedActual" ordered="false"
        eType="#//ParameterableElement" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterableElement that is owned by this TemplateParameterSubstitution as its actual parameter.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameterSubstitution/actual"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
        lowerBound="1" eType="#//TemplateBinding" eOpposite="#//TemplateBinding/parameterSubstitution">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateBinding that owns this TemplateParameterSubstitution.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="VisibilityKind is an enumeration type that defines literals to determine the visibility of Elements in a model.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="public">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Named Element with public visibility is visible to all elements that can access the contents of the Namespace that owns it."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="private" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A NamedElement with private visibility is only visible inside the Namespace that owns it."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="protected" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A NamedElement with protected visibility is visible to Elements that have a generalization relationship to the Namespace that owns it."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="package" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A NamedElement with 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, a NamedElement marked as having package visibility is not visible.  Only NamedElements that are not owned by Packages can be marked as having package visibility."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//PackageableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Type constrains the values represented by a TypedElement.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="createAssociation" ordered="false" lowerBound="1" eType="#//Association">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a(n) (binary) association between this type and the specified other type, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this type's nearest package."/>
      </eAnnotations>
      <eParameters name="end1IsNavigable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The navigability for the first end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Aggregation" ordered="false" lowerBound="1" eType="#//AggregationKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The aggregation for the first end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the first end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the first end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the first end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Type" ordered="false" lowerBound="1" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type for the first end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2IsNavigable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The navigability for the second end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2Aggregation" ordered="false" lowerBound="1" eType="#//AggregationKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The aggregation for the second end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2Name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the second end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2Lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the second end of the new association."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2Upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the second end of the new association."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getAssociations" ordered="false" upperBound="-1" eType="#//Association">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the associations in which this type is involved."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="conformsTo" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query conformsTo() gives true for a Type that conforms to another. By default, two Types do not conform to each other. This query is intended to be redefined for specific conformance situations.&#xA;result = (false)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="other" ordered="false" lowerBound="1" eType="#//Type"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="package" ordered="false"
        eType="#//Package" volatile="true" transient="true" derived="true" eOpposite="#//Package/ownedType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the owning Package of this Type, if any.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//Classifier #//Relationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A link is a tuple of values that refer to typed objects.  An Association classifies a set of links, each of which is an instance of the Association.  Each value in the link refers to an instance of the type of the corresponding end of the Association.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="specialized_end_number" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Association specializing another Association has the same number of ends as the other Association.&#xA;parents()->select(oclIsKindOf(Association)).oclAsType(Association)->forAll(p | p.memberEnd->size() = self.memberEnd->size())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="specialized_end_types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="When an Association specializes another Association, every end of the specific Association corresponds to an end of the general Association, and the specific end reaches the same type or a subtype of the corresponding general end.&#xA;Sequence{1..memberEnd->size()}->&#xD;&#xA;&#x9;forAll(i | general->select(oclIsKindOf(Association)).oclAsType(Association)->&#xD;&#xA;&#x9;&#x9;forAll(ga | self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="binary_associations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Only binary Associations can be aggregations.&#xA;memberEnd->exists(aggregation &lt;> AggregationKind::none) implies (memberEnd->size() = 2 and memberEnd->exists(aggregation = AggregationKind::none))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="association_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Ends of Associations with more than two ends must be owned by the Association itself.&#xA;memberEnd->size() > 2 implies ownedEnd->includesAll(memberEnd)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ends_must_be_typed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="memberEnd->forAll(type->notEmpty())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="isBinary" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether this association is a binary association, i.e. whether it has exactly two member ends."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getEndTypes" ordered="false" lowerBound="1" upperBound="-1"
        eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="endType is derived from the types of the member ends.&#xA;result = (memberEnd->collect(type)->asSet())&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="endType"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="endType" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Type" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifiers that are used as types of the ends of the Association.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerived" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the Association is derived from other model elements such as other Associations.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="memberEnd" lowerBound="2"
        upperBound="-1" eType="#//Property" eOpposite="#//Property/association">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Each end represents participation of instances of the Classifier connected to the end in links of the Association.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/member"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedEnd" upperBound="-1"
        eType="#//Property" containment="true" eOpposite="#//Property/owningAssociation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ends that are owned by the Association itself.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Association/memberEnd #//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="navigableOwnedEnd" ordered="false"
        upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The navigable ends that are owned by the Association itself.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Association/ownedEnd"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//StructuralFeature #//ConnectableElement #//DeploymentTarget">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Property is a StructuralFeature. A Property related by ownedAttribute to a Classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the Classifier to a value or set of values of the type of the attribute. A Property related by memberEnd to an Association represents an end of the Association. The type of the Property is the type of the end of the Association. A Property has the capability of being a DeploymentTarget in a Deployment relationship. This enables modeling the deployment to hierarchical nodes that have Properties functioning as internal parts.  Property specializes ParameterableElement to specify that a Property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isCompatibleWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isCompatibleWith() determines if this Property is compatible with the specified ParameterableElement. This Property is compatible with ParameterableElement p if the kind of this Property is thesame as or a subtype of the kind of p. Further, if p is a TypedElement, then the type of this Property must be conformant with the type of p.&#xA;result = (self.oclIsKindOf(p.oclType()) and (p.oclIsKindOf(TypedElement) implies&#xD;&#xA;self.type.conformsTo(p.oclAsType(TypedElement).type)))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ParameterableElement/isCompatibleWith"/>
        <eParameters name="p" ordered="false" lowerBound="1" eType="#//ParameterableElement"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining Property is consistent with a redefined Property if the type of the redefining Property conforms to the type of the redefined Property, and the multiplicity of the redefining Property (if specified) is contained in the multiplicity of the redefined Property.&#xA;redefiningElement.isRedefinitionContextValid(self)&#xA;result = (redefiningElement.oclIsKindOf(Property) and &#xA;  let prop : Property = redefiningElement.oclAsType(Property) in &#xA;  (prop.type.conformsTo(self.type) and &#xA;  ((prop.lowerBound()->notEmpty() and self.lowerBound()->notEmpty()) implies prop.lowerBound() >= self.lowerBound()) and &#xA;  ((prop.upperBound()->notEmpty() and self.upperBound()->notEmpty()) implies prop.lowerBound() &lt;= self.lowerBound()) and &#xA;  (self.isComposite implies prop.isComposite)))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
    </eAnnotations>
    <eOperations name="subsetting_context_conforms" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.&#xA;subsettedProperty->notEmpty() implies&#xA;  (subsettingContext()->notEmpty() and subsettingContext()->forAll (sc |&#xA;    subsettedProperty->forAll(sp |&#xA;      sp.subsettingContext()->exists(c | sc.conformsTo(c)))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="derived_union_is_read_only" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A derived union is read only.&#xA;isDerivedUnion implies isReadOnly"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_composite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A multiplicity on the composing end of a composite aggregation must not have an upper bound greater than 1.&#xA;isComposite and association &lt;> null implies opposite.upperBound() &lt;= 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="redefined_property_inherited" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A redefined Property must be inherited from a more general Classifier.&#xA;(redefinedProperty->notEmpty()) implies&#xD;&#xA;  (redefinitionContext->notEmpty() and&#xD;&#xA;      redefinedProperty->forAll(rp|&#xD;&#xA;        ((redefinitionContext->collect(fc|&#xD;&#xA;          fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="subsetting_rules" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A subsetting Property may strengthen the type of the subsetted Property, and its upper bound may be less.&#xA;subsettedProperty->forAll(sp |&#xA;  self.type.conformsTo(sp.type) and&#xA;    ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies&#xA;      self.upperBound() &lt;= sp.upperBound() ))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="binding_to_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A binding of a PropertyTemplateParameter representing an attribute must be to an attribute.&#xA;(self.isAttribute()&#xD;&#xA;and (templateParameterSubstitution->notEmpty())&#xD;&#xA;implies (templateParameterSubstitution->forAll(ts |&#xD;&#xA;    ts.formal.oclIsKindOf(Property)&#xD;&#xA;    and ts.formal.oclAsType(Property).isAttribute())))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="derived_union_is_derived" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A derived union is derived.&#xA;isDerivedUnion implies isDerived"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="deployment_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;deployment->notEmpty() implies owner.oclIsKindOf(Node) and Node.allInstances()->exists(n | n.part->exists(p | p = self))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="subsetted_property_names" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Property may not subset a Property with the same name.&#xA;subsettedProperty->forAll(sp | sp.name &lt;> name)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_opposite_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a Property is a classifier-owned end of a binary Association, its owner must be the type of the opposite end.&#xA;(opposite->notEmpty() and owningAssociation->isEmpty()) implies classifier = opposite.type"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="qualified_is_association_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All qualified Properties must be Association ends&#xA;qualifier->notEmpty() implies association->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getDefault" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves a string representation of the default value for this property."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getOtherEnd" ordered="false" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the other end of the (binary) association in which this property is a member end."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isSetDefault" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setBooleanDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this property to the specified Boolean value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setDefault" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this property based on the specified string representation."/>
      </eAnnotations>
      <eParameters name="newDefault" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A string repesentation of the new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setIntegerDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this property to the specified integer value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setIsComposite" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eParameters name="newIsComposite" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
    </eOperations>
    <eOperations name="setIsNavigable" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the navigability of this property as indicated."/>
      </eAnnotations>
      <eParameters name="isNavigable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new navigability."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setNullDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this property to the null value."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setOpposite" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eParameters name="newOpposite" ordered="false" lowerBound="1" eType="#//Property"/>
    </eOperations>
    <eOperations name="setRealDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this property to the specified real value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Real">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setStringDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this property to the specified string value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setUnlimitedNaturalDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this property to the specified unlimited natural value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="unsetDefault" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isAttribute" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isAttribute() is true if the Property is defined as an attribute of some Classifier.&#xA;result = (not classifier->isEmpty())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isComposite" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The value of isComposite is true only if aggregation is composite.&#xA;result = (aggregation = AggregationKind::composite)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isNavigable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isNavigable() indicates whether it is possible to navigate across the property.&#xA;result = (not classifier->isEmpty() or association.navigableOwnedEnd->includes(self))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getOpposite" ordered="false" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this property is a memberEnd of a binary association, then opposite gives the other end.&#xA;result = (if association &lt;> null and association.memberEnd->size() = 2&#xA;then&#xA;    association.memberEnd->any(e | e &lt;> self)&#xA;else&#xA;    null&#xA;endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="opposite"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="subsettingContext" ordered="false" upperBound="-1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query subsettingContext() gives the context for subsetting a Property. It consists, in the case of an attribute, of the corresponding Classifier, and in the case of an association end, all of the Classifiers at the other ends.&#xA;result = (if association &lt;> null&#xA;then association.memberEnd->excluding(self)->collect(type)->asSet()&#xA;else &#xA;  if classifier&lt;>null&#xA;  then classifier->asSet()&#xA;  else Set{} &#xA;  endif&#xA;endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
        eType="#//DataType" eOpposite="#//DataType/ownedAttribute">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The DataType that owns this Property, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
        eType="#//Interface" eOpposite="#//Interface/ownedAttribute">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interface that owns this Property, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        volatile="true" transient="true" unsettable="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedGetVisibility" value="true"/>
        <details key="suppressedSetVisibility" value="true"/>
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="aggregation" ordered="false"
        lowerBound="1" eType="#//AggregationKind" defaultValueLiteral="none">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the kind of aggregation that applies to the Property.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="associationEnd" ordered="false"
        eType="#//Property" eOpposite="#//Property/qualifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the optional association end that owns a qualifier attribute.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" upperBound="-1"
        eType="#//Property" containment="true" eOpposite="#//Property/associationEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional list of ordered qualifier attributes for the end.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="class" ordered="false"
        eType="#//Class" changeable="false" volatile="true" transient="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Class that owns this Property, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ValueSpecification that is evaluated to give a default value for the Property when an instance of the owning Classifier is instantiated.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        volatile="true" transient="true" defaultValueLiteral="false" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute. This is a derived value, indicating whether the aggregation of the Property is composite or not.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerived" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerivedUnion" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the property is derived as the union of all of the Properties that are constrained to subset it.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isID" ordered="false" lowerBound="1"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="True indicates this property can be used to uniquely identify an instance of the containing Class.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" ordered="false"
        eType="#//Property" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In the case where the Property is one end of a binary association this gives the other end.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningAssociation" ordered="false"
        eType="#//Association" eOpposite="#//Association/ownedEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The owning association of this property, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//Property/association #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedProperty" ordered="false"
        upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The properties that are redefined by this property, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subsettedProperty" ordered="false"
        upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The properties of which this Property is constrained to be a subset, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="association" ordered="false"
        eType="#//Association" eOpposite="#//Association/memberEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Association of which this Property is a member, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElement" abstract="true"
      eSuperTypes="#//TypedElement #//ParameterableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ConnectableElement is an abstract metaclass representing a set of instances that play roles of a StructuredClassifier. ConnectableElements may be joined by attached Connectors and specify configurations of linked instances to be created within an instance of the containing StructuredClassifier.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="templateParameter">
        <details key="eType" value="uml::ConnectableElementTemplateParameter"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
          eType="#//TemplateParameter" eOpposite="#//ConnectableElementTemplateParameter/%duplicates%/parameteredElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The ConnectableElementTemplateParameter for this ConnectableElement parameter.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
      </contents>
    </eAnnotations>
    <eOperations name="getEnds" ordered="false" upperBound="-1" eType="#//ConnectorEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for ConnectableElement::/end : ConnectorEnd&#xA;result = (ConnectorEnd.allInstances()->select(role = self))&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="end"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false" upperBound="-1"
        eType="#//ConnectorEnd" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of ConnectorEnds that attach to this ConnectableElement.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TypedElement is a NamedElement that may have a Type specified for it.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the TypedElement.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConnectorEnd" eSuperTypes="#//MultiplicityElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ConnectorEnd is an endpoint of a Connector, which attaches the Connector to a ConnectableElement.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="role_and_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a ConnectorEnd references a partWithPort, then the role must be a Port that is defined or inherited by the type of the partWithPort.&#xA;partWithPort->notEmpty() implies &#xD;&#xA;  (role.oclIsKindOf(Port) and partWithPort.type.oclAsType(Namespace).member->includes(role))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="part_with_port_empty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a ConnectorEnd is attached to a Port of the containing Classifier, partWithPort will be empty.&#xA;(role.oclIsKindOf(Port) and role.owner = connector.owner) implies partWithPort->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the ConnectorEnd may not be more general than the multiplicity of the corresponding end of the Association typing the owning Connector, if any.&#xA;self.compatibleWith(definingEnd)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="self_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Property held in self.partWithPort must not be a Port.&#xA;partWithPort->notEmpty() implies not partWithPort.oclIsKindOf(Port)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getDefiningEnd" ordered="false" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for ConnectorEnd::/definingEnd : Property&#xA;result = (if connector.type = null &#xD;&#xA;then&#xD;&#xA;  null &#xD;&#xA;else&#xD;&#xA;  let index : Integer = connector.end->indexOf(self) in&#xD;&#xA;    connector.type.memberEnd->at(index)&#xD;&#xA;endif)&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="definingEnd"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="definingEnd" ordered="false"
        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A derived property referencing the corresponding end on the Association which types the Connector owing this ConnectorEnd, if any. It is derived by selecting the end at the same place in the ordering of Association ends as this ConnectorEnd.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"
        eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates the role of the internal structure of a Classifier with the Port to which the ConnectorEnd is attached.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" lowerBound="1"
        eType="#//ConnectableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ConnectableElement attached at this ConnectorEnd. 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 ConnectableElement.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MultiplicityElement" abstract="true"
      eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A multiplicity is a definition of an inclusive interval of non-negative integers beginning with a lower bound and ending with a (possibly infinite) upper bound. A MultiplicityElement embeds this information to specify the allowable cardinalities for an instantiation of the Element.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="upper_ge_lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The upper bound must be greater than or equal to the lower bound.&#xA;upperBound() >= lowerBound()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="lower_ge_0" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The lower bound must be a non-negative integer literal.&#xA;lowerBound() >= 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="value_specification_no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a non-literal ValueSpecification is used for lowerValue or upperValue, then evaluating that specification must not have side effects."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="value_specification_constant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a non-literal ValueSpecification is used for lowerValue or upperValue, then that specification must be a constant expression."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="lower_is_integer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If it is not empty, then lowerValue must have an Integer value.&#xA;lowerValue &lt;> null implies lowerValue.integerValue() &lt;> null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="upper_is_unlimitedNatural" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If it is not empty, then upperValue must have an UnlimitedNatural value.&#xA;upperValue &lt;> null implies upperValue.unlimitedValue() &lt;> null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="setLower" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eParameters name="newLower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="setUpper" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eParameters name="newUpper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural"/>
    </eOperations>
    <eOperations name="compatibleWith" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operation compatibleWith takes another multiplicity as input. It returns true if the other multiplicity is wider than, or the same as, self.&#xA;result = ((other.lowerBound() &lt;= self.lowerBound()) and ((other.upperBound() = *) or (self.upperBound() &lt;= other.upperBound())))&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="other" ordered="false" lowerBound="1" eType="#//MultiplicityElement"/>
    </eOperations>
    <eOperations name="includesMultiplicity" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.&#xA;self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()&#xA;result = ((self.lowerBound() &lt;= M.lowerBound()) and (self.upperBound() >= M.upperBound()))&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="M" ordered="false" lowerBound="1" eType="#//MultiplicityElement"/>
    </eOperations>
    <eOperations name="is" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operation is determines if the upper and lower bound of the ranges are the ones given.&#xA;result = (lowerbound = self.lowerBound() and upperbound = self.upperBound())&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="lowerbound" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
      <eParameters name="upperbound" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural"/>
    </eOperations>
    <eOperations name="isMultivalued" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.&#xA;upperBound()->notEmpty()&#xA;result = (upperBound() > 1)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getLower" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The derived lower attribute must equal the lowerBound.&#xA;result = (lowerBound())&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="lower"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="lowerBound" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query lowerBound() returns the lower bound of the multiplicity as an integer, which is the integerValue of lowerValue, if this is given, and 1 otherwise.&#xA;result = (if (lowerValue=null or lowerValue.integerValue()=null) then 1 else lowerValue.integerValue() endif)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getUpper" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The derived upper attribute must equal the upperBound.&#xA;result = (upperBound())&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="upper"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="upperBound" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an unlimited natural, which is the unlimitedNaturalValue of upperValue, if given, and 1, otherwise.&#xA;result = (if (upperValue=null or upperValue.unlimitedValue()=null) then 1 else upperValue.unlimitedValue() endif)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this MultiplicityElement are sequentially ordered.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnique" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="For a multivalued multiplicity, this attributes specifies whether the values in an instantiation of this MultiplicityElement are unique.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"
        volatile="true" transient="true" defaultValueLiteral="1" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The lower bound of the multiplicity interval.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="lowerValue" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specification of the lower bound for this multiplicity.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural"
        volatile="true" transient="true" defaultValueLiteral="1" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The upper bound of the multiplicity interval.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="upperValue" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specification of the upper bound for this multiplicity.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ValueSpecification" abstract="true"
      eSuperTypes="#//PackageableElement #//TypedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ValueSpecification is the specification of a (possibly empty) set of values. A ValueSpecification is a ParameterableElement that may be exposed as a formal TemplateParameter and provided as the actual parameter in the binding of a template.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isCompatibleWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isCompatibleWith() determines if this ValueSpecification is compatible with the specified ParameterableElement. This ValueSpecification is compatible with ParameterableElement p if the kind of this ValueSpecification is the same as or a subtype of the kind of p. Further, if p is a TypedElement, then the type of this ValueSpecification must be conformant with the type of p.&#xA;result = (self.oclIsKindOf(p.oclType()) and (p.oclIsKindOf(TypedElement) implies &#xD;&#xA;self.type.conformsTo(p.oclAsType(TypedElement).type)))&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ParameterableElement/isCompatibleWith"/>
        <eParameters name="p" ordered="false" lowerBound="1" eType="#//ParameterableElement"/>
      </contents>
    </eAnnotations>
    <eOperations name="booleanValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query booleanValue() gives a single Boolean value when one can be computed.&#xA;result = (null)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="integerValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query integerValue() gives a single Integer value when one can be computed.&#xA;result = (null)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isComputable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all ValueSpecifications 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 at least the value of all LiteralSpecifications.&#xA;result = (false)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isNull" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isNull() returns true when it can be computed that the value is null.&#xA;result = (false)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="realValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query realValue() gives a single Real value when one can be computed.&#xA;result = (null)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query stringValue() gives a single String value when one can be computed.&#xA;result = (null)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="unlimitedValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed.&#xA;result = (null)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElementTemplateParameter"
      eSuperTypes="#//TemplateParameter">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ConnectableElementTemplateParameter exposes a ConnectableElement as a formal parameter for a template.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="parameteredElement">
        <details key="eType" value="uml::ConnectableElement"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
          lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ConnectableElement/%duplicates%/templateParameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The ConnectableElement for this ConnectableElementTemplateParameter.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TemplateParameter/parameteredElement"/>
      </contents>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DeploymentTarget" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A deployment target is the location for a deployed artifact.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="getDeployedElements" ordered="false" upperBound="-1" eType="#//PackageableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for DeploymentTarget::/deployedElement&#xA;result = (deployment.deployedArtifact->select(oclIsKindOf(Artifact))->collect(oclAsType(Artifact).manifestation)->collect(utilizedElement)->asSet())&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="deployedElement"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="deployedElement" ordered="false"
        upperBound="-1" eType="#//PackageableElement" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of elements that are manifested in an Artifact that is involved in Deployment to a DeploymentTarget.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="deployment" ordered="false"
        upperBound="-1" eType="#//Deployment" containment="true" eOpposite="#//Deployment/location">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of Deployments for a DeploymentTarget.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Deployment" eSuperTypes="#//Dependency">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A deployment is the allocation of an artifact or artifact instance to a deployment target.&#xA;A component deployment is the deployment of one or more artifacts or artifact instances to a deployment target, optionally parameterized by a deployment specification. Examples are executables and configuration files.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="configuration" ordered="false"
        upperBound="-1" eType="#//DeploymentSpecification" containment="true" eOpposite="#//DeploymentSpecification/deployment">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specification of properties that parameterize the deployment and execution of one or more Artifacts.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="deployedArtifact" ordered="false"
        upperBound="-1" eType="#//DeployedArtifact">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Artifacts that are deployed onto a Node. This association specializes the supplier association.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="location" ordered="false"
        lowerBound="1" eType="#//DeploymentTarget" eOpposite="#//DeploymentTarget/deployment">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The DeployedTarget which is the target of a Deployment.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Dependency" eSuperTypes="#//PackageableElement #//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Dependency is a Relationship that signifies that a single model Element or a set of model Elements requires other model Elements for their specification or implementation. This means that the complete semantics of the client Element(s) are either semantically or structurally dependent on the definition of the supplier Element(s).&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="client" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="supplier" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Element(s) on which the client Element(s) depend in some respect. The modeler may stipulate a sense of Dependency direction suitable for their domain.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DeploymentSpecification" eSuperTypes="#//Artifact">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A deployment specification specifies a set of properties that determine execution parameters of a component artifact that is deployed on a node. A deployment specification can be aimed at a specific type of container. An artifact that reifies or implements deployment specification properties is a deployment descriptor.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="deployment_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment.&#xA;deployment->forAll (location.oclIsKindOf(ExecutionEnvironment))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="deployed_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The deployedElements of a DeploymentTarget that are involved in a Deployment that has an associated Deployment-Specification is a kind of Component (i.e., the configured components).&#xA;deployment->forAll (location.deployedElement->forAll (oclIsKindOf(Component)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="deploymentLocation" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The location where an Artifact is deployed onto a Node. This is typically a 'directory' or 'memory address.'&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="executionLocation" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The location where a component Artifact executes. This may be a local or remote location.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="deployment" ordered="false"
        eType="#//Deployment" eOpposite="#//Deployment/configuration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The deployment with which the DeploymentSpecification is associated.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Artifact" eSuperTypes="#//Classifier #//DeployedArtifact">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message.&#xA;An artifact is the source of a deployment to a node.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this artifact."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="type" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this artifact."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter names for  the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter types for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="returnType" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The return type for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fileName" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A concrete name that is used to refer to the Artifact in a physical context. Example: file system name, universal resource locator.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="manifestation" ordered="false"
        upperBound="-1" eType="#//Manifestation" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of model elements that are manifested in the Artifact. That is, these model elements are utilized in the construction (or generation) of the artifact.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedArtifact" ordered="false"
        upperBound="-1" eType="#//Artifact" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Artifacts that are defined (nested) within the Artifact. The association is a specialization of the ownedMember association from Namespace to NamedElement.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
        eType="#//Property" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The attributes or association ends defined for the Artifact. The association is a specialization of the ownedMember association.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
        eType="#//Operation" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operations defined for the Artifact. The association is a specialization of the ownedMember association.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DeployedArtifact" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A deployed artifact is an artifact or artifact instance that has been deployed to a deployment target.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Manifestation" eSuperTypes="#//Abstraction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A manifestation is the concrete physical rendering of one or more model elements by an artifact.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="utilizedElement" ordered="false"
        lowerBound="1" eType="#//PackageableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The model element that is utilized in the manifestation in an Artifact.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Abstraction" eSuperTypes="#//Dependency">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Abstraction is a Relationship that relates two Elements or sets of Elements that represent the same concept at different levels of abstraction or from different viewpoints.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="mapping" ordered="false"
        eType="#//OpaqueExpression" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An OpaqueExpression that states the abstraction relationship between the supplier(s) and the client(s). 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.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OpaqueExpression" eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An OpaqueExpression is a ValueSpecification that specifies the computation of a collection of values either in terms of a UML Behavior or based on a textual statement in a language other than UML&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
    </eAnnotations>
    <eOperations name="language_body_size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the language attribute is not empty, then the size of the body and language arrays must be the same.&#xA;language->notEmpty() implies (_'body'->size() = language->size())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="one_return_result_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The behavior must have exactly one return result parameter.&#xA;behavior &lt;> null implies&#xD;&#xA;   behavior.ownedParameter->select(direction=ParameterDirectionKind::return)->size() = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="only_return_result_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The behavior may only have return result parameters.&#xA;behavior &lt;> null implies behavior.ownedParameter->select(direction&lt;>ParameterDirectionKind::return)->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="isIntegral" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isIntegral() tells whether an expression is intended to produce an Integer.&#xA;result = (false)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isNonNegative" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isNonNegative() tells whether an integer expression has a non-negative value.&#xA;self.isIntegral()&#xA;result = (false)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isPositive" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isPositive() tells whether an integer expression has a positive value.&#xA;result = (false)&#xA;self.isIntegral()&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getResult" ordered="false" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for OpaqueExpression::/result&#xA;result = (if behavior = null then&#xD;&#xA;&#x9;null&#xD;&#xA;else&#xD;&#xA;&#x9;behavior.ownedParameter->first()&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="result"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query value() gives an integer value for an expression intended to produce one.&#xA;self.isIntegral()&#xA;result = (0)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"
        eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the behavior of the OpaqueExpression as a UML Behavior.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" unique="false" upperBound="-1"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A textual definition of the behavior of the OpaqueExpression, possibly in multiple languages.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" upperBound="-1"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the languages used to express the textual bodies of the OpaqueExpression.  Languages are matched to body Strings by order. The interpretation of the body depends on the languages. If the languages are unspecified, they may be implicit from the expression body or the context.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        eType="#//Parameter" changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If an OpaqueExpression is specified using a UML Behavior, then this refers to the single required return Parameter of that Behavior. When the Behavior completes execution, the values on this Parameter give the result of evaluating the OpaqueExpression.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ConnectableElement #//MultiplicityElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Parameter is a specification of an argument used to pass information into or out of an invocation of a BehavioralFeature.  Parameters can be treated as ConnectableElements within Collaborations.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="in_and_out" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Only in and inout Parameters may have a delete effect. Only out, inout, and return Parameters may have a create effect.&#xA;(effect = ParameterEffectKind::delete implies (direction = ParameterDirectionKind::_'in' or direction = ParameterDirectionKind::inout))&#xD;&#xA;and&#xD;&#xA;(effect = ParameterEffectKind::create implies (direction = ParameterDirectionKind::out or direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::return))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_exception" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An input Parameter cannot be an exception.&#xA;isException implies (direction &lt;> ParameterDirectionKind::_'in' and direction &lt;> ParameterDirectionKind::inout)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="connector_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Parameter may only be associated with a Connector end within the context of a Collaboration.&#xA;end->notEmpty() implies collaboration->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="reentrant_behaviors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Reentrant behaviors cannot have stream Parameters.&#xA;(isStream and behavior &lt;> null) implies not behavior.isReentrant"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="stream_and_exception" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Parameter cannot be a stream and exception at the same time.&#xA;not (isException and isStream)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="object_effect" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Parameters typed by DataTypes cannot have an effect.&#xA;(type.oclIsKindOf(DataType)) implies (effect = null)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="isSetDefault" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setBooleanDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this parameter to the specified Boolean value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setDefault" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eParameters name="newDefault" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
    </eOperations>
    <eOperations name="setIntegerDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this parameter to the specified integer value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setNullDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this parameter to the null value."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setRealDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this parameter to the specified real value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Real">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setStringDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this parameter to the specified string value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="setUnlimitedNaturalDefaultValue" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the default value for this parameter to the specified unlimited natural value."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The new default value."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="unsetDefault" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getDefault" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Parameter::/default&#xA;result = (if self.type = String then defaultValue.stringValue() else null endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="default"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        volatile="true" transient="true" unsettable="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A String that represents a value to be used when no argument is supplied for the Parameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies a ValueSpecification that represents a value to be used when no argument is supplied for the Parameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
        lowerBound="1" eType="#//ParameterDirectionKind" defaultValueLiteral="in">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether a parameter is being sent into or out of a behavioral element.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="effect" ordered="false"
        eType="#//ParameterEffectKind" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the effect that executions of the owner of the Parameter have on objects passed in or out of the parameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isException" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Tells whether an output parameter may emit a value to the exclusion of the other outputs.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStream" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Tells whether an input parameter may accept values while its behavior is executing, or whether an output parameter may post values while the behavior is executing.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"
        eType="#//Operation" changeable="false" volatile="true" transient="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operation owning this parameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSet" ordered="false"
        upperBound="-1" eType="#//ParameterSet" eOpposite="#//ParameterSet/parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterSets containing the parameter. See ParameterSet.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="ParameterDirectionKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ParameterDirectionKind is an Enumeration that defines literals used to specify direction of parameters.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="in">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that Parameter values are passed in by the caller."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="inout" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that Parameter values are passed in by the caller and (possibly different) values passed out to the caller."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="out" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that Parameter values are passed out to the caller."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="return" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that Parameter values are passed as return values back to the caller."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="ParameterEffectKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ParameterEffectKind is an Enumeration that indicates the effect of a Behavior on values passed in or out of its parameters.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="create">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the behavior creates values."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="read" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates objects that are values of the parameter have values of their properties, or links in which they participate, or their classifiers retrieved during executions of the behavior."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="update" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates objects that are values of the parameter have values of their properties, or links in which they participate, or their classification changed during executions of the behavior."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="delete" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates objects that are values of the parameter do not exist after executions of the behavior are finished."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//BehavioralFeature #//ParameterableElement #//TemplateableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Operation is a BehavioralFeature of a Classifier that specifies the name, type, parameters, and constraints for invoking an associated Behavior. An Operation may invoke both the execution of method behaviors as well as other behavioral responses. Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="templateParameter">
        <details key="eType" value="uml::OperationTemplateParameter"/>
      </eAnnotations>
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isConsistentWith() specifies, for any two Operations in a context in which redefinition is possible, whether redefinition would be consistent. A redefining operation is consistent with a redefined operation if&#xD;&#xA;it has the same number of owned parameters, and for each parameter the following holds:&#xD;&#xA;&#xD;&#xA;- Direction, ordering and uniqueness are the same.&#xD;&#xA;- The corresponding types are covariant, contravariant or invariant.&#xD;&#xA;- The multiplicities are compatible, depending on the parameter direction.&#xA;result = (redefiningElement.oclIsKindOf(Operation) and&#xD;&#xA;let op : Operation = redefiningElement.oclAsType(Operation) in&#xD;&#xA;&#x9;self.ownedParameter->size() = op.ownedParameter->size() and&#xD;&#xA;&#x9;Sequence{1..self.ownedParameter->size()}->&#xD;&#xA;&#x9;&#x9;forAll(i |  &#xD;&#xA;&#x9;&#x9;  let redefiningParam : Parameter = op.ownedParameter->at(i),&#xD;&#xA;               redefinedParam : Parameter = self.ownedParameter->at(i) in&#xD;&#xA;                 (redefiningParam.isUnique = redefinedParam.isUnique) and&#xD;&#xA;                 (redefiningParam.isOrdered = redefinedParam. isOrdered) and&#xD;&#xA;                 (redefiningParam.direction = redefinedParam.direction) and&#xD;&#xA;                 (redefiningParam.type.conformsTo(redefinedParam.type) or&#xD;&#xA;                     redefinedParam.type.conformsTo(redefiningParam.type)) and&#xD;&#xA;                 (redefiningParam.direction = ParameterDirectionKind::inout implies&#xD;&#xA;                         (redefinedParam.compatibleWith(redefiningParam) and&#xD;&#xA;                         redefiningParam.compatibleWith(redefinedParam))) and&#xD;&#xA;                 (redefiningParam.direction = ParameterDirectionKind::_'in' implies&#xD;&#xA;                         redefinedParam.compatibleWith(redefiningParam)) and&#xD;&#xA;                 ((redefiningParam.direction = ParameterDirectionKind::out or&#xD;&#xA;                      redefiningParam.direction = ParameterDirectionKind::return) implies&#xD;&#xA;                         redefiningParam.compatibleWith(redefinedParam))&#xD;&#xA;&#x9;&#x9;))&#xA;redefiningElement.isRedefinitionContextValid(self)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="raisedException" ordered="false"
          upperBound="-1" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Types representing exceptions that may be raised during an invocation of this operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//BehavioralFeature/raisedException"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
          eType="#//TemplateParameter" eOpposite="#//OperationTemplateParameter/%duplicates%/parameteredElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The OperationTemplateParameter that exposes this element as a formal parameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
          eType="#//Parameter" containment="true" eOpposite="#//Parameter/operation">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameters owned by this Operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//BehavioralFeature/ownedParameter"/>
      </contents>
    </eAnnotations>
    <eOperations name="at_most_one_return" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return.'&#xA;self.ownedParameter->select(direction = ParameterDirectionKind::return)->size() &lt;= 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="only_body_for_query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A bodyCondition can only be specified for a query Operation.&#xA;bodyCondition &lt;> null implies isQuery"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getReturnResult" ordered="false" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the (only) return result parameter for this operation."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setIsOrdered" ordered="false" lowerBound="1">
      <eParameters name="newIsOrdered" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
    </eOperations>
    <eOperations name="setIsUnique" ordered="false" lowerBound="1">
      <eParameters name="newIsUnique" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
    </eOperations>
    <eOperations name="setLower" ordered="false" lowerBound="1">
      <eParameters name="newLower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="setType" ordered="false" lowerBound="1">
      <eParameters name="newType" ordered="false" lowerBound="1" eType="#//Type"/>
    </eOperations>
    <eOperations name="setUpper" ordered="false" lowerBound="1">
      <eParameters name="newUpper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural"/>
    </eOperations>
    <eOperations name="isOrdered" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this operation has a return parameter, isOrdered equals the value of isOrdered for that parameter. Otherwise isOrdered is false.&#xA;result = (if returnResult()->notEmpty() then returnResult()-> exists(isOrdered) else false endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isUnique" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.&#xA;result = (if returnResult()->notEmpty() then returnResult()->exists(isUnique) else true endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getLower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower has no value.&#xA;result = (if returnResult()->notEmpty() then returnResult()->any(true).lower else null endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="lower"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="returnResult" ordered="false" upperBound="-1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set&#xA;result = (ownedParameter->select (direction = ParameterDirectionKind::return)->asSet())&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getType" ordered="false" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this operation has a return parameter, type equals the value of type for that parameter. Otherwise type has no value.&#xA;result = (if returnResult()->notEmpty() then returnResult()->any(true).type else null endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="type"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getUpper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper has no value.&#xA;result = (if returnResult()->notEmpty() then returnResult()->any(true).upper else null endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="upper"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyCondition" ordered="false"
        eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional Constraint on the result values of an invocation of this Operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="class" ordered="false"
        eType="#//Class" eOpposite="#//Class/ownedOperation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Class that owns this operation, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
        eType="#//DataType" eOpposite="#//DataType/ownedOperation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The DataType that owns this Operation, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
        eType="#//Interface" eOpposite="#//Interface/ownedOperation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interface that owns this Operation, if any.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the return parameter is ordered or not, if present.  This information is derived from the return result for this Operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isQuery" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false).&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnique" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the return parameter is unique or not, if present. This information is derived from the return result for this Operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"
        changeable="false" volatile="true" transient="true" defaultValueLiteral="1"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the lower multiplicity of the return parameter, if present. This information is derived from the return result for this Operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="postcondition" ordered="false"
        upperBound="-1" eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional set of Constraints specifying the state of the system when the Operation is completed.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="precondition" ordered="false"
        upperBound="-1" eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional set of Constraints on the state of the system when the Operation is invoked.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedOperation" ordered="false"
        upperBound="-1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operations that are redefined by this Operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Type"
        changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The return type of the operation, if present. This information is derived from the return result for this Operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural"
        changeable="false" volatile="true" transient="true" defaultValueLiteral="1"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The upper multiplicity of the return parameter, if present. This information is derived from the return result for this Operation.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BehavioralFeature" abstract="true" eSuperTypes="#//Namespace #//Feature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A BehavioralFeature is a feature of a Classifier that specifies an aspect of the behavior of its instances.  A BehavioralFeature is implemented (realized) by a Behavior. A BehavioralFeature specifies that a Classifier will respond to a designated request by invoking its implementing method.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isDistinguishableFrom" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they must have different signatures.&#xA;result = ((n.oclIsKindOf(BehavioralFeature) and ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()) implies&#xA;  Set{self}->including(n.oclAsType(BehavioralFeature))->isUnique(ownedParameter->collect(p|&#xA;  Tuple { name=p.name, type=p.type,effect=p.effect,direction=p.direction,isException=p.isException,&#xA;              isStream=p.isStream,isOrdered=p.isOrdered,isUnique=p.isUnique,lower=p.lower, upper=p.upper }))&#xA;  )&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//NamedElement/isDistinguishableFrom"/>
        <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
        <eParameters name="ns" ordered="false" lowerBound="1" eType="#//Namespace"/>
      </contents>
    </eAnnotations>
    <eOperations name="abstract_no_method" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="When isAbstract is true there are no methods.&#xA;isAbstract implies method->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="createReturnResult" ordered="false" lowerBound="1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a return result parameter with the specified name and type."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new return result, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="type" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type for the new return result, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="inputParameters" upperBound="-1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ownedParameters with direction in and inout.&#xA;result = (ownedParameter->select(direction=ParameterDirectionKind::_'in' or direction=ParameterDirectionKind::inout))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="outputParameters" upperBound="-1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ownedParameters with direction out, inout, or return.&#xA;result = (ownedParameter->select(direction=ParameterDirectionKind::out or direction=ParameterDirectionKind::inout or direction=ParameterDirectionKind::return))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="concurrency" ordered="false"
        lowerBound="1" eType="#//CallConcurrencyKind" defaultValueLiteral="sequential">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the semantics of concurrent calls to the same passive instance (i.e., an instance originating from a Class with isActive being false). Active instances control access to their own BehavioralFeatures.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, then the BehavioralFeature does not have an implementation, and one must be supplied by a more specific Classifier. If false, the BehavioralFeature must have an implementation in the Classifier or one must be inherited.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="method" ordered="false"
        upperBound="-1" eType="#//Behavior" eOpposite="#//Behavior/specification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Behavior that implements the BehavioralFeature. There may be at most one Behavior for a particular pairing of a Classifier (as owner of the Behavior) and a BehavioralFeature (as specification of the Behavior).&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
        eType="#//Parameter" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of formal Parameters of this BehavioralFeature.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameterSet" ordered="false"
        upperBound="-1" eType="#//ParameterSet" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterSets owned by this BehavioralFeature.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="raisedException" ordered="false"
        upperBound="-1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Types representing exceptions that may be raised during an invocation of this BehavioralFeature.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Feature" abstract="true" eSuperTypes="#//RedefinableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Feature declares a behavioral or structural characteristic of Classifiers.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="featuringClassifier" ordered="false"
        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//Classifier/feature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifiers that have this Feature as a feature.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether this Feature characterizes individual instances classified by the Classifier (false) or the Classifier itself (true).&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RedefinableElement" abstract="true"
      eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A RedefinableElement 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.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="redefinition_consistent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A redefining element must be consistent with each redefined element.&#xA;redefinedElement->forAll(re | re.isConsistentWith(self))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="non_leaf_redefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A RedefinableElement can only redefine non-leaf RedefinableElements.&#xA;redefinedElement->forAll(re | not re.isLeaf)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="redefinition_context_valid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element.&#xA;redefinedElement->forAll(re | self.isRedefinitionContextValid(re))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="isConsistentWith" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent. By default, this is false; this operation must be overridden for subclasses of RedefinableElement to define the consistency conditions.&#xA;result = (false)&#xA;redefiningElement.isRedefinitionContextValid(self)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
    </eOperations>
    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element.&#xA;result = (redefinitionContext->exists(c | c.allParents()->includesAll(redefinedElement.redefinitionContext)))&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="redefinedElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLeaf" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"
        upperBound="-1" eType="#//RedefinableElement" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The RedefinableElement that is being redefined by this element.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The contexts that this element may be redefined from.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="CallConcurrencyKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="CallConcurrencyKind is an Enumeration used to specify the semantics of concurrent calls to a BehavioralFeature.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="sequential">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="No concurrency management mechanism is associated with the BehavioralFeature and, therefore, concurrency conflicts may occur. Instances that invoke a BehavioralFeature need to coordinate so that only one invocation to a target on any BehavioralFeature occurs at once."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="guarded" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Multiple invocations of a BehavioralFeature that overlap in time may occur to one instance, but only one is allowed to commence. The others are blocked until the performance of the currently executing BehavioralFeature is complete. It is the responsibility of the system designer to ensure that deadlocks do not occur due to simultaneous blocking."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="concurrent" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Multiple invocations of a BehavioralFeature that overlap in time may occur to one instance and all of them may proceed concurrently."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ParameterSet" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ParameterSet designates alternative sets of inputs or outputs that a Behavior may use.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="same_parameterized_entity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Parameters in a ParameterSet must all be inputs or all be outputs of the same parameterized entity, and the ParameterSet is owned by that entity.&#xA;parameter->forAll(p1, p2 | self.owner = p1.owner and self.owner = p2.owner and p1.direction = p2.direction)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="input" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a parameterized entity has input Parameters that are in a ParameterSet, then any inputs that are not in a ParameterSet must be streaming. Same for output Parameters.&#xA;((parameter->exists(direction = ParameterDirectionKind::_'in')) implies &#xD;&#xA;    behavioralFeature.ownedParameter->select(p | p.direction = ParameterDirectionKind::_'in' and p.parameterSet->isEmpty())->forAll(isStream))&#xD;&#xA;    and&#xD;&#xA;((parameter->exists(direction = ParameterDirectionKind::out)) implies &#xD;&#xA;    behavioralFeature.ownedParameter->select(p | p.direction = ParameterDirectionKind::out and p.parameterSet->isEmpty())->forAll(isStream))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="two_parameter_sets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Two ParameterSets cannot have exactly the same set of Parameters.&#xA;parameter->forAll(parameterSet->forAll(s1, s2 | s1->size() = s2->size() implies s1.parameter->exists(p | not s2.parameter->includes(p))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" ordered="false"
        upperBound="-1" eType="#//Constraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A constraint that should be satisfied for the owner of the Parameters in an input ParameterSet to start execution using the values provided for those Parameters, or the owner of the Parameters in an output ParameterSet to end execution providing the values for those Parameters, if all preconditions and conditions on input ParameterSets were satisfied.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Parameter" eOpposite="#//Parameter/parameterSet">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Parameters in the ParameterSet.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//PackageableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an Element or set of Elements.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="boolean_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ValueSpecification for a Constraint must evaluate to a Boolean value."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Evaluating the ValueSpecification for a Constraint must not have side effects."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_apply_to_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Constraint cannot be applied to itself.&#xA;not constrainedElement->includes(self)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" upperBound="-1"
        eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of Elements referenced by this Constraint.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
        eType="#//Namespace" eOpposite="#//Namespace/ownedRule">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Namespace that owns the Constraint.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
        lowerBound="1" eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A condition that must be true when evaluated in order for the Constraint to be satisfied.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataType" eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DataType is a type whose instances are identified only by their value.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this data type."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="type" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this data type."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter names for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter types for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="returnType" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The return type for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
        eType="#//Property" containment="true" eOpposite="#//Property/datatype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The attributes owned by the DataType.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
        eType="#//Operation" containment="true" eOpposite="#//Operation/datatype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operations owned by the DataType.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Interfaces declare coherent services that are implemented by BehavioredClassifiers that implement the Interfaces via InterfaceRealizations.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The visibility of all Features owned by an Interface must be public.&#xA;feature->forAll(visibility = VisibilityKind::public)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this interface."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="type" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this interface."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter names for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter types for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="returnType" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The return type for the new operation, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifier" upperBound="-1"
        eType="#//Classifier" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References all the Classifiers that are defined (nested) within the Interface.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
        eType="#//Property" containment="true" eOpposite="#//Property/interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The attributes (i.e., the Properties) owned by the Interface.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedReception" ordered="false"
        upperBound="-1" eType="#//Reception" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Receptions that objects providing this Interface are willing to accept.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
        eType="#//ProtocolStateMachine" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References a ProtocolStateMachine specifying the legal sequences of the invocation of the BehavioralFeatures described in the Interface.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedInterface" ordered="false"
        upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References all the Interfaces redefined by this Interface.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/redefinedClassifier"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
        eType="#//Operation" containment="true" eOpposite="#//Operation/interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operations owned by the Interface.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Reception" eSuperTypes="#//BehavioralFeature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Reception is a declaration stating that a Classifier is prepared to react to the receipt of a Signal.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="same_name_as_signal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Reception has the same name as its signal&#xA;name = signal.name"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_structure_as_signal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Reception's parameters match the ownedAttributes of its signal by name, type, and multiplicity&#xA;signal.ownedAttribute->size() = ownedParameter->size() and&#xD;&#xA;Sequence{1..signal.ownedAttribute->size()}->forAll( i | &#xD;&#xA;    ownedParameter->at(i).direction = ParameterDirectionKind::_'in' and &#xD;&#xA;    ownedParameter->at(i).name = signal.ownedAttribute->at(i).name and&#xD;&#xA;    ownedParameter->at(i).type = signal.ownedAttribute->at(i).type and&#xD;&#xA;    ownedParameter->at(i).lowerBound() = signal.ownedAttribute->at(i).lowerBound() and&#xD;&#xA;    ownedParameter->at(i).upperBound() = signal.ownedAttribute->at(i).upperBound()&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
        lowerBound="1" eType="#//Signal">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Signal that this Reception handles.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Signal is a specification of a kind of communication between objects in which a reaction is asynchronously triggered in the receiver without a reply.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this signal."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="type" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
        eType="#//Property" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The attributes owned by the Signal.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ProtocolStateMachine" eSuperTypes="#//StateMachine">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ProtocolStateMachine is always defined in the context of a Classifier. It specifies which BehavioralFeatures of the Classifier can be called in which State and under which conditions, thus specifying the allowed invocation sequences on the Classifier's BehavioralFeatures. A ProtocolStateMachine specifies the possible and permitted Transitions on the instances of its context Classifier, together with the BehavioralFeatures that carry the Transitions. In this manner, an instance lifecycle can be specified for a Classifier, by defining the order in which the BehavioralFeatures can be activated and the States through which an instance progresses during its existence.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A ProtocolStateMachine must only have a Classifier context, not a BehavioralFeature context.&#xA;_'context' &lt;> null and specification = null"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//StateMachine/classifier_context"/>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </contents>
    </eAnnotations>
    <eOperations name="deep_or_shallow_history" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ProtocolStateMachines cannot have deep or shallow history Pseudostates.&#xA;region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Pseudostate) implies&#xA;((v.oclAsType(Pseudostate).kind &lt;>  PseudostateKind::deepHistory) and (v.oclAsType(Pseudostate).kind &lt;> PseudostateKind::shallowHistory))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="entry_exit_do" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The states of a ProtocolStateMachine cannot have entry, exit, or do activity Behaviors.&#xA;region->forAll(r | r.subvertex->forAll(v | v.oclIsKindOf(State) implies&#xA;(v.oclAsType(State).entry->isEmpty() and v.oclAsType(State).exit->isEmpty() and v.oclAsType(State).doActivity->isEmpty())))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="protocol_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All Transitions of a ProtocolStateMachine must be ProtocolTransitions.&#xA;region->forAll(r | r.transition->forAll(t | t.oclIsTypeOf(ProtocolTransition)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="conformance" ordered="false"
        upperBound="-1" eType="#//ProtocolConformance" containment="true" eOpposite="#//ProtocolConformance/specificMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Conformance between ProtocolStateMachine&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//Behavior">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="StateMachines can be used to express event-driven behaviors of parts of a system. Behavior is modeled as a traversal of a graph of Vertices interconnected by one or more joined Transition arcs that are triggered by the dispatching of successive Event occurrences. During this traversal, the StateMachine may execute a sequence of Behaviors associated with various elements of the StateMachine.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isConsistentWith() specifies that a redefining StateMachine is consistent with a redefined StateMachine provided that the redefining StateMachine is an extension of the redefined StateMachine : Regions are inherited and Regions can be added, inherited Regions can be redefined. In case of multiple redefining StateMachine, extension implies that the redefining StateMachine gets orthogonal Regions for each of the redefined StateMachine.&#xA;result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;&#xA;true)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isRedefinitionContextValid" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition context of a StateMachine is properly related to the redefinition contexts of the specified StateMachine to allow this element to redefine the other. The context Classifier of a redefining StateMachine must redefine the context Classifier of the redefined StateMachine.&#xA;result = (if redefinedElement.oclIsKindOf(StateMachine) then&#xD;&#xA;  let redefinedStateMachine : StateMachine = redefinedElement.oclAsType(StateMachine) in&#xD;&#xA;    self._'context'().oclAsType(BehavioredClassifier).redefinedClassifier->&#xD;&#xA;      includes(redefinedStateMachine._'context'())&#xD;&#xA;else&#xD;&#xA;  false&#xD;&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
        <eParameters name="redefinedElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
    </eAnnotations>
    <eOperations name="connection_points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The connection points of a StateMachine are Pseudostates of kind entry point or exit point.&#xA;connectionPoint->forAll (kind = PseudostateKind::entryPoint or kind = PseudostateKind::exitPoint)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier context of a StateMachine cannot be an Interface.&#xA;_'context' &lt;> null implies not _'context'.oclIsKindOf(Interface)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="method" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A StateMachine as the method for a BehavioralFeature cannot have entry/exit connection points.&#xA;specification &lt;> null implies connectionPoint->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The context Classifier of the method StateMachine of a BehavioralFeature must be the Classifier that owns the BehavioralFeature.&#xA;specification &lt;> null implies ( _'context' &lt;> null and specification.featuringClassifier->exists(c | c = _'context'))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="LCA" ordered="false" lowerBound="1" eType="#//Region">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operation LCA(s1,s2) returns the Region that is the least common ancestor of Vertices s1 and s2, based on the StateMachine containment hierarchy.&#xA;result = (if ancestor(s1, s2) then &#xD;&#xA;    s2.container&#xD;&#xA;else&#xD;&#xA;&#x9;if ancestor(s2, s1) then&#xD;&#xA;&#x9;    s1.container &#xD;&#xA;&#x9;else &#xD;&#xA;&#x9;    LCA(s1.container.state, s2.container.state)&#xD;&#xA;&#x9;endif&#xD;&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//Vertex"/>
      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//Vertex"/>
    </eOperations>
    <eOperations name="ancestor" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query ancestor(s1, s2) checks whether Vertex s2 is an ancestor of Vertex s1.&#xA;result = (if (s2 = s1) then &#xD;&#xA;&#x9;true &#xD;&#xA;else &#xD;&#xA;&#x9;if s1.container.stateMachine->notEmpty() then &#xD;&#xA;&#x9;    true&#xD;&#xA;&#x9;else &#xD;&#xA;&#x9;    if s2.container.stateMachine->notEmpty() then &#xD;&#xA;&#x9;        false&#xD;&#xA;&#x9;    else&#xD;&#xA;&#x9;        ancestor(s1, s2.container.state)&#xD;&#xA;&#x9;     endif&#xD;&#xA;&#x9; endif&#xD;&#xA;endif  )&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//Vertex"/>
      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//Vertex"/>
    </eOperations>
    <eOperations name="LCAState" ordered="false" lowerBound="1" eType="#//State">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This utility funciton is like the LCA, except that it returns the nearest composite State that contains both input Vertices.&#xA;result = (if v2.oclIsTypeOf(State) and ancestor(v1, v2) then&#xD;&#xA;&#x9;v2.oclAsType(State)&#xD;&#xA;else if v1.oclIsTypeOf(State) and ancestor(v2, v1) then&#xD;&#xA;&#x9;v1.oclAsType(State)&#xD;&#xA;else if (v1.container.state->isEmpty() or v2.container.state->isEmpty()) then &#xD;&#xA;&#x9;null.oclAsType(State)&#xD;&#xA;else LCAState(v1.container.state, v2.container.state)&#xD;&#xA;endif endif endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="v1" ordered="false" lowerBound="1" eType="#//Vertex"/>
      <eParameters name="v2" ordered="false" lowerBound="1" eType="#//Vertex"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/stateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The connection points defined for this StateMachine. They represent the interface of the StateMachine when used as part of submachine State&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="submachineState" ordered="false"
        upperBound="-1" eType="#//State" eOpposite="#//State/submachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the submachine(s) in case of a submachine State. Multiple machines are referenced in case of a concurrent State.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/stateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Regions owned directly by the StateMachine.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedStateMachine" ordered="false"
        upperBound="-1" eType="#//StateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachines of which this is an extension.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//Behavior/redefinedBehavior"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//Vertex">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Pseudostate is an abstraction that encompasses different types of transient Vertices in the StateMachine graph. A StateMachine instance never comes to rest in a Pseudostate, instead, it will exit and enter the Pseudostate within a single run-to-completion step.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="transitions_outgoing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.&#xA;(kind = PseudostateKind::fork) implies&#xD;&#xA;&#xD;&#xA;-- for any pair of outgoing transitions there exists an orthogonal state which contains the targets of these transitions &#xD;&#xA;-- such that these targets belong to different regions of that orthogonal state &#xD;&#xA;&#xD;&#xA;outgoing->forAll(t1:Transition, t2:Transition | let contState:State = containingStateMachine().LCAState(t1.target, t2.target) in&#xD;&#xA;&#x9;((contState &lt;> null) and (contState.region&#xD;&#xA;&#x9;&#x9;->exists(r1:Region, r2: Region | (r1 &lt;> r2) and t1.target.isContainedInRegion(r1) and t2.target.isContainedInRegion(r2)))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="choice_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In a complete statemachine, a choice Vertex must have at least one incoming and one outgoing Transition.&#xA;(kind = PseudostateKind::choice) implies (incoming->size() >= 1 and outgoing->size() >= 1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="outgoing_from_initial" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The outgoing Transition from an initial vertex may have a behavior, but not a trigger or a guard.&#xA;(kind = PseudostateKind::initial) implies (outgoing.guard = null and outgoing.trigger->isEmpty())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="join_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In a complete StateMachine, a join Vertex must have at least two incoming Transitions and exactly one outgoing Transition.&#xA;(kind = PseudostateKind::join) implies (outgoing->size() = 1 and incoming->size() >= 2)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="junction_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In a complete StateMachine, a junction Vertex must have at least one incoming and one outgoing Transition.&#xA;(kind = PseudostateKind::junction) implies (incoming->size() >= 1 and outgoing->size() >= 1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="history_vertices" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="History Vertices can have at most one outgoing Transition.&#xA;((kind = PseudostateKind::deepHistory) or (kind = PseudostateKind::shallowHistory)) implies (outgoing->size() &lt;= 1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An initial Vertex can have at most one outgoing Transition.&#xA;(kind = PseudostateKind::initial) implies (outgoing->size() &lt;= 1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="fork_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In a complete StateMachine, a fork Vertex must have at least two outgoing Transitions and exactly one incoming Transition.&#xA;(kind = PseudostateKind::fork) implies (incoming->size() = 1 and outgoing->size() >= 2)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="transitions_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All Transitions incoming a join Vertex must originate in different Regions of an orthogonal State.&#xA;(kind = PseudostateKind::join) implies&#xA;&#xA;-- for any pair of incoming transitions there exists an orthogonal state which contains the source vetices of these transitions &#xA;-- such that these source vertices belong to different regions of that orthogonal state &#xA;&#xA;incoming->forAll(t1:Transition, t2:Transition | let contState:State = containingStateMachine().LCAState(t1.source, t2.source) in&#xA;&#x9;((contState &lt;> null) and (contState.region&#xA;&#x9;&#x9;->exists(r1:Region, r2: Region | (r1 &lt;> r2) and t1.source.isContainedInRegion(r1) and t2.source.isContainedInRegion(r2)))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
        eType="#//State" eOpposite="#//State/connectionPoint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State that owns this Pseudostate and in which it appears.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
        eType="#//PseudostateKind" defaultValueLiteral="initial">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
        eType="#//StateMachine" eOpposite="#//StateMachine/connectionPoint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Vertex is an abstraction of a node in a StateMachine graph. It can be the source or destination of any number of Transitions.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operation containingStateMachine() returns the StateMachine in which this Vertex is defined.&#xA;result = (if container &lt;> null&#xA;then&#xA;-- the container is a region&#xA;   container.containingStateMachine()&#xA;else &#xA;   if (self.oclIsKindOf(Pseudostate)) and ((self.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint) or (self.oclAsType(Pseudostate).kind = PseudostateKind::exitPoint)) then&#xA;      self.oclAsType(Pseudostate).stateMachine&#xA;   else &#xA;      if (self.oclIsKindOf(ConnectionPointReference)) then&#xA;          self.oclAsType(ConnectionPointReference).state.containingStateMachine() -- no other valid cases possible&#xA;      else &#xA;          null&#xA;      endif&#xA;   endif&#xA;endif&#xA;)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getIncomings" ordered="false" upperBound="-1" eType="#//Transition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Vertex::/incoming.&#xA;result = (Transition.allInstances()->select(target=self))&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="incoming"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getOutgoings" ordered="false" upperBound="-1" eType="#//Transition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Vertex::/outgoing&#xA;result = (Transition.allInstances()->select(source=self))&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="outgoing"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isContainedInState" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This utility operation returns true if the Vertex is contained in the State s (input argument).&#xA;result = (if not s.isComposite() or container->isEmpty() then&#xD;&#xA;&#x9;false&#xD;&#xA;else&#xD;&#xA;&#x9;if container.state = s then &#xD;&#xA;&#x9;&#x9;true&#xD;&#xA;&#x9;else&#xD;&#xA;&#x9;&#x9;container.state.isContainedInState(s)&#xD;&#xA;&#x9;endif&#xD;&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="s" ordered="false" lowerBound="1" eType="#//State"/>
    </eOperations>
    <eOperations name="isContainedInRegion" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This utility query returns true if the Vertex is contained in the Region r (input argument).&#xA;result = (if (container = r) then&#xD;&#xA;&#x9;true&#xD;&#xA;else&#xD;&#xA;&#x9;if (r.state->isEmpty()) then&#xD;&#xA;&#x9;&#x9;false&#xD;&#xA;&#x9;else&#xD;&#xA;&#x9;&#x9;container.state.isContainedInRegion(r)&#xD;&#xA;&#x9;endif&#xD;&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="r" ordered="false" lowerBound="1" eType="#//Region"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
        eType="#//Region" eOpposite="#//Region/subvertex">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Region that contains this Vertex.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"
        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Transitions entering this Vertex.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"
        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Transitions departing from this Vertex.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//Namespace #//RedefinableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Region is a top-level part of a StateMachine or a composite State, that serves as a container for the Vertices and Transitions of the StateMachine. A StateMachine or composite State may contain multiple Regions representing behaviors that may occur in parallel.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="redefinitionContext">
        <details key="lowerBound" value="1"/>
        <details key="upperBound" value="1"/>
      </eAnnotations>
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isConsistentWith() specifies that a redefining Region is consistent with a redefined Region provided that the redefining Region is an extension of the Redefined region, i.e., its Vertices and Transitions conform to one of the following: (1) they are equal to corresponding elements of the redefined Region or, (2) they consistently redefine a State or Transition of the redefined region, or (3) they add new States or Transitions.&#xA;result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;&#xA;true)&#xA;redefiningElement.isRedefinitionContextValid(self)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isRedefinitionContextValid" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of a Region are properly related to the redefinition contexts of the specified Region to allow this element to redefine the other. The containing StateMachine or State of a redefining Region must Redefine the containing StateMachine or State of the redefined Region.&#xA;result = (if redefinedElement.oclIsKindOf(Region) then&#xD;&#xA;  let redefinedRegion : Region = redefinedElement.oclAsType(Region) in&#xD;&#xA;    if stateMachine->isEmpty() then&#xD;&#xA;    -- the Region is owned by a State&#xD;&#xA;      (state.redefinedState->notEmpty() and state.redefinedState.region->includes(redefinedRegion))&#xD;&#xA;    else -- the region is owned by a StateMachine&#xD;&#xA;      (stateMachine.extendedStateMachine->notEmpty() and&#xD;&#xA;        stateMachine.extendedStateMachine->exists(sm : StateMachine |&#xD;&#xA;          sm.region->includes(redefinedRegion)))&#xD;&#xA;    endif&#xD;&#xA;else&#xD;&#xA;  false&#xD;&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
        <eParameters name="redefinedElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
          transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="References the Classifier in which context this element may be redefined.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
      </contents>
    </eAnnotations>
    <eOperations name="deep_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Region can have at most one deep history Vertex.&#xA;self.subvertex->select (oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->&#xA;   select(kind = PseudostateKind::deepHistory)->size() &lt;= 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="shallow_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Region can have at most one shallow history Vertex.&#xA;subvertex->select(oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->&#xA;  select(kind = PseudostateKind::shallowHistory)->size() &lt;= 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.&#xA;(stateMachine &lt;> null implies state = null) and (state &lt;> null implies stateMachine = null)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Region can have at most one initial Vertex.&#xA;self.subvertex->select (oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->&#xA;  select(kind = PseudostateKind::initial)->size() &lt;= 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="belongsToPSM" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operation belongsToPSM () checks if the Region belongs to a ProtocolStateMachine.&#xA;result = (if  stateMachine &lt;> null &#xA;then&#xA;  stateMachine.oclIsKindOf(ProtocolStateMachine)&#xA;else &#xA;  state &lt;> null  implies  state.container.belongsToPSM()&#xA;endif )&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operation containingStateMachine() returns the StateMachine in which this Region is defined.&#xA;result = (if stateMachine = null &#xA;then&#xA;  state.containingStateMachine()&#xA;else&#xA;  stateMachine&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The redefinition context of a Region is the nearest containing StateMachine.&#xA;result = (let sm : StateMachine = containingStateMachine() in&#xA;if sm._'context' = null or sm.general->notEmpty() then&#xA;  sm&#xA;else&#xA;  sm._'context'&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedRegion" ordered="false"
        eType="#//Region">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The region of which this region is an extension.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
        eType="#//State" eOpposite="#//State/region">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
        eType="#//StateMachine" eOpposite="#//StateMachine/region">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="transition" ordered="false"
        upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/container">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of Transitions owned by the Region.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subvertex" ordered="false"
        upperBound="-1" eType="#//Vertex" containment="true" eOpposite="#//Vertex/container">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of Vertices that are owned by this Region.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//Namespace #//RedefinableElement #//Vertex">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A State models a situation during which some (usually implicit) invariant condition holds.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="redefinitionContext">
        <details key="lowerBound" value="1"/>
        <details key="upperBound" value="1"/>
      </eAnnotations>
      <contents xsi:type="ecore:EOperation" name="containingStateMachine" ordered="false"
          lowerBound="1" eType="#//StateMachine">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query containingStateMachine() returns the StateMachine that contains the State either directly or transitively.&#xA;result = (container.containingStateMachine())&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Vertex/containingStateMachine"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isConsistentWith() specifies that a redefining State is consistent with a redefined State provided that the redefining State is an extension of the redefined State A simple State can be redefined (extended) to become a composite State (by adding one or more Regions) 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' Behaviors.&#xA;result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;&#xA;true)&#xA;redefiningElement.isRedefinitionContextValid(self)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isRedefinitionContextValid" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of a State are properly related to the redefinition contexts of the specified State to allow this element to redefine the other. This means that the containing Region of a redefining State must redefine the containing Region of the redefined State.&#xA;result = (if redefinedElement.oclIsKindOf(State) then&#xD;&#xA;  let redefinedState : State = redefinedElement.oclAsType(State) in&#xD;&#xA;    container.redefinedElement.oclAsType(Region)->exists(r:Region |&#xD;&#xA;      r.subvertex->includes(redefinedState))&#xD;&#xA;else&#xD;&#xA;  false&#xD;&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
        <eParameters name="redefinedElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
          transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="References the Classifier in which context this element may be redefined.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
      </contents>
    </eAnnotations>
    <eOperations name="entry_or_exit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Only entry or exit Pseudostates can serve as connection points.&#xA;connectionPoint->forAll(kind = PseudostateKind::entryPoint or kind = PseudostateKind::exitPoint)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="submachine_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Only submachine States can have connection point references.&#xA;isSubmachineState implies connection->notEmpty( )"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="composite_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Only composite States can have entry or exit Pseudostates defined.&#xA;connectionPoint->notEmpty() implies isComposite"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="destinations_or_sources_of_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The connection point references used as destinations/sources of Transitions associated with a submachine State must be defined as entry/exit points in the submachine StateMachine.&#xA;self.isSubmachineState implies (self.connection->forAll (cp |&#xD;&#xA;  cp.entry->forAll (ps | ps.stateMachine = self.submachine) and&#xD;&#xA;  cp.exit->forAll (ps | ps.stateMachine = self.submachine)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="submachine_or_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A State is not allowed to have both a submachine and Regions.&#xA;isComposite implies not isSubmachineState"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="isComposite" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A composite State is a State with at least one Region.&#xA;result = (region->notEmpty())&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isOrthogonal" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An orthogonal State is a composite state with at least 2 regions.&#xA;result = (region->size () > 1)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isSimple" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A simple State is a State without any regions.&#xA;result = ((region->isEmpty()) and not isSubmachineState())&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isSubmachineState" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Only submachine State references another StateMachine.&#xA;result = (submachine &lt;> null)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The redefinition context of a State is the nearest containing StateMachine.&#xA;result = (let sm : StateMachine = containingStateMachine() in&#xA;if sm._'context' = null or sm.general->notEmpty() then&#xA;  sm&#xA;else&#xA;  sm._'context'&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="connection" ordered="false"
        upperBound="-1" eType="#//ConnectionPointReference" containment="true" eOpposite="#//ConnectionPointReference/state">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entry and exit connection points used in conjunction with this (submachine) State, i.e., as targets and sources, respectively, in the Region with the submachine State. A connection point reference references the corresponding definition of a connection point Pseudostate in the StateMachine referenced by the submachine State.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/state">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entry and exit Pseudostates of a composite State. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite States.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="deferrableTrigger" ordered="false"
        upperBound="-1" eType="#//Trigger" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of Triggers that are candidates to be retained by the StateMachine if they trigger no Transitions out of the State (not consumed). A deferred Trigger is retained until the StateMachine reaches a State configuration where it is no longer deferred.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="doActivity" ordered="false"
        eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional Behavior that is executed while being in the State. The execution starts when this State is entered, and ceases either by itself when done, or when the State is exited, whichever comes first.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
        eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional Behavior that is executed whenever this State is entered regardless of the Transition taken to reach the State. If defined, entry Behaviors are always executed to completion prior to any internal Behavior or Transitions performed within the State.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" eType="#//Behavior"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional Behavior that is executed whenever this State is exited regardless of which Transition was taken out of the State. If defined, exit Behaviors are always executed to completion only after all internal and transition Behaviors have completed execution.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A state with isComposite=true is said to be a composite State. A composite State is a State that contains at least one Region.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrthogonal" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A State with isOrthogonal=true is said to be an orthogonal composite State An orthogonal composite State contains two or more Regions.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A State with isSimple=true is said to be a simple State A simple State does not have any Regions and it does not refer to any submachine StateMachine.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubmachineState" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A State with isSubmachineState=true is said to be a submachine State Such a State refers to another StateMachine(submachine).&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedState" ordered="false"
        eType="#//State">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State of which this State is a redefinition.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stateInvariant" ordered="false"
        eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies conditions that are always true when this State is the current State. In ProtocolStateMachines state invariants are additional conditions to the preconditions of the outgoing Transitions, and to the postcondition of the incoming Transitions.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="submachine" ordered="false"
        eType="#//StateMachine" eOpposite="#//StateMachine/submachineState">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachine that is to be inserted in place of the (submachine) State.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
        upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/state">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Regions owned directly by the State.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConnectionPointReference" eSuperTypes="#//Vertex">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ConnectionPointReference represents a usage (as part of a submachine State) of an entry/exit point Pseudostate defined in the StateMachine referenced by the submachine State.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="exit_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The exit Pseudostates must be Pseudostates with kind exitPoint.&#xA;exit->forAll(kind = PseudostateKind::exitPoint)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="entry_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entry Pseudostates must be Pseudostates with kind entryPoint.&#xA;entry->forAll(kind = PseudostateKind::entryPoint)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
        upperBound="-1" eType="#//Pseudostate">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entryPoint Pseudostates corresponding to this connection point.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" upperBound="-1"
        eType="#//Pseudostate">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The exitPoints kind Pseudostates corresponding to this connection point.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
        eType="#//State" eOpposite="#//State/connection">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State in which the ConnectionPointReference is defined.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Trigger specifies a specific point  at which an Event occurrence may trigger an effect in a Behavior. A Trigger may be qualified by the Port on which the Event occurred.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="trigger_with_ports" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a Trigger specifies one or more ports, the event of the Trigger must be a MessageEvent.&#xA;port->notEmpty() implies event.oclIsKindOf(MessageEvent)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
        lowerBound="1" eType="#//Event">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Event that detected by the Trigger.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false" upperBound="-1"
        eType="#//Port">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A optional Port of through which the given effect is detected.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//PackageableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Event is the specification of some occurrence that may potentially trigger effects by an object.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Property">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Port is a property of an EncapsulatedClassifier that specifies a distinct interaction point between that EncapsulatedClassifier and its environment or between the (behavior of the) EncapsulatedClassifier and its internal parts. Ports are connected to Properties of the EncapsulatedClassifier by Connectors through which requests can be made to invoke BehavioralFeatures. A Port may specify the services an EncapsulatedClassifier provides (offers) to its environment as well as the services that an EncapsulatedClassifier expects (requires) of its environment.  A Port may have an associated ProtocolStateMachine.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="port_aggregation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Port.aggregation must be composite.&#xA;aggregation = AggregationKind::composite"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="default_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A defaultValue for port cannot be specified when the type of the Port is an Interface.&#xA;type.oclIsKindOf(Interface) implies defaultValue->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="encapsulated_owner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All Ports are owned by an EncapsulatedClassifier.&#xA;owner = encapsulatedClassifier"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getProvideds" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Port::/provided&#xA;result = (if isConjugated then basicRequired() else basicProvided() endif)&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="provided"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getRequireds" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Port::/required&#xA;result = (if isConjugated then basicProvided() else basicRequired() endif)&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="required"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="basicProvided" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The union of the sets of Interfaces realized by the type of the Port and its supertypes, or directly the type of the Port if the Port is typed by an Interface.&#xA;result = (if type.oclIsKindOf(Interface) &#xD;&#xA;then type.oclAsType(Interface)->asSet() &#xD;&#xA;else type.oclAsType(Classifier).allRealizedInterfaces() &#xD;&#xA;endif)&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="basicRequired" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The union of the sets of Interfaces used by the type of the Port and its supertypes.&#xA;result = ( type.oclAsType(Classifier).allUsedInterfaces() )&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBehavior" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether requests arriving at this Port are sent to the classifier behavior of this EncapsulatedClassifier. Such a Port is referred to as a behavior Port. Any invocation of a BehavioralFeature targeted at a behavior Port will be handled by the instance of the owning EncapsulatedClassifier itself, rather than by any instances that it may contain.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConjugated" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the way that the provided and required Interfaces are derived from the Port’s Type.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isService" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, indicates that this Port is used to provide the published functionality of an EncapsulatedClassifier.  If false, this Port is used to implement the EncapsulatedClassifier but is not part of the essential externally-visible functionality of the EncapsulatedClassifier and can, therefore, be altered or deleted along with the internal implementation of the EncapsulatedClassifier and other properties that are considered part of its implementation.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
        eType="#//ProtocolStateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional ProtocolStateMachine which describes valid interactions at this interaction point.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="provided" ordered="false"
        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interfaces specifying the set of Operations and Receptions that the EncapsulatedCclassifier offers to its environment via this Port, and which it will handle either directly or by forwarding it to a part of its internal structure. This association is derived according to the value of isConjugated. If isConjugated is false, provided is derived as the union of the sets of Interfaces realized by the type of the port and its supertypes, or directly from the type of the Port if the Port is typed by an Interface. If isConjugated is true, it is derived as the union of the sets of Interfaces used by the type of the Port and its supertypes.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedPort" ordered="false"
        upperBound="-1" eType="#//Port">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Port may be redefined when its containing EncapsulatedClassifier 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.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Property/redefinedProperty"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="required" ordered="false"
        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interfaces specifying the set of Operations and Receptions that the EncapsulatedCassifier expects its environment to handle via this port. This association is derived according to the value of isConjugated. If isConjugated is false, required is derived as the union of the sets of Interfaces used by the type of the Port and its supertypes. If isConjugated is true, it is derived as the union of the sets of Interfaces realized by the type of the Port and its supertypes, or directly from the type of the Port if the Port is typed by an Interface.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Namespace #//RedefinableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Transition represents an arc between exactly one source Vertex and exactly one Target vertex (the source and targets may be the same Vertex). It may form part of a compound transition, which takes the StateMachine from one steady State configuration to another, representing the full response of the StateMachine to an occurrence of an Event that triggered it.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="redefinitionContext">
        <details key="lowerBound" value="1"/>
        <details key="upperBound" value="1"/>
      </eAnnotations>
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isConsistentWith() specifies that a redefining Transition is consistent with a redefined Transition provided that the redefining Transition has the following relation to the redefined Transition: A redefining Transition redefines all properties of the corresponding redefined Transition except the source State and the Trigger.&#xA;result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;&#xA;true)&#xA;redefiningElement.isRedefinitionContextValid(self)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
          transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="References the Classifier in which context this element may be redefined.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
      </contents>
    </eAnnotations>
    <eOperations name="state_is_external" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Transition with kind external can source any Vertex except entry points.&#xA;(kind = TransitionKind::external) implies&#xD;&#xA;&#x9;not (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="join_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A join segment must not have Guards or Triggers.&#xA;(target.oclIsKindOf(Pseudostate) and target.oclAsType(Pseudostate).kind = PseudostateKind::join) implies (guard = null and trigger->isEmpty())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="state_is_internal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Transition with kind internal must have a State as its source, and its source and target must be equal.&#xA;(kind = TransitionKind::internal) implies&#xD;&#xA;&#x9;&#x9;(source.oclIsKindOf (State) and source = target)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="outgoing_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Transitions outgoing Pseudostates may not have a Trigger.&#xA;source.oclIsKindOf(Pseudostate) and (source.oclAsType(Pseudostate).kind &lt;> PseudostateKind::initial) implies trigger->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="join_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A join segment must always originate from a State.&#xA;(target.oclIsKindOf(Pseudostate) and target.oclAsType(Pseudostate).kind = PseudostateKind::join) implies (source.oclIsKindOf(State))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="fork_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A fork segment must always target a State.&#xA;(source.oclIsKindOf(Pseudostate) and  source.oclAsType(Pseudostate).kind = PseudostateKind::fork) implies (target.oclIsKindOf(State))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="state_is_local" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Transition with kind local must have a composite State or an entry point as its source.&#xA;(kind = TransitionKind::local) implies&#xD;&#xA;&#x9;&#x9;((source.oclIsKindOf (State) and source.oclAsType(State).isComposite) or&#xD;&#xA;&#x9;&#x9;(source.oclIsKindOf (Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="initial_transition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An initial Transition at the topmost level Region of a StateMachine that has no Trigger.&#xA;(source.oclIsKindOf(Pseudostate) and container.stateMachine->notEmpty()) implies&#xA;&#x9;trigger->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="fork_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A fork segment must not have Guards or Triggers.&#xA;(source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::fork) implies (guard = null and trigger->isEmpty())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query containingStateMachine() returns the StateMachine that contains the Transition either directly or transitively.&#xA;result = (container.containingStateMachine())&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The redefinition context of a Transition is the nearest containing StateMachine.&#xA;result = (let sm : StateMachine = containingStateMachine() in&#xA;if sm._'context' = null or sm.general->notEmpty() then&#xA;  sm&#xA;else&#xA;  sm._'context'&#xA;endif)&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="effect" ordered="false"
        eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies an optional behavior to be performed when the Transition fires.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
        eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A guard is a Constraint that provides a fine-grained control over the firing of the Transition. The guard is evaluated when an Event occurrence is dispatched by the StateMachine. 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.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
        eType="#//TransitionKind" defaultValueLiteral="external">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates the precise type of the Transition.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedTransition" ordered="false"
        eType="#//Transition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Transition that is redefined by this Transition.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
        lowerBound="1" eType="#//Vertex">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the originating Vertex (State or Pseudostate) of the Transition.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
        lowerBound="1" eType="#//Vertex">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the target Vertex that is reached when the Transition is taken.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" ordered="false"
        upperBound="-1" eType="#//Trigger" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Triggers that may fire the transition.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
        lowerBound="1" eType="#//Region" eOpposite="#//Region/transition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the Region that owns this Transition.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="TransitionKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="TransitionKind is an Enumeration type used to differentiate the various kinds of Transitions.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="internal">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the Transition, if triggered, occurs without exiting or entering the source State (i.e., 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 SateMachine is in one or more Regions nested within the associated State."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="local" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the Transition, if triggered, will not exit the composite (source) State, but it will exit and re-enter any state within the composite State that is in the current state configuration."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="external" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the Transition, if triggered, will exit the composite (source) State."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="PseudostateKind is an Enumeration type that is used to differentiate various kinds of Pseudostates.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="initial">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="deepHistory" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="DeepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate; e.g. the state configuration that was active when the composite state was last exited. A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="shallowHistory" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ShallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="join" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="fork" value="4">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="junction" value="5">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as an merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted 'else' may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices (described below)."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="choice" value="6">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-tocompletion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined else guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points (described above)."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="entryPoint" value="7">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="exitPoint" value="8">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="terminate" value="9">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate. Entering a terminate pseudostate is equivalent to invoking a DestroyObjectAction."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ProtocolConformance" eSuperTypes="#//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ProtocolStateMachine can be redefined into a more specific ProtocolStateMachine or into behavioral StateMachine. ProtocolConformance declares that the specific ProtocolStateMachine specifies a protocol that conforms to the general ProtocolStateMachine or that the specific behavioral StateMachine abides by the protocol of the general ProtocolStateMachine.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="generalMachine" ordered="false"
        lowerBound="1" eType="#//ProtocolStateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the ProtocolStateMachine to which the specific ProtocolStateMachine conforms.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specificMachine" ordered="false"
        lowerBound="1" eType="#//ProtocolStateMachine" eOpposite="#//ProtocolStateMachine/conformance">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the ProtocolStateMachine which conforms to the general ProtocolStateMachine.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OperationTemplateParameter" eSuperTypes="#//TemplateParameter">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An OperationTemplateParameter exposes an Operation as a formal parameter for a template.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="parameteredElement">
        <details key="eType" value="uml::Operation"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
          lowerBound="1" eType="#//ParameterableElement" eOpposite="#//Operation/%duplicates%/templateParameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Operation exposed by this OperationTemplateParameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TemplateParameter/parameteredElement"/>
      </contents>
    </eAnnotations>
    <eOperations name="match_default_signature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="default->notEmpty() implies (default.oclIsKindOf(Operation) and (let defaultOp : Operation = default.oclAsType(Operation) in &#xD;&#xA;    defaultOp.ownedParameter->size() = parameteredElement.ownedParameter->size() and&#xD;&#xA;    Sequence{1.. defaultOp.ownedParameter->size()}->forAll( ix | &#xD;&#xA;        let p1: Parameter = defaultOp.ownedParameter->at(ix), p2 : Parameter = parameteredElement.ownedParameter->at(ix) in&#xD;&#xA;          p1.type = p2.type and p1.upper = p2.upper and p1.lower = p2.lower and p1.direction = p2.direction and p1.isOrdered = p2.isOrdered and p1.isUnique = p2.isUnique)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeature" abstract="true" eSuperTypes="#//Feature #//TypedElement #//MultiplicityElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A StructuralFeature is a typed feature of a Classifier that specifies the structure of instances of the Classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isReadOnly is true, the StructuralFeature may not be written to after initialization.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="AggregationKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="AggregationKind is an Enumeration for specifying the kind of aggregation of a Property.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="none">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the Property has no aggregation."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="shared" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the Property has shared aggregation."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="composite" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the Property is aggregated compositely, i.e., the composite object has responsibility for the existence and storage of the composed objects (parts)."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PackageMerge" eSuperTypes="#//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A package merge defines how the contents of one package are extended by the contents of another package.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="mergedPackage" ordered="false"
        lowerBound="1" eType="#//Package">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Package that is to be merged with the receiving package of the PackageMerge.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="receivingPackage" ordered="false"
        lowerBound="1" eType="#//Package" eOpposite="#//Package/packageMerge">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Package that is being extended with the contents of the merged package of the PackageMerge.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ProfileApplication" eSuperTypes="#//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A profile application is used to show which profiles have been applied to a package.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="getAppliedDefinition" ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the definition (Ecore representation) of the profile associated with this profile application."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getAppliedDefinition" ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the definition (Ecore representation) of the specified named element in the profile associated with this profile application."/>
      </eAnnotations>
      <eParameters name="namedElement" ordered="false" lowerBound="1" eType="#//NamedElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The named element for which to retrieve the applied definition."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="appliedProfile" ordered="false"
        lowerBound="1" eType="#//Profile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Profiles that are applied to a Package through this ProfileApplication.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStrict" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies that the Profile filtering rules for the metaclasses of the referenced metamodel shall be strictly applied.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="applyingPackage" ordered="false"
        lowerBound="1" eType="#//Package" eOpposite="#//Package/profileApplication">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The package that owns the profile application.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//DataType">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Enumeration is a DataType whose values are enumerated in the model as EnumerationLiterals.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="immutable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ownedAttribute->forAll(isReadOnly)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLiteral" upperBound="-1"
        eType="#//EnumerationLiteral" containment="true" eOpposite="#//EnumerationLiteral/enumeration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of literals owned by this Enumeration.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteral" eSuperTypes="#//InstanceSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An EnumerationLiteral is a user-defined data value for an Enumeration.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="classifier">
        <details key="lowerBound" value="1"/>
        <details key="upperBound" value="1"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="classifier" ordered="false" upperBound="-1"
          eType="#//Enumeration" changeable="false" volatile="true" transient="true"
          derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The classifier of this EnumerationLiteral derived to be equal to its Enumeration.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//InstanceSpecification/classifier"/>
      </contents>
    </eAnnotations>
    <eOperations name="getClassifiers" ordered="false" upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getClassifier" ordered="false" lowerBound="1" eType="#//Enumeration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation of Enumeration::/classifier&#xA;result = (enumeration)&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="classifier"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" ordered="false"
        lowerBound="1" eType="#//Enumeration" eOpposite="#//Enumeration/ownedLiteral">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Enumeration that this EnumerationLiteral is a member of.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InstanceSpecification" eSuperTypes="#//DeploymentTarget #//PackageableElement #//DeployedArtifact">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InstanceSpecification is a model element that represents an instance in a modeled system. An InstanceSpecification can act as a DeploymentTarget in a Deployment relationship, in the case that it represents an instance of a Node. It can also act as a DeployedArtifact, if it represents an instance of an Artifact.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="deployment_artifact" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InstanceSpecification can act as a DeployedArtifact if it represents an instance of an Artifact.&#xA;deploymentForArtifact->notEmpty() implies classifier->exists(oclIsKindOf(Artifact))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="structural_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="No more than one slot in an InstanceSpecification may have the same definingFeature.&#xA;classifier->forAll(c | (c.allSlottableFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() &lt;= 1)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="defining_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The definingFeature of each slot is a StructuralFeature related to a classifier of the InstanceSpecification, including direct attributes, inherited attributes, private attributes in generalizations, and memberEnds of Associations, but excluding redefined StructuralFeatures.&#xA;slot->forAll(s | classifier->exists (c | c.allSlottableFeatures()->includes (s.definingFeature)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="deployment_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InstanceSpecification can act as a DeploymentTarget if it represents an instance of a Node and functions as a part in the internal structure of an encompassing Node.&#xA;deployment->notEmpty() implies classifier->exists(node | node.oclIsKindOf(Node) and Node.allInstances()->exists(n | n.part->exists(p | p.type = node)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
        upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier or Classifiers of the represented instance. If multiple Classifiers are specified, the instance is classified by all of them.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="slot" ordered="false" upperBound="-1"
        eType="#//Slot" containment="true" eOpposite="#//Slot/owningInstance">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Slot giving the value or values of a StructuralFeature of the instance. An InstanceSpecification can have one Slot per StructuralFeature of its Classifiers, including inherited features. It is not necessary to model a Slot for every StructuralFeature, in which case the InstanceSpecification is a partial description.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A specification of how to compute, derive, or construct the instance.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Slot" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Slot designates that an entity modeled by an InstanceSpecification has a value or values for a specific StructuralFeature.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="definingFeature" ordered="false"
        lowerBound="1" eType="#//StructuralFeature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StructuralFeature that specifies the values that may be held by the Slot.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The value or values held by the Slot.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningInstance" ordered="false"
        lowerBound="1" eType="#//InstanceSpecification" eOpposite="#//InstanceSpecification/slot">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InstanceSpecification that owns this Slot.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//DataType">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A PrimitiveType defines a predefined DataType, without any substructure. A PrimitiveType may have an algebra and operations defined outside of UML, for example, mathematically.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ElementImport" eSuperTypes="#//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ElementImport identifies a NamedElement in a Namespace other than the one that owns that NamedElement and allows the NamedElement to be referenced using an unqualified name in the Namespace owning the ElementImport.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="imported_element_is_public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An importedElement has either public visibility or no visibility at all.&#xA;importedElement.visibility &lt;> null implies importedElement.visibility = VisibilityKind::public"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="visibility_public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The visibility of an ElementImport is either public or private.&#xA;visibility = VisibilityKind::public or visibility = VisibilityKind::private"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query getName() returns the name under which the imported PackageableElement will be known in the importing namespace.&#xA;result = (if alias->notEmpty() then&#xA;  alias&#xA;else&#xA;  importedElement.name&#xA;endif)&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the name that should be added to the importing Namespace in lieu of the name of the imported PackagableElement. The alias must not clash with any other member in the importing Namespace. By default, no alias is used.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedElement" ordered="false"
        lowerBound="1" eType="#//PackageableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the PackageableElement whose name is to be added to a Namespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importingNamespace" ordered="false"
        lowerBound="1" eType="#//Namespace" eOpposite="#//Namespace/elementImport">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Namespace that imports a PackageableElement from another Namespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
        lowerBound="1" eType="#//VisibilityKind" defaultValueLiteral="public">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the visibility of the imported PackageableElement within the importingNamespace, i.e., whether the  importedElement will in turn be visible to other Namespaces. If the ElementImport is public, the importedElement will be visible outside the importingNamespace while, if the ElementImport is private, it will not.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PackageImport" eSuperTypes="#//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A PackageImport is a Relationship that imports all the non-private members of a Package into the Namespace owning the PackageImport, so that those Elements may be referred to by their unqualified names in the importingNamespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The visibility of a PackageImport is either public or private.&#xA;visibility = VisibilityKind::public or visibility = VisibilityKind::private"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedPackage" ordered="false"
        lowerBound="1" eType="#//Package">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Package whose members are imported into a Namespace.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importingNamespace" ordered="false"
        lowerBound="1" eType="#//Namespace" eOpposite="#//Namespace/packageImport">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Namespace that imports the members from a Package.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
        lowerBound="1" eType="#//VisibilityKind" defaultValueLiteral="public">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the visibility of the imported PackageableElements within the importingNamespace, i.e., whether imported Elements will in turn be visible to other Namespaces. If the PackageImport is public, the imported Elements will be visible outside the importingNamespace, while, if the PackageImport is private, they will not.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Extension" eSuperTypes="#//Association">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An extension is used to indicate that the properties of a metaclass are extended through a stereotype, and gives the ability to flexibly add (and later remove) stereotypes to classes.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="ownedEnd">
        <details key="lowerBound" value="1"/>
        <details key="upperBound" value="1"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="ownedEnd" upperBound="-1" eType="#//ExtensionEnd"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="References the end of the extension that is typed by a Stereotype.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Association/ownedEnd"/>
      </contents>
    </eAnnotations>
    <eOperations name="non_owned_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The non-owned end of an Extension is typed by a Class.&#xA;metaclassEnd()->notEmpty() and metaclassEnd().type.oclIsKindOf(Class)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="is_binary" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Extension is binary, i.e., it has only two memberEnds.&#xA;memberEnd->size() = 2"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getStereotype" ordered="false" eType="#//Stereotype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the stereotype that extends a metaclass through this extension."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getStereotypeEnd" ordered="false" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the extension end that is typed by a stereotype (as opposed to a metaclass)."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isRequired" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isRequired() is true if the owned end has a multiplicity with the lower bound of 1.&#xA;result = (ownedEnd.lowerBound() = 1)&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getMetaclass" ordered="false" lowerBound="1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query metaclass() returns the metaclass that is being extended (as opposed to the extending stereotype).&#xA;result = (metaclassEnd().type.oclAsType(Class))&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="metaclass"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="metaclassEnd" ordered="false" lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query metaclassEnd() returns the Property that is typed by a metaclass (as opposed to a stereotype).&#xA;result = (memberEnd->reject(p | ownedEnd->includes(p.oclAsType(ExtensionEnd)))->any(true))&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRequired" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether an instance of the extending stereotype must be created when an instance of the extended class is created. The attribute value is derived from the value of the lower property of the ExtensionEnd referenced by Extension::ownedEnd; a lower value of 1 means that isRequired is true, but otherwise it is false. Since the default value of ExtensionEnd::lower is 0, the default value of isRequired is false.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="metaclass" ordered="false"
        lowerBound="1" eType="#//Class" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//Class/extension">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Class that is extended through an Extension. The property is derived from the type of the memberEnd that is not the ownedEnd.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExtensionEnd" eSuperTypes="#//Property">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An extension end is used to tie an extension to a stereotype when extending a metaclass.&#xA;The default multiplicity of an extension end is 0..1.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="type">
        <details key="lowerBound" value="1"/>
        <details key="eType" value="uml::Stereotype"/>
      </eAnnotations>
      <contents xsi:type="ecore:EOperation" name="getLower" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//MultiplicityElement/getLower"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="setLower" ordered="false" lowerBound="1">
        <eAnnotations source="redefines" references="#//MultiplicityElement/setLower"/>
        <eParameters name="newLower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="lowerBound" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default lower bound, which normally, for MultiplicityElements, evaluates to 1 if empty.&#xA;result = (if lowerValue=null then 0 else lowerValue.integerValue() endif)&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//MultiplicityElement/lowerBound"/>
      </contents>
      <contents xsi:type="ecore:EAttribute" name="lower" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"
          volatile="true" transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="This redefinition changes the default multiplicity of association ends, since model elements are usually extended by 0 or 1 instance of the extension stereotype.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//MultiplicityElement/lower"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="References the type of the ExtensionEnd. Note that this association restricts the possible types of an ExtensionEnd to only be Stereotypes.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TypedElement/type"/>
      </contents>
    </eAnnotations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of ExtensionEnd is 0..1 or 1.&#xA;(lowerBound() = 0 or lowerBound() = 1) and upperBound() = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="aggregation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The aggregation of an ExtensionEnd is composite.&#xA;self.aggregation = AggregationKind::composite"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//Package">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A model captures a view of a physical system. It is an abstraction of the physical system, with a certain purpose. This purpose determines what is to be included in the model and what is irrelevant. Thus the model completely describes those aspects of the physical system that are relevant to the purpose of the model, at the appropriate level of detail.&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="isMetamodel" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether this model is a metamodel."/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="viewpoint" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The name of the viewpoint that is expressed by a model (this name may refer to a profile definition).&#xA;&lt;p>From package UML::Packages.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StringExpression" eSuperTypes="#//Expression #//TemplateableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A StringExpression is an Expression that specifies a String value that is derived by concatenating a sequence of operands with String values or a sequence of subExpressions, some of which might be template parameters.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query stringValue() returns the String resulting from concatenating, in order, all the component String values of all the operands or subExpressions that are part of the StringExpression.&#xA;result = (if subExpression->notEmpty()&#xA;then subExpression->iterate(se; stringValue: String = '' | stringValue.concat(se.stringValue()))&#xA;else operand->iterate(op; stringValue: String = '' | stringValue.concat(op.stringValue()))&#xA;endif)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
    </eAnnotations>
    <eOperations name="operands" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All the operands of a StringExpression must be LiteralStrings&#xA;operand->forAll (oclIsKindOf (LiteralString))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="subexpressions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a StringExpression has sub-expressions, it cannot have operands and vice versa (this avoids the problem of having to define a collating sequence between operands and subexpressions).&#xA;if subExpression->notEmpty() then operand->isEmpty() else operand->notEmpty() endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningExpression" ordered="false"
        eType="#//StringExpression" eOpposite="#//StringExpression/subExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StringExpression of which this StringExpression is a subExpression.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subExpression" upperBound="-1"
        eType="#//StringExpression" containment="true" eOpposite="#//StringExpression/owningExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StringExpressions that constitute this StringExpression.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands that are ValueSpecifications. It denotes a (possibly empty) set of values when evaluated in a context.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="operand" upperBound="-1"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies a sequence of operand ValueSpecifications.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="symbol" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The symbol associated with this node in the expression tree.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Usage" eSuperTypes="#//Dependency">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Usage is a Dependency in which the client Element requires the supplier Element (or set of Elements) for its full implementation or operation.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollaborationUse" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CollaborationUse is used to specify the application of a pattern specified by a Collaboration to a specific situation.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="client_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All the client elements of a roleBinding are in one Classifier and all supplier elements of a roleBinding are in one Collaboration.&#xA;roleBinding->collect(client)->forAll(ne1, ne2 |&#xD;&#xA;  ne1.oclIsKindOf(ConnectableElement) and ne2.oclIsKindOf(ConnectableElement) and&#xD;&#xA;    let ce1 : ConnectableElement = ne1.oclAsType(ConnectableElement), ce2 : ConnectableElement = ne2.oclAsType(ConnectableElement) in&#xD;&#xA;      ce1.structuredClassifier = ce2.structuredClassifier)&#xD;&#xA;and&#xD;&#xA;  roleBinding->collect(supplier)->forAll(ne1, ne2 |&#xD;&#xA;  ne1.oclIsKindOf(ConnectableElement) and ne2.oclIsKindOf(ConnectableElement) and&#xD;&#xA;    let ce1 : ConnectableElement = ne1.oclAsType(ConnectableElement), ce2 : ConnectableElement = ne2.oclAsType(ConnectableElement) in&#xD;&#xA;      ce1.collaboration = ce2.collaboration)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="every_role" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Every collaborationRole in the Collaboration is bound within the CollaborationUse.&#xA;type.collaborationRole->forAll(role | roleBinding->exists(rb | rb.supplier->includes(role)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="connectors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Connectors in a Collaboration typing a CollaborationUse must have corresponding Connectors between elements bound in the context Classifier, and these corresponding Connectors must have the same or more general type than the Collaboration Connectors.&#xA;type.ownedConnector->forAll(connector |&#xD;&#xA;  let rolesConnectedInCollab : Set(ConnectableElement) = connector.end.role->asSet(),&#xD;&#xA;        relevantBindings : Set(Dependency) = roleBinding->select(rb | rb.supplier->intersection(rolesConnectedInCollab)->notEmpty()),&#xD;&#xA;        boundRoles : Set(ConnectableElement) = relevantBindings->collect(client.oclAsType(ConnectableElement))->asSet(),&#xD;&#xA;        contextClassifier : StructuredClassifier = boundRoles->any(true).structuredClassifier->any(true) in&#xD;&#xA;          contextClassifier.ownedConnector->exists( correspondingConnector | &#xD;&#xA;              correspondingConnector.end.role->forAll( role | boundRoles->includes(role) )&#xD;&#xA;              and (connector.type->notEmpty() and correspondingConnector.type->notEmpty()) implies connector.type->forAll(conformsTo(correspondingConnector.type)) )&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="roleBinding" ordered="false"
        upperBound="-1" eType="#//Dependency" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A mapping between features of the Collaboration and features of the owning Classifier. This mapping indicates which ConnectableElement of the Classifier plays which role(s) in the Collaboration. A ConnectableElement may be bound to multiple roles in the same CollaborationUse (that is, it may play multiple roles).&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" lowerBound="1"
        eType="#//Collaboration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Collaboration which is used in this CollaborationUse. The Collaboration defines the cooperation between its roles which are mapped to ConnectableElements relating to the Classifier owning the CollaborationUse.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Collaboration" eSuperTypes="#//StructuredClassifier #//BehavioredClassifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Collaboration describes a structure of collaborating elements (roles), each performing a specialized function, which collectively accomplish some desired functionality.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="collaborationRole" ordered="false"
        upperBound="-1" eType="#//ConnectableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Represents the participants in the Collaboration.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//StructuredClassifier/role"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StructuredClassifier" abstract="true"
      eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="StructuredClassifiers may contain an internal structure of connected elements each of which plays a role in the overall Behavior modeled by the StructuredClassifier.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this structured classifier."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="type" ordered="false" eType="#//Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type for the new attribute, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the new attribute."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getParts" ordered="false" upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for StructuredClassifier::/part&#xA;result = (ownedAttribute->select(isComposite)->asSet())&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="part"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allRoles" ordered="false" upperBound="-1" eType="#//ConnectableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All features of type ConnectableElement, equivalent to all direct and inherited roles.&#xA;result = (allFeatures()->select(oclIsKindOf(ConnectableElement))->collect(oclAsType(ConnectableElement))->asSet())&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
        eType="#//Property" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Properties owned by the StructuredClassifier.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember #//StructuredClassifier/role"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnector" ordered="false"
        upperBound="-1" eType="#//Connector" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The connectors owned by the StructuredClassifier.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false" upperBound="-1"
        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Properties specifying instances that the StructuredClassifier owns by composition. This collection is derived, selecting those owned Properties where isComposite is true.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" upperBound="-1"
        eType="#//ConnectableElement" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The roles that instances may play in this StructuredClassifier.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Namespace/member"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//Feature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Connector specifies links that enables communication between two or more instances. In contrast to Associations, which specify links between any instance of the associated Classifiers, Connectors specify links between instances playing the connected parts only.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The types of the ConnectableElements that the ends of a Connector are attached to must conform to the types of the ends of the Association that types the Connector, if any.&#xA;type&lt;>null implies &#xD;&#xA;  let noOfEnds : Integer = end->size() in &#xD;&#xA;  (type.memberEnd->size() = noOfEnds) and Sequence{1..noOfEnds}->forAll(i | end->at(i).role.type.conformsTo(type.memberEnd->at(i).type))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="roles" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be owned or inherited roles of the Classifier that owned the Connector, or they must be Ports of such roles.&#xA;structuredClassifier &lt;> null&#xD;&#xA;and&#xD;&#xA;  end->forAll( e | structuredClassifier.allRoles()->includes(e.role)&#xD;&#xA;or&#xD;&#xA;  e.role.oclIsKindOf(Port) and structuredClassifier.allRoles()->includes(e.partWithPort))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getKind" ordered="false" lowerBound="1" eType="#//ConnectorKind">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Connector::/kind : ConnectorKind&#xA;result = (if end->exists(&#xD;&#xA;&#x9;&#x9;role.oclIsKindOf(Port) &#xD;&#xA;&#x9;&#x9;and partWithPort->isEmpty()&#xD;&#xA;&#x9;&#x9;and not role.oclAsType(Port).isBehavior)&#xD;&#xA;then ConnectorKind::delegation &#xD;&#xA;else ConnectorKind::assembly &#xD;&#xA;endif)&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="kind"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
        upperBound="-1" eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of Behaviors that specify the valid interaction patterns across the Connector.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="2" upperBound="-1"
        eType="#//ConnectorEnd" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Connector has at least two ConnectorEnds, each representing the participation of instances of the Classifiers typing the ConnectableElements attached to the end. The set of ConnectorEnds is ordered.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
        eType="#//ConnectorKind" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates the kind of Connector. This is derived: a Connector with one or more ends connected to a Port which is not on a Part and which is not a behavior port is a delegation; otherwise it is an assembly.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedConnector" ordered="false"
        upperBound="-1" eType="#//Connector">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Connector may be redefined when its containing Classifier is specialized. The redefining Connector may have a type that specializes the type of the redefined Connector. The types of the ConnectorEnds of the redefining Connector may specialize the types of the ConnectorEnds of the redefined Connector. The properties of the ConnectorEnds of the redefining Connector may be replaced.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Association">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional Association that classifies links corresponding to this Connector.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="ConnectorKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ConnectorKind is an enumeration that defines whether a Connector is an assembly or a delegation.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="assembly">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the Connector is an assembly Connector."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="delegation" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the Connector is a delegation Connector."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Generalization" eSuperTypes="#//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Generalization is a taxonomic relationship between a more general Classifier and a more specific Classifier. Each instance of the specific Classifier is also an instance of the general Classifier. The specific Classifier inherits the features of the more general Classifier. A Generalization is owned by the specific Classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="general" ordered="false"
        lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The general classifier in the Generalization relationship.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="generalizationSet" ordered="false"
        upperBound="-1" eType="#//GeneralizationSet" eOpposite="#//GeneralizationSet/generalization">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Represents a set of instances of Generalization.  A Generalization may appear in many GeneralizationSets.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubstitutable" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the specific Classifier can be used wherever the general Classifier can be used. If true, the execution traces of the specific Classifier shall be a superset of the execution traces of the general Classifier. If false, there is no such constraint on execution traces. If unset, the modeler has not stated whether there is such a constraint or not.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specific" ordered="false"
        lowerBound="1" eType="#//Classifier" eOpposite="#//Classifier/generalization">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specializing Classifier in the Generalization relationship.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="GeneralizationSet" eSuperTypes="#//PackageableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A GeneralizationSet is a PackageableElement whose instances represent sets of Generalization relationships.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="generalization_same_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Every Generalization associated with a particular GeneralizationSet must have the same general Classifier.&#xA;generalization->collect(general)->asSet()->size() &lt;= 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.&#xA;powertype &lt;> null implies generalization->forAll( gen | &#xD;&#xA;    not (gen.general = powertype) and not gen.general.allParents()->includes(powertype) and not (gen.specific = powertype) and not powertype.allParents()->includes(gen.specific)&#xD;&#xA;  )"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCovering" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDisjoint" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="powertype" ordered="false"
        eType="#//Classifier" eOpposite="#//Classifier/powertypeExtent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the Classifier that is defined as the power type for the associated GeneralizationSet, if there is one.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="generalization" ordered="false"
        upperBound="-1" eType="#//Generalization" eOpposite="#//Generalization/generalizationSet">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the instances of Generalization that are members of this GeneralizationSet.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RedefinableTemplateSignature" eSuperTypes="#//RedefinableElement #//TemplateSignature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A RedefinableTemplateSignature supports the addition of formal template parameters in a specialization of a template classifier.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="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, as redefinition only adds new formal parameters.&#xA;result = (redefiningElement.oclIsKindOf(RedefinableTemplateSignature))&#xA;redefiningElement.isRedefinitionContextValid(self)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
    </eAnnotations>
    <eOperations name="redefines_parents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If any of the parent Classifiers are a template, then the extendedSignature must include the signature of that Classifier.&#xA;classifier.allParents()->forAll(c | c.ownedTemplateSignature->notEmpty() implies self->closure(extendedSignature)->includes(c.ownedTemplateSignature))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getInheritedParameters" ordered="false" upperBound="-1" eType="#//TemplateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for RedefinableTemplateSignature::/inheritedParameter&#xA;result = (if extendedSignature->isEmpty() then Set{} else extendedSignature.parameter->asSet() endif)&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="inheritedParameter"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedSignature" ordered="false"
        upperBound="-1" eType="#//RedefinableTemplateSignature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The signatures extended by this RedefinableTemplateSignature.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedParameter" ordered="false"
        upperBound="-1" eType="#//TemplateParameter" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal template parameters of the extended signatures.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//TemplateSignature/parameter"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
        lowerBound="1" eType="#//Classifier" changeable="false" volatile="true" transient="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier that owns this RedefinableTemplateSignature.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//TemplateSignature/template"/>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UseCase" eSuperTypes="#//BehavioredClassifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A UseCase specifies a set of actions performed by its subjects, which yields an observable result that is of value for one or more Actors or other stakeholders of each subject.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="binary_associations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="UseCases can only be involved in binary Associations.&#xA;Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies a.memberEnd->size() = 2)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_association_to_use_case" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="UseCases cannot have Associations to UseCases specifying the same subject.&#xA;Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies &#xD;&#xA;   (&#xD;&#xA;   let usecases: Set(UseCase) = a.memberEnd.type->select(oclIsKindOf(UseCase))->collect(oclAsType(UseCase))->asSet() in&#xD;&#xA;   usecases->size() > 1 implies usecases->collect(subject)->size() > 1&#xD;&#xA;   )&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="cannot_include_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A UseCase cannot include UseCases that directly or indirectly include it.&#xA;not allIncludedUseCases()->includes(self)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="must_have_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A UseCase must have a name.&#xA;name -> notEmpty ()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="allIncludedUseCases" ordered="false" upperBound="-1" eType="#//UseCase">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allIncludedUseCases() returns the transitive closure of all UseCases (directly or indirectly) included by this UseCase.&#xA;result = (self.include.addition->union(self.include.addition->collect(uc | uc.allIncludedUseCases()))->asSet())&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extend" ordered="false"
        upperBound="-1" eType="#//Extend" containment="true" eOpposite="#//Extend/extension">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Extend relationships owned by this UseCase.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extensionPoint" ordered="false"
        upperBound="-1" eType="#//ExtensionPoint" containment="true" eOpposite="#//ExtensionPoint/useCase">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ExtensionPoints owned by this UseCase.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="include" ordered="false"
        upperBound="-1" eType="#//Include" containment="true" eOpposite="#//Include/includingCase">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Include relationships owned by this UseCase.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subject" ordered="false"
        upperBound="-1" eType="#//Classifier" eOpposite="#//Classifier/useCase">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The subjects to which this UseCase applies. Each subject or its parts realize all the UseCases that apply to it.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Extend" eSuperTypes="#//NamedElement #//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A relationship from an extending UseCase to an extended UseCase that specifies how and when the behavior defined in the extending UseCase can be inserted into the behavior defined in the extended UseCase.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="extension_points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ExtensionPoints referenced by the Extend relationship must belong to the UseCase that is being extended.&#xA;extensionLocation->forAll (xp | extendedCase.extensionPoint->includes(xp))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" ordered="false"
        eType="#//Constraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the condition that must hold when the first ExtensionPoint is reached for the extension to take place. If no constraint is associated with the Extend relationship, the extension is unconditional.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedCase" ordered="false"
        lowerBound="1" eType="#//UseCase">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The UseCase that is being extended.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extensionLocation" lowerBound="1"
        upperBound="-1" eType="#//ExtensionPoint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ordered list of ExtensionPoints belonging to the extended UseCase, specifying where the respective behavioral fragments of the extending UseCase are to be inserted. The first fragment in the extending UseCase 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 UseCase has just a single behavior fragment, so that the list of ExtensionPoints is trivial.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extension" ordered="false"
        lowerBound="1" eType="#//UseCase" eOpposite="#//UseCase/extend">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The UseCase that represents the extension and owns the Extend relationship.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExtensionPoint" eSuperTypes="#//RedefinableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ExtensionPoint identifies a point in the behavior of a UseCase where that behavior can be extended by the behavior of some other (extending) UseCase, as specified by an Extend relationship.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="must_have_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ExtensionPoint must have a name.&#xA;name->notEmpty ()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="useCase" ordered="false"
        lowerBound="1" eType="#//UseCase" eOpposite="#//UseCase/extensionPoint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The UseCase that owns this ExtensionPoint.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Include" eSuperTypes="#//NamedElement #//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Include relationship specifies that a UseCase contains the behavior defined in another UseCase.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="addition" ordered="false"
        lowerBound="1" eType="#//UseCase">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The UseCase that is to be included.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="includingCase" ordered="false"
        lowerBound="1" eType="#//UseCase" eOpposite="#//UseCase/include">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The UseCase which includes the addition and owns the Include relationship.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Substitution" eSuperTypes="#//Realization">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A substitution is a relationship between two classifiers signifying that the substituting classifier complies with the contract specified by the contract classifier. This implies that instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
        lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The contract with which the substituting classifier complies.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="substitutingClassifier"
        ordered="false" lowerBound="1" eType="#//Classifier" eOpposite="#//Classifier/substitution">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Realization" eSuperTypes="#//Abstraction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Realization is a specialized Abstraction relationship between two sets of model Elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client). Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc.&#xA;&lt;p>From package UML::CommonStructure.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ClassifierTemplateParameter" eSuperTypes="#//TemplateParameter">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ClassifierTemplateParameter exposes a Classifier as a formal template parameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="parameteredElement">
        <details key="eType" value="uml::Classifier"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
          lowerBound="1" eType="#//ParameterableElement" eOpposite="#//Classifier/%duplicates%/templateParameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Classifier exposed by this ClassifierTemplateParameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TemplateParameter/parameteredElement"/>
      </contents>
    </eAnnotations>
    <eOperations name="has_constraining_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If allowSubstitutable is true, then there must be a constrainingClassifier.&#xA;allowSubstitutable implies constrainingClassifier->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="parametered_element_no_features" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The parameteredElement has no direct features, and if constrainedElement is empty it has no generalizations.&#xA;parameteredElement.feature->isEmpty() and (constrainingClassifier->isEmpty() implies  parameteredElement.allParents()->isEmpty())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="matching_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the parameteredElement is not abstract, then the Classifier used as an argument shall not be abstract.&#xA;(not parameteredElement.isAbstract) implies templateParameterSubstitution.actual->forAll(a | not a.oclAsType(Classifier).isAbstract)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="actual_is_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The argument to a ClassifierTemplateParameter is a Classifier.&#xA; templateParameterSubstitution.actual->forAll(a | a.oclIsKindOf(Classifier))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="constraining_classifiers_constrain_args" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If there are any constrainingClassifiers, then every argument must be the same as or a specialization of them, or if allowSubstitutable is true, then it can also be substitutable.&#xA;templateParameterSubstitution.actual->forAll( a |&#xD;&#xA;  let arg : Classifier = a.oclAsType(Classifier) in&#xD;&#xA;    constrainingClassifier->forAll(&#xD;&#xA;      cc |  &#xD;&#xA;         arg = cc or arg.conformsTo(cc) or (allowSubstitutable and arg.isSubstitutableFor(cc))&#xD;&#xA;      )&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="constraining_classifiers_constrain_parametered_element" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If there are any constrainingClassifiers, then the parameteredElement must be the same as or a specialization of them, or if allowSubstitutable is true, then it can also be substitutable.&#xA;constrainingClassifier->forAll(&#xD;&#xA;     cc |  parameteredElement = cc or parameteredElement.conformsTo(cc) or (allowSubstitutable and parameteredElement.isSubstitutableFor(cc))&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowSubstitutable" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Constrains the required relationship between an actual parameter and the parameteredElement for this formal parameter.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainingClassifier"
        ordered="false" upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The classifiers that constrain the argument that can be used for the parameter. If the allowSubstitutable attribute is true, then any Classifier that is compatible with this constraining Classifier can be substituted; otherwise, it must be either this Classifier or one of its specializations. If this property is empty, there are no constraints on the Classifier that can be used as an argument.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InterfaceRealization" eSuperTypes="#//Realization">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InterfaceRealization is a specialized realization relationship between a BehavioredClassifier and an Interface. This relationship signifies that the realizing BehavioredClassifier conforms to the contract specified by the Interface.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
        lowerBound="1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Interface specifying the conformance contract.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="implementingClassifier"
        ordered="false" lowerBound="1" eType="#//BehavioredClassifier" eOpposite="#//BehavioredClassifier/interfaceRealization">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the BehavioredClassifier that owns this InterfaceRealization, i.e., the BehavioredClassifier that realizes the Interface to which it refers.&#xA;&lt;p>From package UML::SimpleClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EncapsulatedClassifier" abstract="true"
      eSuperTypes="#//StructuredClassifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An EncapsulatedClassifier may own Ports to specify typed interaction points.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="getOwnedPorts" upperBound="-1" eType="#//Port">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for EncapsulatedClassifier::/ownedPort : Port&#xA;result = (ownedAttribute->select(oclIsKindOf(Port))->collect(oclAsType(Port))->asOrderedSet())&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="ownedPort"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPort" ordered="false"
        upperBound="-1" eType="#//Port" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Ports owned by the EncapsulatedClassifier.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//StructuredClassifier/ownedAttribute"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityGroup" abstract="true" eSuperTypes="#//NamedElement #//ActivityContent">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ActivityGroup is an abstract class for defining sets of ActivityNodes and ActivityEdges in an Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="containingActivity" ordered="false"
          eType="#//Activity">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Activity that directly or indirectly contains this ActivityGroup.&#xA;result = (if superGroup&lt;>null then superGroup.containingActivity()&#xD;&#xA;else inActivity&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ActivityContent/containingActivity"/>
      </contents>
    </eAnnotations>
    <eOperations name="nodes_and_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All containedNodes and containeEdges of an ActivityGroup must be in the same Activity as the group.&#xA;containedNode->forAll(activity = self.containingActivity()) and &#xD;&#xA;containedEdge->forAll(activity = self.containingActivity())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="No containedNode or containedEdge of an ActivityGroup may be contained by its subgroups or its superGroups, transitively.&#xA;subgroup->closure(subgroup).containedNode->excludesAll(containedNode) and&#xD;&#xA;superGroup->closure(superGroup).containedNode->excludesAll(containedNode) and &#xD;&#xA;subgroup->closure(subgroup).containedEdge->excludesAll(containedEdge) and &#xD;&#xA;superGroup->closure(superGroup).containedEdge->excludesAll(containedEdge)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"
        upperBound="-1" eType="#//ActivityEdge" changeable="false" volatile="true"
        transient="true" derived="true" eOpposite="#//ActivityEdge/inGroup">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityEdges immediately contained in the ActivityGroup.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"
        upperBound="-1" eType="#//ActivityNode" changeable="false" volatile="true"
        transient="true" derived="true" eOpposite="#//ActivityNode/inGroup">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityNodes immediately contained in the ActivityGroup.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inActivity" ordered="false"
        eType="#//Activity" volatile="true" transient="true" derived="true" eOpposite="#//Activity/group">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Activity containing the ActivityGroup, if it is directly owned by an Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subgroup" ordered="false"
        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
        transient="true" derived="true" eOpposite="#//ActivityGroup/superGroup">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Other ActivityGroups immediately contained in this ActivityGroup.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="superGroup" ordered="false"
        eType="#//ActivityGroup" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//ActivityGroup/subgroup">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityGroup immediately containing this ActivityGroup, if it is directly owned by another ActivityGroup.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityEdge" abstract="true" eSuperTypes="#//RedefinableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ActivityEdge is an abstract class for directed connections between two ActivityNodes.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="result = (redefiningElement.oclIsKindOf(ActivityEdge))&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
    </eAnnotations>
    <eOperations name="source_and_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If an ActivityEdge is directly owned by an Activity, then its source and target must be directly or indirectly contained in the same Activity.&#xA;activity&lt;>null implies source.containingActivity() = activity and target.containingActivity() = activity"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"
        eType="#//Activity" eOpposite="#//Activity/edge">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Activity containing the ActivityEdge, if it is directly owned by an Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ValueSpecification that is evaluated to determine if a token can traverse the ActivityEdge. If an ActivityEdge has no guard, then there is no restriction on tokens traversing the edge.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"
        upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/edge">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityPartitions containing the ActivityEdge.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityEdge/inGroup"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="interrupts" ordered="false"
        eType="#//InterruptibleActivityRegion" eOpposite="#//InterruptibleActivityRegion/interruptingEdge">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InterruptibleActivityRegion for which this ActivityEdge is an interruptingEdge.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inStructuredNode" ordered="false"
        eType="#//StructuredActivityNode" eOpposite="#//StructuredActivityNode/edge">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StructuredActivityNode containing the ActivityEdge, if it is owned by a StructuredActivityNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityEdge/inGroup #//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
        lowerBound="1" eType="#//ActivityNode" eOpposite="#//ActivityNode/incoming">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityNode to which tokens are put when they traverse the ActivityEdge.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
        lowerBound="1" eType="#//ActivityNode" eOpposite="#//ActivityNode/outgoing">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityNode from which tokens are taken when they traverse the ActivityEdge.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedEdge" ordered="false"
        upperBound="-1" eType="#//ActivityEdge">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityEdges from a generalization of the Activity containing this ActivityEdge that are redefined by this ActivityEdge.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="weight" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The minimum number of tokens that must traverse the ActivityEdge at the same time. If no weight is specified, this is equivalent to specifying a constant value of 1.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
        transient="true" derived="true" eOpposite="#//ActivityGroup/containedEdge">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityGroups containing the ActivityEdge.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityPartition" eSuperTypes="#//ActivityGroup">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ActivityPartition is a kind of ActivityGroup for identifying ActivityNodes that have some characteristic in common.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="represents_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a non-external ActivityPartition represents a Classifier and has a superPartition, then the superPartition must represent a Classifier, and the Classifier of the subpartition must be nested (nestedClassifier or ownedBehavior) in the Classifier represented by the superPartition, or be at the contained end of a composition Association with the Classifier represented by the superPartition.&#xA;(not isExternal and represents.oclIsKindOf(Classifier) and superPartition->notEmpty()) implies&#xD;&#xA;(&#xD;&#xA;   let representedClassifier : Classifier = represents.oclAsType(Classifier) in&#xD;&#xA;     superPartition.represents.oclIsKindOf(Classifier) and&#xD;&#xA;      let representedSuperClassifier : Classifier = superPartition.represents.oclAsType(Classifier) in&#xD;&#xA;       (representedSuperClassifier.oclIsKindOf(BehavioredClassifier) and representedClassifier.oclIsKindOf(Behavior) and &#xD;&#xA;        representedSuperClassifier.oclAsType(BehavioredClassifier).ownedBehavior->includes(representedClassifier.oclAsType(Behavior))) &#xD;&#xA;       or&#xD;&#xA;       (representedSuperClassifier.oclIsKindOf(Class) and  representedSuperClassifier.oclAsType(Class).nestedClassifier->includes(representedClassifier))&#xD;&#xA;       or&#xD;&#xA;       (Association.allInstances()->exists(a | a.memberEnd->exists(end1 | end1.isComposite and end1.type = representedClassifier and &#xD;&#xA;                                                                      a.memberEnd->exists(end2 | end1&lt;>end2 and end2.type = representedSuperClassifier))))&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="represents_property_and_is_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If an ActivityPartition represents a Property and has a superPartition, then the Property must be of a Classifier represented by the superPartition, or of a Classifier that is the type of a Property represented by the superPartition.&#xA;(represents.oclIsKindOf(Property) and superPartition->notEmpty()) implies&#xD;&#xA;(&#xD;&#xA;  (superPartition.represents.oclIsKindOf(Classifier) and represents.owner = superPartition.represents) or &#xD;&#xA;  (superPartition.represents.oclIsKindOf(Property) and represents.owner = superPartition.represents.oclAsType(Property).type)&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="represents_property" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If an ActivityPartition represents a Property and has a superPartition representing a Classifier, then all the other non-external subpartitions of the superPartition must represent Properties directly owned by the same Classifier.&#xA;(represents.oclIsKindOf(Property) and superPartition->notEmpty() and superPartition.represents.oclIsKindOf(Classifier)) implies&#xD;&#xA;(&#xD;&#xA;  let representedClassifier : Classifier = superPartition.represents.oclAsType(Classifier)&#xD;&#xA;  in&#xD;&#xA;    superPartition.subpartition->reject(isExternal)->forAll(p | &#xD;&#xA;       p.represents.oclIsKindOf(Property) and p.owner=representedClassifier)&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="dimension_not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ActvivityPartition with isDimension = true may not be contained by another ActivityPartition.&#xA;isDimension implies superPartition->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDimension" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the ActivityPartition groups other ActivityPartitions along a dimension.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isExternal" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the ActivityPartition represents an entity to which the partitioning structure does not apply.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="node" ordered="false" upperBound="-1"
        eType="#//ActivityNode" eOpposite="#//ActivityNode/inPartition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityNodes immediately contained in the ActivityPartition.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityGroup/containedNode"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="represents" ordered="false"
        eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Element represented by the functionality modeled within the ActivityPartition.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subpartition" ordered="false"
        upperBound="-1" eType="#//ActivityPartition" containment="true" eOpposite="#//ActivityPartition/superPartition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Other ActivityPartitions immediately contained in this ActivityPartition (as its subgroups).&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityGroup/subgroup"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="superPartition" ordered="false"
        eType="#//ActivityPartition" eOpposite="#//ActivityPartition/subpartition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Other ActivityPartitions immediately containing this ActivityPartition (as its superGroups).&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityGroup/superGroup"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="edge" ordered="false" upperBound="-1"
        eType="#//ActivityEdge" eOpposite="#//ActivityEdge/inPartition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityEdges immediately contained in the ActivityPartition.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityGroup/containedEdge"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityNode" abstract="true" eSuperTypes="#//RedefinableElement #//ActivityContent">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ActivityNode is an abstract class for points in the flow of an Activity connected by ActivityEdges.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="containingActivity" ordered="false"
          eType="#//Activity">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Activity that directly or indirectly contains this ActivityNode.&#xA;result = (if inStructuredNode&lt;>null then inStructuredNode.containingActivity()&#xD;&#xA;else activity&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ActivityContent/containingActivity"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="result = (redefiningElement.oclIsKindOf(ActivityNode))&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
        <eParameters name="redefiningElement" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"
        eType="#//Activity" volatile="true" transient="true" derived="true" eOpposite="#//Activity/node">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Activity containing the ActivityNode, if it is directly owned by an Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
        transient="true" derived="true" eOpposite="#//ActivityGroup/containedNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityGroups containing the ActivityNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inInterruptibleRegion"
        ordered="false" upperBound="-1" eType="#//InterruptibleActivityRegion" eOpposite="#//InterruptibleActivityRegion/node">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="InterruptibleActivityRegions containing the ActivityNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityNode/inGroup"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inStructuredNode" ordered="false"
        eType="#//StructuredActivityNode" eOpposite="#//StructuredActivityNode/node">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StructuredActivityNode containing the ActvityNode, if it is directly owned by a StructuredActivityNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityNode/inGroup #//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"
        upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/target">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityEdges that have the ActivityNode as their target.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"
        upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/source">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityEdges that have the ActivityNode as their source.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedNode" ordered="false"
        upperBound="-1" eType="#//ActivityNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityNodes from a generalization of the Activity containining this ActivityNode that are redefined by this ActivityNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"
        upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/node">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityPartitions containing the ActivityNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityNode/inGroup"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InterruptibleActivityRegion" eSuperTypes="#//ActivityGroup">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InterruptibleActivityRegion is an ActivityGroup that supports the termination of tokens flowing in the portions of an activity within it.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="interrupting_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The interruptingEdges of an InterruptibleActivityRegion must have their source in the region and their target outside the region, but within the same Activity containing the region.&#xA;interruptingEdge->forAll(edge | &#xD;&#xA;  node->includes(edge.source) and node->excludes(edge.target) and edge.target.containingActivity() = inActivity)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="interruptingEdge" ordered="false"
        upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/interrupts">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityEdges leaving the InterruptibleActivityRegion on which a traversing token will result in the termination of other tokens flowing in the InterruptibleActivityRegion.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="node" ordered="false" upperBound="-1"
        eType="#//ActivityNode" eOpposite="#//ActivityNode/inInterruptibleRegion">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ActivityNodes immediately contained in the InterruptibleActivityRegion.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityGroup/containedNode"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StructuredActivityNode" eSuperTypes="#//Action #//Namespace #//ActivityGroup">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A StructuredActivityNode is an Action that is also an ActivityGroup and whose behavior is specified by the ActivityNodes and ActivityEdges it so contains. Unlike other kinds of ActivityGroup, a StructuredActivityNode owns the ActivityNodes and ActivityEdges it contains, and so a node or edge can only be directly contained in one StructuredActivityNode, though StructuredActivityNodes may be nested.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="allActions" ordered="false" upperBound="-1"
          eType="#//Action">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Returns this StructuredActivityNode and all Actions contained in it.&#xA;result = (node->select(oclIsKindOf(Action)).oclAsType(Action).allActions()->including(self)->asSet())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Action/allActions"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="allOwnedNodes" ordered="false" upperBound="-1"
          eType="#//ActivityNode">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Returns all the ActivityNodes contained directly or indirectly within this StructuredActivityNode, in addition to the Pins of the StructuredActivityNode.&#xA;result = (self.Action::allOwnedNodes()->union(node)->union(node->select(oclIsKindOf(Action)).oclAsType(Action).allOwnedNodes())->asSet())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Action/allOwnedNodes"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="containingActivity" ordered="false"
          eType="#//Activity">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Activity that directly or indirectly contains this StructuredActivityNode (considered as an Action).&#xA;result = (self.Action::containingActivity())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ActivityGroup/%duplicates%/containingActivity #//ActivityNode/%duplicates%/containingActivity #//ActivityContent/containingActivity"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="activity" ordered="false" eType="#//Activity"
          volatile="true" transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Activity immediately containing the StructuredActivityNode, if it is not contained in another StructuredActivityNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ActivityGroup/inActivity #//ActivityNode/activity"/>
      </contents>
    </eAnnotations>
    <eOperations name="output_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The outgoing ActivityEdges of the OutputPins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.&#xA;output.outgoing.target->excludesAll(allOwnedNodes()-input)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The edges of a StructuredActivityNode are all the ActivityEdges with source and target ActivityNodes contained directly or indirectly within the StructuredActivityNode and at least one of the source or target not contained in any more deeply nested StructuredActivityNode.&#xA;edge=self.sourceNodes().outgoing->intersection(self.allOwnedNodes().incoming)->&#xD;&#xA;&#x9;union(self.targetNodes().incoming->intersection(self.allOwnedNodes().outgoing))->asSet()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="input_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The incoming ActivityEdges of an InputPin of a StructuredActivityNode must have sources that are not within the StructuredActivityNode.&#xA;input.incoming.source->excludesAll(allOwnedNodes()-output)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="sourceNodes" ordered="false" upperBound="-1" eType="#//ActivityNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as sources of edges owned by the StructuredActivityNode.&#xA;result = (node->union(input.oclAsType(ActivityNode)->asSet())->&#xD;&#xA;  union(node->select(oclIsKindOf(Action)).oclAsType(Action).output)->asSet())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="targetNodes" ordered="false" upperBound="-1" eType="#//ActivityNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as targets of edges owned by the StructuredActivityNode.&#xA;result = (node->union(output.oclAsType(ActivityNode)->asSet())->&#xD;&#xA;  union(node->select(oclIsKindOf(Action)).oclAsType(Action).input)->asSet())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="edge" ordered="false" upperBound="-1"
        eType="#//ActivityEdge" containment="true" eOpposite="#//ActivityEdge/inStructuredNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityEdges immediately contained in the StructuredActivityNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityGroup/containedEdge #//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mustIsolate" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, then any object used by an Action within the StructuredActivityNode cannot be accessed by any Action outside the node until the StructuredActivityNode as a whole completes. Any concurrent Actions that would result in accessing such objects are required to have their execution deferred until the completion of the StructuredActivityNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNodeInput" ordered="false"
        upperBound="-1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPins owned by the StructuredActivityNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNodeOutput" ordered="false"
        upperBound="-1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPins owned by the StructuredActivityNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="variable" ordered="false"
        upperBound="-1" eType="#//Variable" containment="true" eOpposite="#//Variable/scope">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Variables defined in the scope of the StructuredActivityNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="node" ordered="false" upperBound="-1"
        eType="#//ActivityNode" containment="true" eOpposite="#//ActivityNode/inStructuredNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityNodes immediately contained in the StructuredActivityNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ActivityGroup/containedNode #//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Action" abstract="true" eSuperTypes="#//ExecutableNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Action is the fundamental unit of executable functionality. The execution of an Action represents some transformation or processing in the modeled system. Actions provide the ExecutableNodes within Activities and may also be used within Interactions.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="getContext" ordered="false" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The derivation for the context property.&#xA;result = (let behavior: Behavior = self.containingBehavior() in&#xD;&#xA;if behavior=null then null&#xD;&#xA;else if behavior._'context' = null then behavior&#xD;&#xA;else behavior._'context'&#xD;&#xA;endif&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="context"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allActions" ordered="false" upperBound="-1" eType="#//Action">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return this Action and all Actions contained directly or indirectly in it. By default only the Action itself is returned, but the operation is overridden for StructuredActivityNodes.&#xA;result = (self->asSet())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="allOwnedNodes" ordered="false" upperBound="-1" eType="#//ActivityNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns all the ActivityNodes directly or indirectly owned by this Action. This includes at least all the Pins of the Action.&#xA;result = (input.oclAsType(Pin)->asSet()->union(output->asSet()))&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="containingBehavior" ordered="false" eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="result = (if inStructuredNode&lt;>null then inStructuredNode.containingBehavior() &#xD;&#xA;else if activity&lt;>null then activity&#xD;&#xA;else interaction &#xD;&#xA;endif&#xD;&#xA;endif&#xD;&#xA;)&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
        eType="#//Classifier" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The context Classifier of the Behavior that contains this Action, or the Behavior itself if it has no context.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="input" upperBound="-1"
        eType="#//InputPin" changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of InputPins representing the inputs to the Action.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLocallyReentrant" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the Action can begin a new, concurrent execution, even if there is already another execution of the Action ongoing. If false, the Action cannot begin a new execution until any previous execution has completed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="localPostcondition" ordered="false"
        upperBound="-1" eType="#//Constraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Constraint that must be satisfied when execution of the Action is completed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="localPrecondition" ordered="false"
        upperBound="-1" eType="#//Constraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Constraint that must be satisfied when execution of the Action is started.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="output" upperBound="-1"
        eType="#//OutputPin" changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of OutputPins representing outputs from the Action.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="union"/>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExecutableNode" abstract="true" eSuperTypes="#//ActivityNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ExecutableNode is an abstract class for ActivityNodes whose execution may be controlled using ControlFlows and to which ExceptionHandlers may be attached.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="handler" ordered="false"
        upperBound="-1" eType="#//ExceptionHandler" containment="true" eOpposite="#//ExceptionHandler/protectedNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of ExceptionHandlers that are examined if an exception propagates out of the ExceptionNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExceptionHandler" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ExceptionHandler is an Element that specifies a handlerBody ExecutableNode to execute in case the specified exception occurs during the execution of the protected ExecutableNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="handler_body_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The handlerBody has no incoming or outgoing ActivityEdges and the exceptionInput has no incoming ActivityEdges.&#xA;handlerBody.incoming->isEmpty() and handlerBody.outgoing->isEmpty() and exceptionInput.incoming->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the protectedNode is an Action with OutputPins, then the handlerBody must also be an Action with the same number of OutputPins, which are compatible in type, ordering, and multiplicity to those of the protectedNode.&#xA;(protectedNode.oclIsKindOf(Action) and protectedNode.oclAsType(Action).output->notEmpty()) implies&#xD;&#xA;(&#xD;&#xA;  handlerBody.oclIsKindOf(Action) and &#xD;&#xA;  let protectedNodeOutput : OrderedSet(OutputPin) = protectedNode.oclAsType(Action).output,&#xD;&#xA;        handlerBodyOutput : OrderedSet(OutputPin) =  handlerBody.oclAsType(Action).output in&#xD;&#xA;    protectedNodeOutput->size() = handlerBodyOutput->size() and&#xD;&#xA;    Sequence{1..protectedNodeOutput->size()}->forAll(i |&#xD;&#xA;    &#x9;handlerBodyOutput->at(i).type.conformsTo(protectedNodeOutput->at(i).type) and&#xD;&#xA;    &#x9;handlerBodyOutput->at(i).isOrdered=protectedNodeOutput->at(i).isOrdered and&#xD;&#xA;    &#x9;handlerBodyOutput->at(i).compatibleWith(protectedNodeOutput->at(i)))&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="one_input" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The handlerBody is an Action with one InputPin, and that InputPin is the same as the exceptionInput.&#xA;handlerBody.oclIsKindOf(Action) and&#xD;&#xA;let inputs: OrderedSet(InputPin) = handlerBody.oclAsType(Action).input in&#xD;&#xA;inputs->size()=1 and inputs->first()=exceptionInput"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="edge_source_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ActivityEdge that has a source within the handlerBody of an ExceptionHandler must have its target in the handlerBody also, and vice versa.&#xA;let nodes:Set(ActivityNode) = handlerBody.oclAsType(Action).allOwnedNodes() in&#xD;&#xA;nodes.outgoing->forAll(nodes->includes(target)) and&#xD;&#xA;nodes.incoming->forAll(nodes->includes(source))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="handler_body_owner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The handlerBody must have the same owner as the protectedNode.&#xA;handlerBody.owner=protectedNode.owner"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="exception_input_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The exceptionInput must either have no type or every exceptionType must conform to the exceptionInput type.&#xA;exceptionInput.type=null or &#xD;&#xA;exceptionType->forAll(conformsTo(exceptionInput.type.oclAsType(Classifier)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="exceptionInput" ordered="false"
        lowerBound="1" eType="#//ObjectNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ObjectNode within the handlerBody. When the ExceptionHandler catches an exception, the exception token is placed on this ObjectNode, causing the handlerBody to execute.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="exceptionType" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifiers whose instances the ExceptionHandler catches as exceptions. If an exception occurs whose type is any exceptionType, the ExceptionHandler catches the exception and executes the handlerBody.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="handlerBody" ordered="false"
        lowerBound="1" eType="#//ExecutableNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ExecutableNode that is executed if the ExceptionHandler catches an exception.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="protectedNode" ordered="false"
        lowerBound="1" eType="#//ExecutableNode" eOpposite="#//ExecutableNode/handler">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ExecutableNode protected by the ExceptionHandler. If an exception propagates out of the protectedNode and has a type matching one of the exceptionTypes, then it is caught by this ExceptionHandler.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectNode" abstract="true" eSuperTypes="#//ActivityNode #//TypedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ObjectNode is an abstract ActivityNode that may hold tokens within the object flow in an Activity. ObjectNodes also support token selection, limitation on the number of tokens held, specification of the state required for tokens being held, and carrying control values.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="input_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A selection Behavior has one input Parameter and one output Parameter. The input Parameter must have the same type as  or a supertype of the type of ObjectNode, be non-unique, and have multiplicity 0..*. The output Parameter must be the same or a subtype of the type of ObjectNode. The Behavior cannot have side effects.&#xA;selection&lt;>null implies&#xD;&#xA;&#x9;selection.inputParameters()->size()=1 and&#xD;&#xA;&#x9;selection.inputParameters()->forAll(p | not p.isUnique and p.is(0,*) and self.type.conformsTo(p.type)) and&#xD;&#xA;&#x9;selection.outputParameters()->size()=1 and&#xD;&#xA;&#x9;&#x9;selection.inputParameters()->forAll(p | self.type.conformsTo(p.type))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="selection_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If an ObjectNode has a selection Behavior, then the ordering of the object node is ordered, and vice versa.&#xA;(selection&lt;>null) = (ordering=ObjectNodeOrderingKind::ordered)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="object_flow_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isControlType=false, the ActivityEdges incoming to or outgoing from an ObjectNode must all be ObjectFlows.&#xA;(not isControlType) implies incoming->union(outgoing)->forAll(oclIsKindOf(ObjectFlow))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inState" ordered="false"
        upperBound="-1" eType="#//State">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The States required to be associated with the values held by tokens on this ObjectNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isControlType" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the type of the ObjectNode is to be treated as representing control values that may traverse ControlFlows.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordering" ordered="false"
        lowerBound="1" eType="#//ObjectNodeOrderingKind" defaultValueLiteral="FIFO">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates how the tokens held by the ObjectNode are ordered for selection to traverse ActivityEdges outgoing from the ObjectNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="selection" ordered="false"
        eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Behavior used to select tokens to be offered on outgoing ActivityEdges.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The maximum number of tokens that may be held by this ObjectNode. Tokens cannot flow into the ObjectNode if the upperBound is reached. If no upperBound is specified, then there is no limit on how many tokens the ObjectNode can hold.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="ObjectNodeOrderingKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ObjectNodeOrderingKind is an enumeration indicating queuing order for offering the tokens held by an ObjectNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="unordered">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that tokens are unordered."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="ordered" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that tokens are ordered."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="LIFO" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that tokens are queued in a last in, first out manner."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="FIFO" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that tokens are queued in a first in, first out manner."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InputPin" eSuperTypes="#//Pin">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InputPin is a Pin that holds input values to be consumed by an Action.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="outgoing_edges_structured_only" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InputPin may have outgoing ActivityEdges only when it is owned by a StructuredActivityNode, and these edges must target a node contained (directly or indirectly) in the owning StructuredActivityNode.&#xA;outgoing->notEmpty() implies&#xD;&#xA;&#x9;action&lt;>null and&#xD;&#xA;&#x9;action.oclIsKindOf(StructuredActivityNode) and&#xD;&#xA;&#x9;action.oclAsType(StructuredActivityNode).allOwnedNodes()->includesAll(outgoing.target)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Pin" abstract="true" eSuperTypes="#//ObjectNode #//MultiplicityElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Pin is an ObjectNode and MultiplicityElement that provides input values to an Action or accepts output values from an Action.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="control_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A control Pin has a control type.&#xA;isControl implies isControlType"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_unique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Pin multiplicity is not unique.&#xA;not isUnique"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isControl" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the Pin provides data to the Action or just controls how the Action executes.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OutputPin" eSuperTypes="#//Pin">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An OutputPin is a Pin that holds output values produced by an Action.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="incoming_edges_structured_only" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An OutputPin may have incoming ActivityEdges only when it is owned by a StructuredActivityNode, and these edges must have sources contained (directly or indirectly) in the owning StructuredActivityNode.&#xA;incoming->notEmpty() implies&#xD;&#xA;&#x9;action&lt;>null and&#xD;&#xA;&#x9;action.oclIsKindOf(StructuredActivityNode) and&#xD;&#xA;&#x9;action.oclAsType(StructuredActivityNode).allOwnedNodes()->includesAll(incoming.source)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//ConnectableElement #//MultiplicityElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Variable is a ConnectableElement that may store values during the execution of an Activity. Reading and writing the values of a Variable provides an alternative means for passing data than the use of ObjectFlows. A Variable may be owned directly by an Activity, in which case it is accessible from anywhere within that activity, or it may be owned by a StructuredActivityNode, in which case it is only accessible within that node.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="isAccessibleBy" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Variable is accessible by Actions within its scope (the Activity or StructuredActivityNode that owns it).&#xA;result = (if scope&lt;>null then scope.allOwnedNodes()->includes(a)&#xD;&#xA;else a.containingActivity()=activityScope&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="a" ordered="false" lowerBound="1" eType="#//Action"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="activityScope" ordered="false"
        eType="#//Activity" eOpposite="#//Activity/variable">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Activity that owns the Variable.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="scope" ordered="false"
        eType="#//StructuredActivityNode" eOpposite="#//StructuredActivityNode/variable">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A StructuredActivityNode that owns the Variable.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ValueSpecificationAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ValueSpecificationAction is an Action that evaluates a ValueSpecification and provides a result.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin is 1..1&#xA;result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="compatible_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the value ValueSpecification must conform to the type of the result OutputPin.&#xA;value.type.conformsTo(result.type)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which the result value is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
        lowerBound="1" eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ValueSpecification to be evaluated.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="VariableAction" abstract="true" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="VariableAction is an abstract class for Actions that operate on a specified Variable.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="scope_of_variable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The VariableAction must be in the scope of the variable.&#xA;variable.isAccessibleBy(self)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="variable" ordered="false"
        lowerBound="1" eType="#//Variable">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Variable to be read or written.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="WriteLinkAction" abstract="true" eSuperTypes="#//LinkAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="WriteLinkAction is an abstract class for LinkActions that create and destroy links.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="allow_access" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The visibility of at least one end must allow access from the context Classifier of the WriteLinkAction.&#xA;endData.end->exists(end |&#xD;&#xA;  end.type=_'context' or&#xD;&#xA;  end.visibility=VisibilityKind::public or &#xD;&#xA;  end.visibility=VisibilityKind::protected and&#xD;&#xA;  endData.end->exists(other | &#xD;&#xA;    other&lt;>end and _'context'.conformsTo(other.type.oclAsType(Classifier))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LinkAction" abstract="true" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="LinkAction is an abstract class for all Actions that identify the links to be acted on using LinkEndData.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="same_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The inputValue InputPins is the same as the union of all the InputPins referenced by the endData.&#xA;inputValue->asBag()=endData.allPins()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ends of the endData must all be from the same Association and include all and only the memberEnds of that association.&#xA;endData.end = self.association().memberEnd->asBag()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ends of the endData must not be static.&#xA;endData->forAll(not end.isStatic)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="association" ordered="false" lowerBound="1" eType="#//Association">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the Association acted on by this LinkAction.&#xA;result = (endData->asSequence()->first().end.association)&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="endData" ordered="false"
        lowerBound="2" upperBound="-1" eType="#//LinkEndData" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The LinkEndData identifying the values on the ends of the links acting on by this LinkAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inputValue" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="InputPins used by the LinkEndData of the LinkAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LinkEndData" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="LinkEndData is an Element that identifies on end of a link to be read or written by a LinkAction. As a link (that is not a link object) cannot be passed as a runtime value to or from an Action, it is instead identified by its end objects and qualifier values, if any. A LinkEndData instance provides these values for a single Association end.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the value InputPin conforms to the type of the Association end.&#xA;value&lt;>null implies value.type.conformsTo(end.type)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the value InputPin must be 1..1.&#xA;value&lt;>null implies value.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="end_object_input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The value InputPin is not also the qualifier value InputPin.&#xA;value->excludesAll(qualifier.value)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="property_is_association_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Property must be an Association memberEnd.&#xA;end.association &lt;> null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="qualifiers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The qualifiers must be qualifiers of the Association end.&#xA;end.qualifier->includesAll(qualifier.qualifier)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="allPins" ordered="false" unique="false" upperBound="-1" eType="#//InputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns all the InputPins referenced by this LinkEndData. By default this includes the value and qualifier InputPins, but subclasses may override the operation to add other InputPins.&#xA;result = (value->asBag()->union(qualifier.value))&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false" lowerBound="1"
        eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Association end for which this LinkEndData specifies values.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" ordered="false"
        upperBound="-1" eType="#//QualifierValue" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of QualifierValues used to provide values for the qualifiers of the end.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
        eType="#//InputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that provides the specified value for the given end. This InputPin is omitted if the LinkEndData specifies the &quot;open&quot; end for a ReadLinkAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="QualifierValue" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A QualifierValue is an Element that is used as part of LinkEndData to provide the value for a single qualifier of the end given by the LinkEndData.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the value InputPin is 1..1.&#xA;value.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the value InputPin conforms to the type of the qualifier Property.&#xA;value.type.conformsTo(qualifier.type)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="qualifier_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The qualifier must be a qualifier of the Association end of the linkEndData that owns this QualifierValue.&#xA;linkEndData.end.qualifier->includes(qualifier)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" ordered="false"
        lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The qualifier Property for which the value is to be specified.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
        lowerBound="1" eType="#//InputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin from which the specified value for the qualifier is taken.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="WriteStructuralFeatureAction" abstract="true"
      eSuperTypes="#//StructuralFeatureAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="WriteStructuralFeatureAction is an abstract class for StructuralFeatureActions that change StructuralFeature values.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin must be 1..1.&#xA;result &lt;> null implies result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the value InputPin must conform to the type of the structuralFeature.&#xA;value &lt;> null implies value.type.conformsTo(structuralFeature.type)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the value InputPin is 1..1.&#xA;value&lt;>null implies value.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin is the same as the type of the inherited object InputPin.&#xA;result &lt;> null implies result.type = object.type"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which is put the input object as modified by the WriteStructuralFeatureAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that provides the value to be added or removed from the StructuralFeature.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeatureAction" abstract="true"
      eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="StructuralFeatureAction is an abstract class for all Actions that operate on StructuralFeatures.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin must be 1..1.&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="object_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The structuralFeature must either be an owned or inherited feature of the type of the object InputPin, or it must be an owned end of a binary Association whose opposite end had as a type to which the type of the object InputPin conforms.&#xA;object.type.oclAsType(Classifier).allFeatures()->includes(structuralFeature) or&#xD;&#xA;&#x9;object.type.conformsTo(structuralFeature.oclAsType(Property).opposite.type)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The visibility of the structuralFeature must allow access from the object performing the ReadStructuralFeatureAction.&#xA;structuralFeature.visibility = VisibilityKind::public or&#xA;_'context'.allFeatures()->includes(structuralFeature) or&#xA;structuralFeature.visibility=VisibilityKind::protected and&#xA;_'context'.conformsTo(structuralFeature.oclAsType(Property).opposite.type.oclAsType(Classifier))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The structuralFeature must not be static.&#xA;not structuralFeature.isStatic"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="one_featuring_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The structuralFeature must have exactly one featuringClassifier.&#xA;structuralFeature.featuringClassifier->size() = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin from which the object whose StructuralFeature is to be read or written is obtained.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="structuralFeature" ordered="false"
        lowerBound="1" eType="#//StructuralFeature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StructuralFeature to be read or written.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="WriteVariableAction" abstract="true"
      eSuperTypes="#//VariableAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="WriteVariableAction is an abstract class for VariableActions that change Variable values.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="value_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the value InputPin must conform to the type of the variable.&#xA;value &lt;> null implies value.type.conformsTo(variable.type)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the value InputPin is 1..1.&#xA;value&lt;>null implies value.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that gives the value to be added or removed from the Variable.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="ExpansionKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ExpansionKind is an enumeration type used to specify how an ExpansionRegion executes its contents.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="parallel">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The content of the ExpansionRegion is executed concurrently for the elements of the input collections."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="iterative" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The content of the ExpansionRegion is executed iteratively for the elements of the input collections, in the order of the input elements, if the collections are ordered."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="stream" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A stream of input collection elements flows into a single execution of the content of the ExpansionRegion, in the order of the collection elements if the input collections are ordered."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AcceptCallAction" eSuperTypes="#//AcceptEventAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An AcceptCallAction is an AcceptEventAction that handles the receipt of a synchronous call request. In addition to the values from the Operation input parameters, the Action produces an output that is needed later to supply the information to the ReplyAction necessary to return control to the caller. An AcceptCallAction is for synchronous calls. If it is used to handle an asynchronous call, execution of the subsequent ReplyAction will complete immediately with no effect.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="result_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The number of result OutputPins must be the same as the number of input (in and inout) ownedParameters of the Operation specified by the trigger Event. The type, ordering and multiplicity of each result OutputPin must be consistent with the corresponding input Parameter.&#xA;let parameter: OrderedSet(Parameter) = trigger.event->asSequence()->first().oclAsType(CallEvent).operation.inputParameters() in&#xD;&#xA;result->size() = parameter->size() and&#xD;&#xA;Sequence{1..result->size()}->forAll(i | &#xD;&#xA;&#x9;parameter->at(i).type.conformsTo(result->at(i).type) and &#xD;&#xA;&#x9;parameter->at(i).isOrdered = result->at(i).isOrdered and&#xD;&#xA;&#x9;parameter->at(i).compatibleWith(result->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="trigger_call_event" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The action must have exactly one trigger, which must be for a CallEvent.&#xA;trigger->size()=1 and&#xD;&#xA;trigger->asSequence()->first().event.oclIsKindOf(CallEvent)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="unmarshall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="isUnmrashall must be true for an AcceptCallAction.&#xA;isUnmarshall = true"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="returnInformation" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An OutputPin where a value is placed containing sufficient information to perform a subsequent ReplyAction 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.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AcceptEventAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An AcceptEventAction is an Action that waits for the occurrence of one or more specific Events.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="one_output_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isUnmarshall=false and any of the triggers are for SignalEvents or TimeEvents, there must be exactly one result OutputPin with multiplicity 1..1.&#xA;not isUnmarshall and trigger->exists(event.oclIsKindOf(SignalEvent) or event.oclIsKindOf(TimeEvent)) implies &#xD;&#xA;&#x9;output->size() = 1 and output->first().is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_input_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="AcceptEventActions may have no input pins.&#xA;input->size() = 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="There are no OutputPins if the trigger events are only ChangeEvents and/or CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction).&#xA;(self.oclIsTypeOf(AcceptEventAction) and&#xD;&#xA;   (trigger->forAll(event.oclIsKindOf(ChangeEvent) or  &#xD;&#xA;                             event.oclIsKindOf(CallEvent))))&#xD;&#xA;implies output->size() = 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="unmarshall_signal_events" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isUnmarshall is true (and this is not an AcceptCallAction), there must be exactly one trigger, which is for a 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.&#xA;isUnmarshall and self.oclIsTypeOf(AcceptEventAction) implies&#xD;&#xA;&#x9;trigger->size()=1 and&#xD;&#xA;&#x9;trigger->asSequence()->first().event.oclIsKindOf(SignalEvent) and&#xD;&#xA;&#x9;let attribute: OrderedSet(Property) = trigger->asSequence()->first().event.oclAsType(SignalEvent).signal.allAttributes() in&#xD;&#xA;&#x9;attribute->size()>0 and result->size() = attribute->size() and&#xD;&#xA;&#x9;Sequence{1..result->size()}->forAll(i | &#xD;&#xA;&#x9;&#x9;result->at(i).type = attribute->at(i).type and &#xD;&#xA;&#x9;&#x9;result->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;&#xA;&#x9;&#x9;result->at(i).includesMultiplicity(attribute->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="conforming_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isUnmarshall=false and all the triggers are for SignalEvents, then the type of the single result OutputPin must either be null or all the signals must conform to it.&#xA;not isUnmarshall implies &#xD;&#xA;&#x9;result->isEmpty() or&#xD;&#xA;&#x9;let type: Type = result->first().type in&#xD;&#xA;&#x9;type=null or &#xD;&#xA;&#x9;&#x9;(trigger->forAll(event.oclIsKindOf(SignalEvent)) and &#xD;&#xA;&#x9;&#x9; trigger.event.oclAsType(SignalEvent).signal->forAll(s | s.conformsTo(type)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnmarshall" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether there is a single OutputPin for a SignalEvent occurrence, or multiple OutputPins for attribute values of the instance of the Signal associated with a SignalEvent occurrence.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"
        eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="OutputPins holding the values received from an Event occurrence.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Trigger" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Triggers specifying the Events of which the AcceptEventAction waits for occurrences.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActionInputPin" eSuperTypes="#//InputPin">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ActionInputPin is a kind of InputPin that executes an Action to determine the values to input to another Action.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The fromAction of an ActionInputPin must only have ActionInputPins as InputPins.&#xA;fromAction.input->forAll(oclIsKindOf(ActionInputPin))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="one_output_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The fromAction of an ActionInputPin must have exactly one OutputPin.&#xA;fromAction.output->size() = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_control_or_object_flow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The fromAction of an ActionInputPin cannot have ActivityEdges coming into or out of it or its Pins.&#xA;fromAction.incoming->union(outgoing)->isEmpty() and&#xD;&#xA;fromAction.input.incoming->isEmpty() and&#xD;&#xA;fromAction.output.outgoing->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="fromAction" ordered="false"
        lowerBound="1" eType="#//Action" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Action used to provide the values of the ActionInputPin.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AddStructuralFeatureValueAction" eSuperTypes="#//WriteStructuralFeatureAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An AddStructuralFeatureValueAction is a WriteStructuralFeatureAction for adding values to a StructuralFeature.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="required_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A value InputPin is required.&#xA;value&lt;>null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="insertAt_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="AddStructuralFeatureActions adding a value to ordered StructuralFeatures must have a single InputPin for the insertion point with type UnlimitedNatural and multiplicity of 1..1 if isReplaceAll=false, and must have no Input Pin for the insertion point when the StructuralFeature is unordered.&#xA;if not structuralFeature.isOrdered then insertAt = null&#xA;else &#xA;  not isReplaceAll implies&#xA;  &#x9;insertAt&lt;>null and &#xA;  &#x9;insertAt->forAll(type=UnlimitedNatural and is(1,1.oclAsType(UnlimitedNatural)))&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="insertAt" ordered="false"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that gives the position at which to insert the value in an ordered StructuralFeature. The type of the insertAt InputPin is UnlimitedNatural, but the value cannot be zero. It is omitted for unordered StructuralFeatures.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReplaceAll" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether existing values of the StructuralFeature should be removed before adding the new value.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AddVariableValueAction" eSuperTypes="#//WriteVariableAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An AddVariableValueAction is a WriteVariableAction for adding values to a Variable.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="required_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A value InputPin is required.&#xA;value &lt;> null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="insertAt_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="AddVariableValueActions for ordered Variables must have a single InputPin for the insertion point with type UnlimtedNatural and multiplicity of 1..1 if isReplaceAll=false, otherwise the Action has no InputPin for the insertion point.&#xA;if not variable.isOrdered then insertAt = null&#xA;else &#xA;  not isReplaceAll implies&#xA;  &#x9;insertAt&lt;>null and &#xA;  &#x9;insertAt->forAll(type=UnlimitedNatural and is(1,1.oclAsType(UnlimitedNatural)))&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="insertAt" ordered="false"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that gives the position at which to insert a new value or move an existing value in ordered Variables. The type of the insertAt InputPin is UnlimitedNatural, but the value cannot be zero. It is omitted for unordered Variables.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReplaceAll" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether existing values of the Variable should be removed before adding the new value.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BroadcastSignalAction" eSuperTypes="#//InvocationAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A BroadcastSignalAction is an InvocationAction that transmits a Signal instance to all the potential target objects in the system. Values from the argument InputPins are used to provide values for the attributes of the Signal. The requestor continues execution immediately after the Signal instances are sent out and cannot receive reply values.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="number_of_arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The number of argument InputPins must be the same as the number of attributes in the signal.&#xA;argument->size() = signal.allAttributes()->size()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type, ordering, and multiplicity of an argument InputPin must be the same as the corresponding attribute of the signal.&#xA;let attribute: OrderedSet(Property) = signal.allAttributes() in&#xD;&#xA;Sequence{1..argument->size()}->forAll(i | &#xD;&#xA;&#x9;argument->at(i).type.conformsTo(attribute->at(i).type) and &#xD;&#xA;&#x9;argument->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;&#xA;&#x9;argument->at(i).compatibleWith(attribute->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_onport" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A BroadcaseSignalAction may not specify onPort.&#xA;onPort=null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
        lowerBound="1" eType="#//Signal">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Signal whose instances are to be sent.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InvocationAction" abstract="true" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="InvocationAction is an abstract class for the various actions that request Behavior invocation.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPins that provide the argument values passed in the invocation request.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="onPort" ordered="false"
        eType="#//Port">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="For CallOperationActions, SendSignalActions, and SendObjectActions, an optional Port of the target object through which the invocation request is sent.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CallAction" abstract="true" eSuperTypes="#//InvocationAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="CallAction is an abstract class for Actions that invoke a Behavior with given argument values and (if the invocation is synchronous) receive reply values.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="argument_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The number of argument InputPins must be the same as the number of input (in and inout) ownedParameters of the called Behavior or Operation. The type, ordering and multiplicity of each argument InputPin must be consistent with the corresponding input Parameter.&#xA;let parameter: OrderedSet(Parameter) = self.inputParameters() in&#xD;&#xA;argument->size() = parameter->size() and&#xD;&#xA;Sequence{1..argument->size()}->forAll(i | &#xD;&#xA;&#x9;argument->at(i).type.conformsTo(parameter->at(i).type) and &#xD;&#xA;&#x9;argument->at(i).isOrdered = parameter->at(i).isOrdered and&#xD;&#xA;&#x9;argument->at(i).compatibleWith(parameter->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="result_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The number of result OutputPins must be the same as the number of output (inout, out and return) ownedParameters of the called Behavior or Operation. The type, ordering and multiplicity of each result OutputPin must be consistent with the corresponding input Parameter.&#xA;let parameter: OrderedSet(Parameter) = self.outputParameters() in&#xD;&#xA;result->size() = parameter->size() and&#xD;&#xA;Sequence{1..result->size()}->forAll(i | &#xD;&#xA;&#x9;parameter->at(i).type.conformsTo(result->at(i).type) and &#xD;&#xA;&#x9;parameter->at(i).isOrdered = result->at(i).isOrdered and&#xD;&#xA;&#x9;parameter->at(i).compatibleWith(result->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="synchronous_call" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Only synchronous CallActions can have result OutputPins.&#xA;result->notEmpty() implies isSynchronous"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="inputParameters" upperBound="-1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return the in and inout ownedParameters of the Behavior or Operation being called. (This operation is abstract and should be overridden by subclasses of CallAction.)&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="outputParameters" upperBound="-1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Return the inout, out and return ownedParameters of the Behavior or Operation being called. (This operation is abstract and should be overridden by subclasses of CallAction.)&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSynchronous" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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 cannot receive return values.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"
        eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPins on which the reply values from the invocation are placed (if the call is synchronous).&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CallBehaviorAction" eSuperTypes="#//CallAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CallBehaviorAction is a CallAction that invokes a Behavior directly. The argument values of the CallBehaviorAction are passed on the input Parameters of the invoked Behavior. If the call is synchronous, the execution of the CallBehaviorAction waits until the execution of the invoked Behavior completes and the values of output Parameters of the Behavior are placed on the result OutputPins. If the call is asynchronous, the CallBehaviorAction completes immediately and no results values can be provided.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="outputParameters" upperBound="-1"
          eType="#//Parameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return the inout, out and return ownedParameters of the Behavior being called.&#xA;result = (behavior.outputParameters())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//CallAction/outputParameters"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="inputParameters" upperBound="-1"
          eType="#//Parameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return the in and inout ownedParameters of the Behavior being called.&#xA;result = (behavior.inputParameters())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//CallAction/inputParameters"/>
      </contents>
    </eAnnotations>
    <eOperations name="no_onport" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A CallBehaviorAction may not specify onPort.&#xA;onPort=null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"
        lowerBound="1" eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Behavior being invoked.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CallOperationAction" eSuperTypes="#//CallAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CallOperationAction is a CallAction that transmits an Operation call request to the target object, where it may cause the invocation of associated Behavior. The argument values of the CallOperationAction are passed on the input Parameters of the Operation. If call is synchronous, the execution of the CallOperationAction waits until the execution of the invoked Operation completes and the values of output Parameters of the Operation are placed on the result OutputPins. If the call is asynchronous, the CallOperationAction completes immediately and no results values can be provided.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="outputParameters" upperBound="-1"
          eType="#//Parameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return the inout, out and return ownedParameters of the Operation being called.&#xA;result = (operation.outputParameters())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//CallAction/outputParameters"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="inputParameters" upperBound="-1"
          eType="#//Parameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return the in and inout ownedParameters of the Operation being called.&#xA;result = (operation.inputParameters())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//CallAction/inputParameters"/>
      </contents>
    </eAnnotations>
    <eOperations name="type_target_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If onPort has no value, the operation must be an owned or inherited feature of the type of the target InputPin, otherwise the Port given by onPort must be an owned or inherited feature of the type of the target InputPin, and the Port must have a required or provided Interface with the operation as an owned or inherited feature.&#xA;if onPort=null then  target.type.oclAsType(Classifier).allFeatures()->includes(operation)&#xD;&#xA;else target.type.oclAsType(Classifier).allFeatures()->includes(onPort) and onPort.provided->union(onPort.required).allFeatures()->includes(operation)&#xD;&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"
        lowerBound="1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operation being invoked.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that provides the target object to which the Operation call request is sent.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Clause" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Clause is an Element that represents a single branch of a ConditionalNode, including a test and a body section. The body section is executed only if (but not necessarily if) the test section evaluates to true.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="body_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The bodyOutput Pins are OutputPins on Actions in the body of the Clause.&#xA;_'body'.oclAsType(Action).allActions().output->includesAll(bodyOutput)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="decider_output" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The decider Pin must be on an Action in the test section of the Clause and must be of type Boolean with multiplicity 1..1.&#xA;test.oclAsType(Action).allActions().output->includes(decider) and&#xD;&#xA;decider.type = Boolean and&#xD;&#xA;decider.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="test_and_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The test and body parts of a ConditionalNode must be disjoint with each other.&#xA;test->intersection(_'body')->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="body" ordered="false" upperBound="-1"
        eType="#//ExecutableNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of ExecutableNodes that are executed if the test evaluates to true and the Clause is chosen over other Clauses within the ConditionalNode that also have tests that evaluate to true.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" upperBound="-1"
        eType="#//OutputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPins on Actions within the body section whose values are moved to the result OutputPins of the containing ConditionalNode after execution of the body.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="decider" ordered="false"
        lowerBound="1" eType="#//OutputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An OutputPin on an Action in the test section whose Boolean value determines the result of the test.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="predecessorClause" ordered="false"
        upperBound="-1" eType="#//Clause" eOpposite="#//Clause/successorClause">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of Clauses whose tests must all evaluate to false before this Clause can evaluate its test.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="successorClause" ordered="false"
        upperBound="-1" eType="#//Clause" eOpposite="#//Clause/predecessorClause">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of Clauses that may not evaluate their tests unless the test for this Clause evaluates to false.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="test" ordered="false" lowerBound="1"
        upperBound="-1" eType="#//ExecutableNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of ExecutableNodes that are executed in order to provide a test result for the Clause.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ClearAssociationAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ClearAssociationAction is an Action that destroys all links of an Association in which a particular object participates.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin is 1..1.&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the InputPin must conform to the type of at least one of the memberEnds of the association.&#xA;association.memberEnd->exists(self.object.type.conformsTo(type))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="association" ordered="false"
        lowerBound="1" eType="#//Association">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Association to be cleared.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that gives the object whose participation in the Association is to be cleared.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ClearStructuralFeatureAction" eSuperTypes="#//StructuralFeatureAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ClearStructuralFeatureAction is a StructuralFeatureAction that removes all values of a StructuralFeature.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin is the same as the type of the inherited object InputPin.&#xA;result&lt;>null implies result.type = object.type"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin must be 1..1.&#xA;result&lt;>null implies result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which is put the input object as modified by the ClearStructuralFeatureAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ClearVariableAction" eSuperTypes="#//VariableAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ClearVariableAction is a VariableAction that removes all values of a Variable.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConditionalNode" eSuperTypes="#//StructuredActivityNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ConditionalNode is a StructuredActivityNode that chooses one among some number of alternative collections of ExecutableNodes to execute.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="allActions" ordered="false" upperBound="-1"
          eType="#//Action">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return only this ConditionalNode. This prevents Actions within the ConditionalNode from having their OutputPins used as bodyOutputs or decider Pins in containing LoopNodes or ConditionalNodes.&#xA;result = (self->asSet())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Action/allActions #//StructuredActivityNode/%duplicates%/allActions"/>
      </contents>
    </eAnnotations>
    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The result OutputPins have no incoming edges.&#xA;result.incoming->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_input_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ConditionalNode has no InputPins.&#xA;input->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="one_clause_with_executable_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="No ExecutableNode in the ConditionNode may appear in the test or body part of more than one clause of a ConditionalNode.&#xA;node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->forAll(n | &#xD;&#xA;&#x9;self.clause->select(test->union(_'body')->includes(n))->size()=1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="matching_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Each clause of a ConditionalNode must have the same number of bodyOutput pins as the ConditionalNode has result OutputPins, and each clause bodyOutput Pin must be compatible with the corresponding result OutputPin (by positional order) in type, multiplicity, ordering, and uniqueness.&#xA;clause->forAll(&#xD;&#xA;&#x9;bodyOutput->size()=self.result->size() and&#xD;&#xA;&#x9;Sequence{1..self.result->size()}->forAll(i |&#xD;&#xA;&#x9;&#x9;bodyOutput->at(i).type.conformsTo(result->at(i).type) and&#xD;&#xA;&#x9;&#x9;bodyOutput->at(i).isOrdered = result->at(i).isOrdered and&#xD;&#xA;&#x9;&#x9;bodyOutput->at(i).isUnique = result->at(i).isUnique and&#xD;&#xA;&#x9;&#x9;bodyOutput->at(i).compatibleWith(result->at(i))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The union of the ExecutableNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes.&#xA;clause.test->union(clause._'body') = node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="clause_no_predecessor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="No two clauses within a ConditionalNode may be predecessorClauses of each other, either directly or indirectly.&#xA;clause->closure(predecessorClause)->intersection(clause)->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="clause" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Clause" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of Clauses composing the ConditionalNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAssured" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the modeler asserts that the test for at least one Clause of the ConditionalNode will succeed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeterminate" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the modeler asserts that the test for at most one Clause of the ConditionalNode will succeed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"
        eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPins that onto which are moved values from the bodyOutputs of the Clause selected for execution.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//StructuredActivityNode/structuredNodeOutput"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CreateLinkAction" eSuperTypes="#//WriteLinkAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CreateLinkAction is a WriteLinkAction for creating links.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EReference" name="endData" ordered="false" lowerBound="2"
          upperBound="-1" eType="#//LinkEndCreationData" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The LinkEndData that specifies the values to be placed on the Association ends for the new link.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//LinkAction/endData"/>
      </contents>
    </eAnnotations>
    <eOperations name="association_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Association cannot be an abstract Classifier.&#xA;not self.association().isAbstract"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LinkEndCreationData" eSuperTypes="#//LinkEndData">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="LinkEndCreationData is LinkEndData used to provide values for one end of a link to be created by a CreateLinkAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="allPins" ordered="false" unique="false"
          upperBound="-1" eType="#//InputPin">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Adds the insertAt InputPin (if any) to the set of all Pins.&#xA;result = (self.LinkEndData::allPins()->including(insertAt))&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//LinkEndData/allPins"/>
      </contents>
    </eAnnotations>
    <eOperations name="insertAt_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="LinkEndCreationData for ordered Association ends must have a single insertAt InputPin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, if isReplaceAll=false, and must have no InputPin for the insertion point when the association ends are unordered.&#xA;if  not end.isOrdered&#xA;then insertAt = null&#xA;else&#xA;&#x9;not isReplaceAll=false implies&#xA;&#x9;insertAt &lt;> null and insertAt->forAll(type=UnlimitedNatural and is(1,1))&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="insertAt" ordered="false"
        eType="#//InputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="For ordered Association ends, the InputPin that provides the position where the new link should be inserted or where an existing link should be moved to. The type of the insertAt InputPin is UnlimitedNatural, but the input cannot be zero. It is omitted for Association ends that are not ordered.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReplaceAll" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the existing links emanating from the object on this end should be destroyed before creating a new link.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CreateLinkObjectAction" eSuperTypes="#//CreateLinkAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CreateLinkObjectAction is a CreateLinkAction for creating link objects (AssociationClasse instances).&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the OutputPin is 1..1.&#xA;result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin must be the same as the Association of the CreateLinkObjectAction.&#xA;result.type = association()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="association_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Association must be an AssociationClass.&#xA;self.association().oclIsKindOf(AssociationClass)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The output pin on which the newly created link object is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CreateObjectAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CreateObjectAction is an Action that creates an instance of the specified Classifier.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The classifier cannot be abstract.&#xA;not classifier.isAbstract"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin is 1..1.&#xA;result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="classifier_not_association_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The classifier cannot be an AssociationClass.&#xA;not classifier.oclIsKindOf(AssociationClass)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin must be the same as the classifier of the CreateObjectAction.&#xA;result.type = classifier"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
        lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier to be instantiated.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which the newly created object is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DestroyLinkAction" eSuperTypes="#//WriteLinkAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DestroyLinkAction is a WriteLinkAction that destroys links (including link objects).&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EReference" name="endData" ordered="false" lowerBound="2"
          upperBound="-1" eType="#//LinkEndDestructionData" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The LinkEndData that the values of the Association ends for the links to be destroyed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//LinkAction/endData"/>
      </contents>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LinkEndDestructionData" eSuperTypes="#//LinkEndData">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="LinkEndDestructionData is LinkEndData used to provide values for one end of a link to be destroyed by a DestroyLinkAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="allPins" ordered="false" unique="false"
          upperBound="-1" eType="#//InputPin">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Adds the destroyAt InputPin (if any) to the set of all Pins.&#xA;result = (self.LinkEndData::allPins()->including(destroyAt))&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//LinkEndData/allPins"/>
      </contents>
    </eAnnotations>
    <eOperations name="destroyAt_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="LinkEndDestructionData for ordered, nonunique Association ends must have a single destroyAt InputPin if isDestroyDuplicates is false, which must be of type UnlimitedNatural and have a multiplicity of 1..1. Otherwise, the action has no destroyAt input pin.&#xA;if  not end.isOrdered or end.isUnique or isDestroyDuplicates&#xD;&#xA;then destroyAt = null&#xD;&#xA;else&#xD;&#xA;&#x9;destroyAt &lt;> null and &#xD;&#xA;&#x9;destroyAt->forAll(type=UnlimitedNatural and is(1,1))&#xD;&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="destroyAt" ordered="false"
        eType="#//InputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that provides the position of an existing link to be destroyed in an ordered, nonunique Association end. The type of the destroyAt InputPin is UnlimitedNatural, but the value cannot be zero or unlimited.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDestroyDuplicates" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether to destroy duplicates of the value in nonunique Association ends.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DestroyObjectAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DestroyObjectAction is an Action that destroys objects.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the targe IinputPin is 1..1.&#xA;target.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The target InputPin has no type.&#xA;target.type= null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDestroyLinks" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether links in which the object participates are destroyed along with the object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDestroyOwnedObjects"
        ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether objects owned by the object (via composition) are destroyed along with the object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin providing the object to be destroyed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExpansionNode" eSuperTypes="#//ObjectNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ExpansionNode is an ObjectNode used to indicate a collection input or output for an ExpansionRegion. A collection input of an ExpansionRegion contains a collection that is broken into its individual elements inside the region, whose content is executed once per element. A collection output of an ExpansionRegion combines individual elements produced by the execution of the region into a collection for use outside the region.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="region_as_input_or_output" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="One of regionAsInput or regionAsOutput must be non-empty, but not both.&#xA;regionAsInput->notEmpty() xor regionAsOutput->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="regionAsInput" ordered="false"
        eType="#//ExpansionRegion" eOpposite="#//ExpansionRegion/inputElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ExpansionRegion for which the ExpansionNode is an input.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="regionAsOutput" ordered="false"
        eType="#//ExpansionRegion" eOpposite="#//ExpansionRegion/outputElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ExpansionRegion for which the ExpansionNode is an output.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExpansionRegion" eSuperTypes="#//StructuredActivityNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ExpansionRegion is a StructuredActivityNode that executes its content multiple times corresponding to elements of input collection(s).&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" ordered="false" lowerBound="1"
        eType="#//ExpansionKind" defaultValueLiteral="iterative">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The mode in which the ExpansionRegion executes its contents. If parallel, executions are concurrent. If iterative, executions are sequential. If stream, a stream of values flows into a single execution.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="outputElement" ordered="false"
        upperBound="-1" eType="#//ExpansionNode" eOpposite="#//ExpansionNode/regionAsOutput">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ExpansionNodes that form the output collections of the ExpansionRegion.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inputElement" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//ExpansionNode" eOpposite="#//ExpansionNode/regionAsInput">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ExpansionNodes that hold the input collections for the ExpansionRegion.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LoopNode" eSuperTypes="#//StructuredActivityNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A LoopNode is a StructuredActivityNode that represents an iterative loop with setup, test, and body sections.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="allActions" ordered="false" upperBound="-1"
          eType="#//Action">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return only this LoopNode. This prevents Actions within the LoopNode from having their OutputPins used as bodyOutputs or decider Pins in containing LoopNodes or ConditionalNodes.&#xA;result = (self->asSet())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Action/allActions #//StructuredActivityNode/%duplicates%/allActions"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="sourceNodes" ordered="false" upperBound="-1"
          eType="#//ActivityNode">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return the loopVariable OutputPins in addition to other source nodes for the LoopNode as a StructuredActivityNode.&#xA;result = (self.StructuredActivityNode::sourceNodes()->union(loopVariable))&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//StructuredActivityNode/sourceNodes"/>
      </contents>
    </eAnnotations>
    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The result OutputPins have no incoming edges.&#xA;result.incoming->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="input_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The loopVariableInputs must not have outgoing edges.&#xA;loopVariableInput.outgoing->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The union of the ExecutableNodes in the setupPart, test and bodyPart of a LoopNode must be the same as the subset of nodes contained in the LoopNode (considered as a StructuredActivityNode) that are ExecutableNodes.&#xA;setupPart->union(test)->union(bodyPart)=node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->asSet()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="body_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The bodyOutput pins are OutputPins on Actions in the body of the LoopNode.&#xA;bodyPart.oclAsType(Action).allActions().output->includesAll(bodyOutput)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="setup_test_and_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The test and body parts of a ConditionalNode must be disjoint with each other.&#xA;setupPart->intersection(test)->isEmpty() and&#xD;&#xA;setupPart->intersection(bodyPart)->isEmpty() and&#xD;&#xA;test->intersection(bodyPart)->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="matching_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A LoopNode must have the same number of bodyOutput Pins as loopVariables, and each bodyOutput Pin must be compatible with the corresponding loopVariable (by positional order) in type, multiplicity, ordering and uniqueness.&#xA;bodyOutput->size()=loopVariable->size() and&#xD;&#xA;Sequence{1..loopVariable->size()}->forAll(i |&#xD;&#xA;&#x9;bodyOutput->at(i).type.conformsTo(loopVariable->at(i).type) and&#xD;&#xA;&#x9;bodyOutput->at(i).isOrdered = loopVariable->at(i).isOrdered and&#xD;&#xA;&#x9;bodyOutput->at(i).isUnique = loopVariable->at(i).isUnique and&#xD;&#xA;&#x9;loopVariable->at(i).includesMultiplicity(bodyOutput->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="matching_loop_variables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A LoopNode must have the same number of loopVariableInputs and loopVariables, and they must match in type, uniqueness and multiplicity.&#xA;loopVariableInput->size()=loopVariable->size() and&#xD;&#xA;loopVariableInput.type=loopVariable.type and&#xD;&#xA;loopVariableInput.isUnique=loopVariable.isUnique and&#xD;&#xA;loopVariableInput.lower=loopVariable.lower and&#xD;&#xA;loopVariableInput.upper=loopVariable.upper"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="matching_result_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A LoopNode must have the same number of result OutputPins and loopVariables, and they must match in type, uniqueness and multiplicity.&#xA;result->size()=loopVariable->size() and&#xD;&#xA;result.type=loopVariable.type and&#xD;&#xA;result.isUnique=loopVariable.isUnique and&#xD;&#xA;result.lower=loopVariable.lower and&#xD;&#xA;result.upper=loopVariable.upper"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="loop_variable_outgoing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All ActivityEdges outgoing from loopVariable OutputPins must have targets within the LoopNode.&#xA;allOwnedNodes()->includesAll(loopVariable.outgoing.target)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" upperBound="-1"
        eType="#//OutputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPins on Actions within the bodyPart, the values of which are moved to the loopVariable OutputPins after the completion of each execution of the bodyPart, before the next iteration of the loop begins or before the loop exits.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyPart" ordered="false"
        upperBound="-1" eType="#//ExecutableNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of ExecutableNodes that perform the repetitive computations of the loop. The bodyPart is executed as long as the test section produces a true value.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="decider" ordered="false"
        lowerBound="1" eType="#//OutputPin">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An OutputPin on an Action in the test section whose Boolean value determines whether to continue executing the loop bodyPart.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTestedFirst" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the test is performed before the first execution of the bodyPart. If false, the bodyPart is executed once before the test is performed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="loopVariable" upperBound="-1"
        eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of OutputPins that hold the values of the loop variables during an execution of the loop. When the test fails, the values are moved to the result OutputPins of the loop.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="loopVariableInput" upperBound="-1"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of InputPins whose values are moved into the loopVariable Pins before the first iteration of the loop.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//StructuredActivityNode/structuredNodeInput"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1"
        eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of OutputPins that receive the loopVariable values after the last iteration of the loop and constitute the output of the LoopNode.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//StructuredActivityNode/structuredNodeOutput"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="setupPart" ordered="false"
        upperBound="-1" eType="#//ExecutableNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of ExecutableNodes executed before the first iteration of the loop, in order to initialize values or perform other setup computations.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="test" ordered="false" lowerBound="1"
        upperBound="-1" eType="#//ExecutableNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of ExecutableNodes executed in order to provide the test result for the loop.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OpaqueAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An OpaqueAction is an Action whose functionality is not specified within UML.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="language_body_size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the language attribute is not empty, then the size of the body and language lists must be the same.&#xA;language->notEmpty() implies (_'body'->size() = language->size())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" unique="false" upperBound="-1"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Provides a textual specification of the functionality of the Action, in one or more languages other than UML.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inputValue" ordered="false"
        upperBound="-1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPins providing inputs to the OpaqueAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" upperBound="-1"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If provided, a specification of the language used for each of the body Strings.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="outputValue" ordered="false"
        upperBound="-1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPins on which the OpaqueAction provides outputs.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RaiseExceptionAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A RaiseExceptionAction is an Action that causes an exception to occur. The input value becomes the exception object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="exception" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InputPin whose value becomes the exception object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReadExtentAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReadExtentAction is an Action that retrieves the current instances of a Classifier.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="type_is_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin is the classifier.&#xA;result.type = classifier"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin is 0..*.&#xA;result.is(0,*)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
        lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier whose instances are to be retrieved.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which the Classifier instances are placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReadIsClassifiedObjectAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReadIsClassifiedObjectAction is an Action that determines whether an object is classified by a given Classifier.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="no_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The object InputPin has no type.&#xA;object.type = null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_output" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin is 1..1.&#xA;result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="boolean_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin is Boolean.&#xA;result.type = Boolean"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_input" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin is 1..1.&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
        lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier against which the classification of the input object is tested.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDirect" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the input object must be directly classified by the given Classifier or whether it may also be an instance of a specialization of the given Classifier.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that holds the object whose classification is to be tested.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin that holds the Boolean result of the test.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReadLinkAction" eSuperTypes="#//LinkAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReadLinkAction is a LinkAction that navigates across an Association to retrieve the objects on one end.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="type_and_ordering" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type and ordering of the result OutputPin are same as the type and ordering of the open Association end.&#xA;self.openEnd()->forAll(type=result.type and isOrdered=result.isOrdered)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="compatible_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the open Association end must be compatible with the multiplicity of the result OutputPin.&#xA;self.openEnd()->first().compatibleWith(result)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Visibility of the open end must allow access from the object performing the action.&#xA;let openEnd : Property = self.openEnd()->first() in&#xA;  openEnd.visibility = VisibilityKind::public or &#xA;  endData->exists(oed | &#xA;    oed.end&lt;>openEnd and &#xA;    (_'context' = oed.end.type or &#xA;      (openEnd.visibility = VisibilityKind::protected and &#xA;        _'context'.conformsTo(oed.end.type.oclAsType(Classifier)))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="one_open_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Exactly one linkEndData specification (corresponding to the &quot;open&quot; end) must not have an value InputPin.&#xA;self.openEnd()->size() = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="navigable_open_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The open end must be navigable.&#xA;self.openEnd()->first().isNavigable()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="openEnd" upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the ends corresponding to endData with no value InputPin. (A well-formed ReadLinkAction is constrained to have only one of these.)&#xA;result = (endData->select(value=null).end->asOrderedSet())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which the objects retrieved from the &quot;open&quot; end of those links whose values on other ends are given by the endData.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReadLinkObjectEndAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReadLinkObjectEndAction is an Action that retrieves an end object from a link object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="property" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The end Property must be an Association memberEnd.&#xA;end.association &lt;> null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin is 1..1.&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ends of the association must not be static.&#xA;end.association.memberEnd->forAll(e | not e.isStatic)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin is the same as the type of the end Property.&#xA;result.type = end.type"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin is 1..1.&#xA;result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the object InputPin is the AssociationClass that owns the end Property.&#xA;object.type = end.association"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="association_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The association of the end must be an AssociationClass.&#xA;end.association.oclIsKindOf(AssociationClass)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false" lowerBound="1"
        eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Association end to be read.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The input pin from which the link object is obtained.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin where the result value is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReadLinkObjectEndQualifierAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReadLinkObjectEndQualifierAction is an Action that retrieves a qualifier end value from a link object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin is 1..1.&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the object InputPin is the AssociationClass that owns the Association end that has the given qualifier Property.&#xA;object.type = qualifier.associationEnd.association"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the qualifier Property is 1..1.&#xA;qualifier.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ends of the Association must not be static.&#xA;qualifier.associationEnd.association.memberEnd->forAll(e | not e.isStatic)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin is 1..1.&#xA;result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin is the same as the type of the qualifier Property.&#xA;result.type = qualifier.type"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="association_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The association of the Association end of the qualifier Property must be an AssociationClass.&#xA;qualifier.associationEnd.association.oclIsKindOf(AssociationClass)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="qualifier_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The qualifier Property must be a qualifier of an Association end.&#xA;qualifier.associationEnd &lt;> null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin from which the link object is obtained.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" ordered="false"
        lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The qualifier Property to be read.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin where the result value is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReadSelfAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReadSelfAction is an Action that retrieves the context object of the Behavior execution within which the ReadSelfAction execution is taking place.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ReadSelfAction must have a context Classifier.&#xA;_'context' &lt;> null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the result OutputPin is 1..1.&#xA;result.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the ReadSelfAction is contained in an Behavior that is acting as a method, then the Operation of the method must not be static.&#xA;let behavior: Behavior = self.containingBehavior() in&#xD;&#xA;behavior.specification&lt;>null implies not behavior.specification.isStatic"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin is the context Classifier.&#xA;result.type = _'context'"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which the context object is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReadStructuralFeatureAction" eSuperTypes="#//StructuralFeatureAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReadStructuralFeatureAction is a StructuralFeatureAction that retrieves the values of a StructuralFeature.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The multiplicity of the StructuralFeature must be compatible with the multiplicity of the result OutputPin.&#xA;structuralFeature.compatibleWith(result)"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//StructuralFeatureAction/multiplicity"/>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </contents>
    </eAnnotations>
    <eOperations name="type_and_ordering" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type and ordering of the result OutputPin are the same as the type and ordering of the StructuralFeature.&#xA;result.type =structuralFeature.type and &#xA;result.isOrdered = structuralFeature.isOrdered"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which the result values are placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReadVariableAction" eSuperTypes="#//VariableAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReadVariableAction is a VariableAction that retrieves the values of a Variable.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="type_and_ordering" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type and ordering of the result OutputPin are the same as the type and ordering of the variable.&#xA;result.type =variable.type and &#xA;result.isOrdered = variable.isOrdered"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="compatible_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the variable must be compatible with the multiplicity of the output pin.&#xA;variable.compatibleWith(result)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which the result values are placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReclassifyObjectAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReclassifyObjectAction is an Action that changes the Classifiers that classify an object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The object InputPin has no type.&#xA;object.type = null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="None of the newClassifiers may be abstract.&#xA;not newClassifier->exists(isAbstract)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin is 1..1.&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReplaceAll" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether existing Classifiers should be removed before adding the new Classifiers.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="newClassifier" ordered="false"
        upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of Classifiers to be added to the Classifiers of the given object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that holds the object to be reclassified.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="oldClassifier" ordered="false"
        upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of Classifiers to be removed from the Classifiers of the given object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReduceAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReduceAction is an Action that reduces a collection to a single value by repeatedly combining the elements of the collection using a reducer Behavior.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="reducer_inputs_output" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The reducer Behavior must have two input ownedParameters and one output ownedParameter, where the type of the output Parameter and the type of elements of the input collection conform to the types of the input Parameters.&#xA;let inputs: OrderedSet(Parameter) = reducer.inputParameters() in&#xD;&#xA;let outputs: OrderedSet(Parameter) = reducer.outputParameters() in&#xD;&#xA;inputs->size()=2 and outputs->size()=1 and&#xD;&#xA;inputs.type->forAll(t | &#xD;&#xA;&#x9;outputs.type->forAll(conformsTo(t)) and &#xD;&#xA;&#x9;-- Note that the following only checks the case when the collection is via multiple tokens.&#xD;&#xA;&#x9;collection.upperBound()>1 implies collection.type.conformsTo(t))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="input_type_is_collection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the collection InputPin must be a collection."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="output_types_are_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the output of the reducer Behavior must conform to the type of the result OutputPin.&#xA;reducer.outputParameters().type->forAll(conformsTo(result.type))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="collection" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that provides the collection to be reduced.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the order of the input collection should determine the order in which the reducer Behavior is applied to its elements.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="reducer" ordered="false"
        lowerBound="1" eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Behavior that is repreatedly applied to two elements of the input collection to produce a value that is of the same type as elements of the collection.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The output pin on which the result value is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RemoveStructuralFeatureValueAction"
      eSuperTypes="#//WriteStructuralFeatureAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A RemoveStructuralFeatureValueAction is a WriteStructuralFeatureAction that removes values from a StructuralFeature.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="removeAt_and_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="RemoveStructuralFeatureValueActions removing a value from ordered, non-unique StructuralFeatures must have a single removeAt InputPin and no value InputPin, if isRemoveDuplicates is false. The removeAt InputPin must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the Action has a value InputPin and no removeAt InputPin.&#xA;if structuralFeature.isOrdered and not structuralFeature.isUnique and  not isRemoveDuplicates then&#xD;&#xA;  value = null and&#xD;&#xA;  removeAt &lt;> null and&#xD;&#xA;  removeAt.type = UnlimitedNatural and&#xD;&#xA;  removeAt.is(1,1)&#xD;&#xA;else&#xD;&#xA;  removeAt = null and value &lt;> null&#xD;&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRemoveDuplicates" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether to remove duplicates of the value in nonunique StructuralFeatures.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="removeAt" ordered="false"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InputPin that provides the position of an existing value to remove in ordered, nonunique structural features. The type of the removeAt InputPin is UnlimitedNatural, but the value cannot be zero or unlimited.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RemoveVariableValueAction" eSuperTypes="#//WriteVariableAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A RemoveVariableValueAction is a WriteVariableAction that removes values from a Variables.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="removeAt_and_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ReadVariableActions removing a value from ordered, non-unique Variables must have a single removeAt InputPin and no value InputPin, if isRemoveDuplicates is false. The removeAt InputPin must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the Action has a value InputPin and no removeAt InputPin.&#xA;if  variable.isOrdered and not variable.isUnique and not isRemoveDuplicates then &#xD;&#xA;  value = null and&#xD;&#xA;  removeAt &lt;> null and&#xD;&#xA;  removeAt.type = UnlimitedNatural and&#xD;&#xA;  removeAt.is(1,1)&#xD;&#xA;else&#xD;&#xA;  removeAt = null and value &lt;> null&#xD;&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRemoveDuplicates" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether to remove duplicates of the value in nonunique Variables.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="removeAt" ordered="false"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InputPin that provides the position of an existing value to remove in ordered, nonunique Variables. The type of the removeAt InputPin is UnlimitedNatural, but the value cannot be zero or unlimited.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReplyAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ReplyAction is an Action that accepts a set of reply values and a value containing return information produced by a previous AcceptCallAction. The ReplyAction returns the values to the caller of the previous call, completing execution of the call.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="pins_match_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The replyValue InputPins must match the output (return, out, and inout) parameters of the operation of the event of the replyToCall Trigger in number, type, ordering, and multiplicity.&#xA;let parameter:OrderedSet(Parameter) = replyToCall.event.oclAsType(CallEvent).operation.outputParameters() in&#xD;&#xA;replyValue->size()=parameter->size() and&#xD;&#xA;Sequence{1..replyValue->size()}->forAll(i |&#xD;&#xA;&#x9;replyValue->at(i).type.conformsTo(parameter->at(i).type) and&#xD;&#xA;&#x9;replyValue->at(i).isOrdered=parameter->at(i).isOrdered and&#xD;&#xA;&#x9;replyValue->at(i).compatibleWith(parameter->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="event_on_reply_to_call_trigger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The event of the replyToCall Trigger must be a CallEvent.&#xA;replyToCall.event.oclIsKindOf(CallEvent)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="replyToCall" ordered="false"
        lowerBound="1" eType="#//Trigger">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Trigger specifying the Operation whose call is being replied to.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="replyValue" upperBound="-1"
        eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of InputPins providing the values for the output (inout, out, and return) Parameters of the Operation. These values are returned to the caller.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="returnInformation" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InputPin that holds the return information value produced by an earlier AcceptCallAction.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SendObjectAction" eSuperTypes="#//InvocationAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A SendObjectAction is an InvocationAction that transmits an input object to the target object, which is handled as a request message by the target object. The requestor continues execution immediately after the object is sent out and cannot receive reply values.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="type_target_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If onPort is not empty, the Port given by onPort must be an owned or inherited feature of the type of the target InputPin.&#xA;onPort&lt;>null implies target.type.oclAsType(Classifier).allFeatures()->includes(onPort)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="request" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The request object, which is transmitted to the target object. The object may be copied in transmission, so identity might not be preserved.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//InvocationAction/argument"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The target object to which the object is sent.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SendSignalAction" eSuperTypes="#//InvocationAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A SendSignalAction is an InvocationAction that creates a Signal instance and transmits it to the target object. Values from the argument InputPins are used to provide values for the attributes of the Signal. The requestor continues execution immediately after the Signal instance is sent out and cannot receive reply values.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type, ordering, and multiplicity of an argument InputPin must be the same as the corresponding attribute of the signal.&#xA;let attribute: OrderedSet(Property) = signal.allAttributes() in&#xD;&#xA;Sequence{1..argument->size()}->forAll(i | &#xD;&#xA;&#x9;argument->at(i).type.conformsTo(attribute->at(i).type) and &#xD;&#xA;&#x9;argument->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;&#xA;&#x9;argument->at(i).compatibleWith(attribute->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="number_order" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The number and order of argument InputPins must be the same as the number and order of attributes of the signal.&#xA;argument->size()=signal.allAttributes()->size()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_target_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If onPort is not empty, the Port given by onPort must be an owned or inherited feature of the type of the target InputPin.&#xA;not onPort->isEmpty() implies target.type.oclAsType(Classifier).allFeatures()->includes(onPort)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
        lowerBound="1" eType="#//Signal">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Signal whose instance is transmitted to the target.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that provides the target object to which the Signal instance is sent.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SequenceNode" eSuperTypes="#//StructuredActivityNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A SequenceNode is a StructuredActivityNode that executes a sequence of ExecutableNodes in order.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="executableNode" upperBound="-1"
        eType="#//ExecutableNode" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of ExecutableNodes to be sequenced.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//StructuredActivityNode/node"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StartClassifierBehaviorAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A StartClassifierBehaviorAction is an Action that starts the classifierBehavior of the input object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin is 1..1&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_has_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the InputPin has a type, then the type or one of its ancestors must have a classifierBehavior.&#xA;object.type->notEmpty() implies &#xD;&#xA;   (object.type.oclIsKindOf(BehavioredClassifier) and object.type.oclAsType(BehavioredClassifier).classifierBehavior&lt;>null)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that holds the object whose classifierBehavior is to be started.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StartObjectBehaviorAction" eSuperTypes="#//CallAction">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A StartObjectBehaviorAction is an InvocationAction that starts the execution either of a directly instantiated Behavior or of the classifierBehavior of an object. Argument values may be supplied for the input Parameters of the Behavior. If the Behavior is invoked synchronously, then output values may be obtained for output Parameters.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="outputParameters" upperBound="-1"
          eType="#//Parameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return the inout, out and return ownedParameters of the Behavior being called.&#xA;result = (self.behavior().outputParameters())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//CallAction/outputParameters"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="inputParameters" upperBound="-1"
          eType="#//Parameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Return the in and inout ownedParameters of the Behavior being called.&#xA;result = (self.behavior().inputParameters())&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//CallAction/inputParameters"/>
      </contents>
    </eAnnotations>
    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin must be 1..1.&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the object InputPin must be either a Behavior or a BehavioredClassifier with a classifierBehavior.&#xA;self.behavior()&lt;>null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_onport" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A StartObjectBehaviorAction may not specify onPort.&#xA;onPort->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="behavior" ordered="false" eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the type of the object InputPin is a Behavior, then that Behavior. Otherwise, if the type of the object InputPin is a BehavioredClassifier, then the classifierBehavior of that BehavioredClassifier.&#xA;result = (if object.type.oclIsKindOf(Behavior) then&#xD;&#xA;  object.type.oclAsType(Behavior)&#xD;&#xA;else if object.type.oclIsKindOf(BehavioredClassifier) then&#xD;&#xA;  object.type.oclAsType(BehavioredClassifier).classifierBehavior&#xD;&#xA;else&#xD;&#xA;  null&#xD;&#xA;endif&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InputPin that holds the object that is either a Behavior to be started or has a classifierBehavior to be started.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TestIdentityAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TestIdentityAction is an Action that tests if two values are identical objects.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the InputPins is 1..1.&#xA;first.is(1,1) and second.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPins have no type.&#xA;first.type= null and second.type = null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="result_is_boolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the result OutputPin is Boolean.&#xA;result.type=Boolean"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="first" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin on which the first input object is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
        lowerBound="1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin whose Boolean value indicates whether the two input objects are identical.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="second" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPin on which the second input object is placed.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UnmarshallAction" eSuperTypes="#//Action">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An UnmarshallAction is an Action that retrieves the values of the StructuralFeatures of an object and places them on OutputPins.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="structural_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The unmarshallType must have at least one StructuralFeature.&#xA;unmarshallType.allAttributes()->size() >= 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="number_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The number of result outputPins must be the same as the number of attributes of the unmarshallType.&#xA;unmarshallType.allAttributes()->size() = result->size()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type_ordering_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type, ordering and multiplicity of each attribute of the unmarshallType must be compatible with the type, ordering and multiplicity of the corresponding result OutputPin.&#xA;let attribute:OrderedSet(Property) = unmarshallType.allAttributes() in&#xD;&#xA;Sequence{1..result->size()}->forAll(i | &#xD;&#xA;&#x9;attribute->at(i).type.conformsTo(result->at(i).type) and&#xD;&#xA;&#x9;attribute->at(i).isOrdered=result->at(i).isOrdered and&#xD;&#xA;&#x9;attribute->at(i).compatibleWith(result->at(i)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of the object InputPin is 1..1&#xA;object.is(1,1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="object_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the object InputPin conform to the unmarshallType.&#xA;object.type.conformsTo(unmarshallType)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
        lowerBound="1" eType="#//InputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InputPin that gives the object to be unmarshalled.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/input"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" lowerBound="1"
        upperBound="-1" eType="#//OutputPin" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OutputPins on which are placed the values of the StructuralFeatures of the input object.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Action/output"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="unmarshallType" ordered="false"
        lowerBound="1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the object to be unmarshalled.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ValuePin" eSuperTypes="#//InputPin">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ValuePin is an InputPin that provides a value by evaluating a ValueSpecification.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="no_incoming_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ValuePin may have no incoming ActivityEdges.&#xA;incoming->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="compatible_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the value ValueSpecification must conform to the type of the ValuePin.&#xA;value.type.conformsTo(type)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
        lowerBound="1" eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ValueSpecification that is evaluated to obtain the value that the ValuePin will provide.&#xA;&lt;p>From package UML::Actions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityFinalNode" eSuperTypes="#//FinalNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ActivityFinalNode is a FinalNode that terminates the execution of its owning Activity or StructuredActivityNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FinalNode" abstract="true" eSuperTypes="#//ControlNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A FinalNode is an abstract ControlNode at which a flow in an Activity stops.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="no_outgoing_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A FinalNode has no outgoing ActivityEdges.&#xA;outgoing->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ControlNode" abstract="true" eSuperTypes="#//ActivityNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ControlNode is an abstract ActivityNode that coordinates flows in an Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActivityParameterNode" eSuperTypes="#//ObjectNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ActivityParameterNode is an ObjectNode for accepting values from the input Parameters or providing values to the output Parameters of an Activity.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="no_outgoing_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ActivityParameterNode with no outgoing ActivityEdges and one or more incoming ActivityEdges must have a parameter with direction out, inout, or return.&#xA;(incoming->notEmpty() and outgoing->isEmpty()) implies &#xD;&#xA;&#x9;(parameter.direction = ParameterDirectionKind::out or &#xD;&#xA;&#x9; parameter.direction = ParameterDirectionKind::inout or &#xD;&#xA;&#x9; parameter.direction = ParameterDirectionKind::return)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="has_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The parameter of an ActivityParameterNode must be from the containing Activity.&#xA;activity.ownedParameter->includes(parameter)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of an ActivityParameterNode is the same as the type of its parameter.&#xA;type = parameter.type"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_incoming_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ActivityParameterNode with no incoming ActivityEdges and one or more outgoing ActivityEdges must have a parameter with direction in or inout.&#xA;(outgoing->notEmpty() and incoming->isEmpty()) implies &#xD;&#xA;&#x9;(parameter.direction = ParameterDirectionKind::_'in' or &#xD;&#xA;&#x9; parameter.direction = ParameterDirectionKind::inout)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ActivityParameterNode may have all incoming ActivityEdges or all outgoing ActivityEdges, but it must not have both incoming and outgoing ActivityEdges.&#xA;incoming->isEmpty() or outgoing->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"
        lowerBound="1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Parameter for which the ActivityParameterNode will be accepting or providing values.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CentralBufferNode" eSuperTypes="#//ObjectNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CentralBufferNode is an ObjectNode for managing flows from multiple sources and targets.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ControlFlow" eSuperTypes="#//ActivityEdge">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ControlFlow is an ActivityEdge traversed by control tokens or object tokens of control type, which are use to control the execution of ExecutableNodes.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="object_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ControlFlows may not have ObjectNodes at either end, except for ObjectNodes with control type.&#xA;(source.oclIsKindOf(ObjectNode) implies source.oclAsType(ObjectNode).isControlType) and &#xD;&#xA;(target.oclIsKindOf(ObjectNode) implies target.oclAsType(ObjectNode).isControlType)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataStoreNode" eSuperTypes="#//CentralBufferNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DataStoreNode is a CentralBufferNode for persistent data.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DecisionNode" eSuperTypes="#//ControlNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DecisionNode is a ControlNode that chooses between outgoing ActivityEdges for the routing of tokens.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="zero_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the DecisionNode has no decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has no in parameters.&#xA;(decisionInput&lt;>null and decisionInputFlow=null and incoming->exists(oclIsKindOf(ControlFlow))) implies&#xD;&#xA;   decisionInput.inputParameters()->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityEdges incoming to and outgoing from a DecisionNode, other than the decisionInputFlow (if any), must be either all ObjectFlows or all ControlFlows.&#xA;let allEdges: Set(ActivityEdge) = incoming->union(outgoing) in&#xD;&#xA;let allRelevantEdges: Set(ActivityEdge) = if decisionInputFlow->notEmpty() then allEdges->excluding(decisionInputFlow) else allEdges endif in&#xD;&#xA;allRelevantEdges->forAll(oclIsKindOf(ControlFlow)) or allRelevantEdges->forAll(oclIsKindOf(ObjectFlow))&#xD;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="decision_input_flow_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The decisionInputFlow of a DecisionNode must be an incoming ActivityEdge of the DecisionNode.&#xA;incoming->includes(decisionInputFlow)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="two_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the DecisionNode has a decisionInputFlow and an second incoming ObjectFlow, then any decisionInput has two in Parameters, the first of which has a type that is the same as or a supertype of the type of object tokens offered on the non-decisionInputFlow and the second of which has a type that is the same as or a supertype of the type of object tokens offered on the decisionInputFlow.&#xA;(decisionInput&lt;>null and decisionInputFlow&lt;>null and incoming->forAll(oclIsKindOf(ObjectFlow))) implies&#xD;&#xA;&#x9;decisionInput.inputParameters()->size()=2"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="incoming_outgoing_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A DecisionNode has one or two incoming ActivityEdges and at least one outgoing ActivityEdge.&#xA;(incoming->size() = 1 or incoming->size() = 2) and outgoing->size() > 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="incoming_control_one_input_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the DecisionNode has a decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has one in Parameter whose type is the same as or a supertype of the type of object tokens offered on the decisionInputFlow.&#xA;(decisionInput&lt;>null and decisionInputFlow&lt;>null and incoming->exists(oclIsKindOf(ControlFlow))) implies&#xD;&#xA;&#x9;decisionInput.inputParameters()->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A decisionInput Behavior has no out parameters, no inout parameters, and one return parameter.&#xA;decisionInput&lt;>null implies &#xD;&#xA;  (decisionInput.ownedParameter->forAll(par | &#xD;&#xA;     par.direction &lt;> ParameterDirectionKind::out and &#xD;&#xA;     par.direction &lt;> ParameterDirectionKind::inout ) and&#xD;&#xA;   decisionInput.ownedParameter->one(par | &#xD;&#xA;     par.direction &lt;> ParameterDirectionKind::return))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="incoming_object_one_input_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the DecisionNode has no decisionInputFlow and an incoming ObjectFlow, then any decisionInput Behavior has one in Parameter whose type is the same as or a supertype of the type of object tokens offered on the incoming ObjectFlow.&#xA;(decisionInput&lt;>null and decisionInputFlow=null and incoming->forAll(oclIsKindOf(ObjectFlow))) implies&#xD;&#xA;&#x9;decisionInput.inputParameters()->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="decisionInput" ordered="false"
        eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Behavior that is executed to provide an input to guard ValueSpecifications on ActivityEdges outgoing from the DecisionNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="decisionInputFlow" ordered="false"
        eType="#//ObjectFlow">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An additional ActivityEdge incoming to the DecisionNode that provides a decision input value for the guards ValueSpecifications on ActivityEdges outgoing from the DecisionNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ObjectFlow" eSuperTypes="#//ActivityEdge">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ObjectFlow is an ActivityEdge that is traversed by object tokens that may hold values. Object flows also support multicast/receive, token selection from object nodes, and transformation of tokens.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="input_and_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A selection Behavior has one input Parameter and one output Parameter. The input Parameter must have the same as or a supertype of the type of the source ObjectNode, be non-unique and have multiplicity 0..*. The output Parameter must be the same or a subtype of the type of source ObjectNode. The Behavior cannot have side effects.&#xA;selection&lt;>null implies&#xD;&#xA;&#x9;selection.inputParameters()->size()=1 and&#xD;&#xA;&#x9;selection.inputParameters()->forAll(not isUnique and is(0,*)) and&#xD;&#xA;&#x9;selection.outputParameters()->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ObjectFlows may not have ExecutableNodes at either end.&#xA;not (source.oclIsKindOf(ExecutableNode) or target.oclIsKindOf(ExecutableNode))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="transformation_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A transformation Behavior has one input Parameter and one output Parameter. The input Parameter must be the same as or a supertype of the type of object token coming from the source end. The output Parameter must be the same or a subtype of the type of object token expected downstream. The Behavior cannot have side effects.&#xA;transformation&lt;>null implies&#xD;&#xA;&#x9;transformation.inputParameters()->size()=1 and&#xD;&#xA;&#x9;transformation.outputParameters()->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="selection_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ObjectFlow may have a selection Behavior only if it has an ObjectNode as its source.&#xA;selection&lt;>null implies source.oclIsKindOf(ObjectNode)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="compatible_types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have compatible types. In particular, the downstream ObjectNode type must be the same or a supertype of the upstream ObjectNode type."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_upper_bounds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have the same upperBounds."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An ObjectFlow with a constant weight may not target an ObjectNode, with optionally intervening ControlNodes, that has an upper bound less than the weight."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="is_multicast_or_is_multireceive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="isMulticast and isMultireceive cannot both be true.&#xA;not (isMulticast and isMultireceive)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMulticast" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the objects in the ObjectFlow are passed by multicasting.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMultireceive" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the objects in the ObjectFlow are gathered from respondents to multicasting.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="selection" ordered="false"
        eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Behavior used to select tokens from a source ObjectNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="transformation" ordered="false"
        eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Behavior used to change or replace object tokens flowing along the ObjectFlow.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FlowFinalNode" eSuperTypes="#//FinalNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A FlowFinalNode is a FinalNode that terminates a flow by consuming the tokens offered to it.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ForkNode" eSuperTypes="#//ControlNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ForkNode is a ControlNode that splits a flow into multiple concurrent flows.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityEdges incoming to and outgoing from a ForkNode must be either all ObjectFlows or all ControlFlows.&#xA;let allEdges : Set(ActivityEdge) = incoming->union(outgoing) in&#xD;&#xA;allEdges->forAll(oclIsKindOf(ControlFlow)) or allEdges->forAll(oclIsKindOf(ObjectFlow))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="one_incoming_edge" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ForkNode has one incoming ActivityEdge.&#xA;incoming->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InitialNode" eSuperTypes="#//ControlNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InitialNode is a ControlNode that offers a single control token when initially enabled.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="no_incoming_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An InitialNode has no incoming ActivityEdges.&#xA;incoming->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="control_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All the outgoing ActivityEdges from an InitialNode must be ControlFlows.&#xA;outgoing->forAll(oclIsKindOf(ControlFlow))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="JoinNode" eSuperTypes="#//ControlNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A JoinNode is a ControlNode that synchronizes multiple flows.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="one_outgoing_edge" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A JoinNode has one outgoing ActivityEdge.&#xA;outgoing->size() = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="incoming_object_flow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If one of the incoming ActivityEdges of a JoinNode is an ObjectFlow, then its outgoing ActivityEdge must be an ObjectFlow. Otherwise its outgoing ActivityEdge must be a ControlFlow.&#xA;if incoming->exists(oclIsKindOf(ObjectFlow)) then outgoing->forAll(oclIsKindOf(ObjectFlow))&#xD;&#xA;else outgoing->forAll(oclIsKindOf(ControlFlow))&#xD;&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCombineDuplicate" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether incoming tokens having objects with the same identity are combined into one by the JoinNode.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="joinSpec" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ValueSpecification giving the condition under which the JoinNode will offer a token on its outgoing ActivityEdge. If no joinSpec is specified, then the JoinNode will offer an outgoing token if tokens are offered on all of its incoming ActivityEdges (an &quot;and&quot; condition).&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MergeNode" eSuperTypes="#//ControlNode">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A merge node is a control node that brings together multiple alternate flows. It is not used to synchronize concurrent flows but to accept one among several alternate flows.&#xA;&lt;p>From package UML::Activities.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="one_outgoing_edge" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A MergeNode has one outgoing ActivityEdge.&#xA;outgoing->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ActivityEdges incoming to and outgoing from a MergeNode must be either all ObjectFlows or all ControlFlows.&#xA;let allEdges : Set(ActivityEdge) = incoming->union(outgoing) in&#xD;&#xA;allEdges->forAll(oclIsKindOf(ControlFlow)) or allEdges->forAll(oclIsKindOf(ObjectFlow))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InstanceValue" eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InstanceValue is a ValueSpecification that identifies an instance.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="instance" ordered="false"
        lowerBound="1" eType="#//InstanceSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InstanceSpecification that represents the specified value.&#xA;&lt;p>From package UML::Classification.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AnyReceiveEvent" eSuperTypes="#//MessageEvent">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A trigger for an AnyReceiveEvent is triggered by the receipt of any message that is not explicitly handled by any related trigger.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageEvent" abstract="true" eSuperTypes="#//Event">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A MessageEvent specifies the receipt by an object of either an Operation call or a Signal instance.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CallEvent" eSuperTypes="#//MessageEvent">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CallEvent models the receipt by an object of a message invoking a call of an Operation.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"
        lowerBound="1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the Operation whose invocation raised the CalEvent.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ChangeEvent" eSuperTypes="#//Event">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ChangeEvent models a change in the system configuration that makes a condition true.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="changeExpression" ordered="false"
        lowerBound="1" eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Boolean-valued ValueSpecification that will result in a ChangeEvent whenever its value changes from false to true.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FunctionBehavior" eSuperTypes="#//OpaqueBehavior">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A FunctionBehavior is an OpaqueBehavior that does not access or modify any objects or other external data.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="one_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A FunctionBehavior has at least one output Parameter.&#xA;self.ownedParameter->&#xD;&#xA;  select(p | p.direction = ParameterDirectionKind::out or p.direction= ParameterDirectionKind::inout or p.direction= ParameterDirectionKind::return)->size() >= 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="types_of_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The types of the ownedParameters are all DataTypes, which may not nest anything but other DataTypes.&#xA;ownedParameter->forAll(p | p.type &lt;> null and&#xD;&#xA;  p.type.oclIsTypeOf(DataType) and hasAllDataTypeAttributes(p.type.oclAsType(DataType)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="hasAllDataTypeAttributes" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The hasAllDataTypeAttributes query tests whether the types of the attributes of the given DataType are all DataTypes, and similarly for all those DataTypes.&#xA;result = (d.ownedAttribute->forAll(a |&#xD;&#xA;    a.type.oclIsKindOf(DataType) and&#xD;&#xA;      hasAllDataTypeAttributes(a.type.oclAsType(DataType))))&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="d" ordered="false" lowerBound="1" eType="#//DataType"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior" eSuperTypes="#//Behavior">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An OpaqueBehavior is a Behavior whose specification is given in a textual language other than UML.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" unique="false" upperBound="-1"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the behavior in one or more languages.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" upperBound="-1"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Languages the body strings use in the same order as the body strings.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SignalEvent" eSuperTypes="#//MessageEvent">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A SignalEvent represents the receipt of an asynchronous Signal instance.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
        lowerBound="1" eType="#//Signal">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specific Signal that is associated with this SignalEvent.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TimeEvent" eSuperTypes="#//Event">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TimeEvent is an Event that occurs at a specific point in time.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="when_non_negative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ValueSpecification when must return a non-negative Integer.&#xA;when.integerValue() >= 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRelative" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the TimeEvent is specified as an absolute or relative time.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="when" ordered="false" lowerBound="1"
        eType="#//TimeExpression" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the time of the TimeEvent.&#xA;&lt;p>From package UML::CommonBehavior.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TimeExpression" eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TimeExpression is a ValueSpecification that represents a time value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
    </eAnnotations>
    <eOperations name="no_expr_requires_observation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a TimeExpression has no expr, then it must have a single observation that is a TimeObservation.&#xA;expr = null implies (observation->size() = 1 and observation->forAll(oclIsKindOf(TimeObservation)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="expr" ordered="false" eType="#//ValueSpecification"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ValueSpecification that evaluates to the value of the TimeExpression.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="observation" ordered="false"
        upperBound="-1" eType="#//Observation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Refers to the Observations that are involved in the computation of the TimeExpression value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Observation" abstract="true" eSuperTypes="#//PackageableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Observation specifies a value determined by observing an event or events that occur relative to other model Elements.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CommunicationPath" eSuperTypes="#//Association">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A communication path is an association between two deployment targets, through which they are able to exchange signals and messages.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="association_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The association ends of a CommunicationPath are typed by DeploymentTargets.&#xA;endType->forAll (oclIsKindOf(DeploymentTarget))"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Association/association_ends"/>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </contents>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Device" eSuperTypes="#//Node">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="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).&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//Class #//DeploymentTarget">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Node is computational resource upon which artifacts may be deployed for execution. Nodes can be interconnected through communication paths to define network structures.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="internal_structure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The internal structure of a Node (if defined) consists solely of parts of type Node.&#xA;part->forAll(oclIsKindOf(Node))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="createCommunicationPath" ordered="false" lowerBound="1" eType="#//CommunicationPath">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a (binary) communication path between this node and the specified other node, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this node's nearest package."/>
      </eAnnotations>
      <eParameters name="end1IsNavigable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The navigability for the first end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Aggregation" ordered="false" lowerBound="1" eType="#//AggregationKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The aggregation for the first end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the first end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the first end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the first end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end1Node" ordered="false" lowerBound="1" eType="#//Node">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type for the first end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2IsNavigable" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The navigability for the second end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2Aggregation" ordered="false" lowerBound="1" eType="#//AggregationKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The aggregation for the second end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2Name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the second end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2Lower" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The lower bound for the second end of the new communication path."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="end2Upper" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The upper bound for the second end of the new communication path."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getCommunicationPaths" ordered="false" upperBound="-1" eType="#//CommunicationPath">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Retrieves the communication paths in which this node is involved."/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedNode" ordered="false"
        upperBound="-1" eType="#//Node" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Nodes that are defined (nested) within the Node.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExecutionEnvironment" eSuperTypes="#//Node">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An execution environment is a node that offers an execution environment for specific types of components that are deployed on it in the form of executable artifacts.&#xA;&lt;p>From package UML::Deployments.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InformationFlow" eSuperTypes="#//PackageableElement #//DirectedRelationship">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="InformationFlows describe circulation of information through a system in a general manner. They do not specify the nature of the information, mechanisms by which it is conveyed, sequences of exchange or any control conditions. During more detailed modeling, representation and realization links may be added to specify which model elements implement an InformationFlow and to show how information is conveyed.  InformationFlows require some kind of “information channel” for unidirectional transmission of information items from sources to targets.  They specify the information channel’s realizations, if any, and identify the information that flows along them.  Information moving along the information channel may be represented by abstract InformationItems and by concrete Classifiers.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="must_conform" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The sources and targets of the information flow must conform to the sources and targets or conversely the targets and sources of the realization relationships."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="sources_and_targets_kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The sources and targets of the information flow can only be one of the following kind: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition,&#xD;&#xA;Behavior and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link).&#xA;(self.informationSource->forAll( sis |&#xD;&#xA;  oclIsKindOf(Actor) or oclIsKindOf(Node) or oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or &#xD;&#xA;  oclIsKindOf(Class) or oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or &#xD;&#xA;  oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or oclIsKindOf(ActivityPartition) or &#xD;&#xA;  (oclIsKindOf(InstanceSpecification) and not sis.oclAsType(InstanceSpecification).classifier->exists(oclIsKindOf(Relationship))))) &#xD;&#xA;&#xD;&#xA;and&#xD;&#xA;&#xD;&#xA;(self.informationTarget->forAll( sit | &#xD;&#xA;  oclIsKindOf(Actor) or oclIsKindOf(Node) or oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or &#xD;&#xA;  oclIsKindOf(Class) or oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or &#xD;&#xA;  oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or oclIsKindOf(ActivityPartition) or &#xD;&#xA;(oclIsKindOf(InstanceSpecification) and not sit.oclAsType(InstanceSpecification).classifier->exists(oclIsKindOf(Relationship)))))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="convey_classifiers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An information flow can only convey classifiers that are allowed to represent an information item.&#xA;self.conveyed->forAll(oclIsKindOf(Class) or oclIsKindOf(Interface)&#xD;&#xA;  or oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="conveyed" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the information items that may circulate on this information flow.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="informationSource" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Defines from which source the conveyed InformationItems are initiated.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/source"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="informationTarget" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Defines to which target the conveyed InformationItems are directed.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="realization" ordered="false"
        upperBound="-1" eType="#//Relationship">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines which Relationship will realize the specified flow.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="realizingActivityEdge"
        ordered="false" upperBound="-1" eType="#//ActivityEdge">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines which ActivityEdges will realize the specified flow.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="realizingConnector" ordered="false"
        upperBound="-1" eType="#//Connector">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines which Connectors will realize the specified flow.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="realizingMessage" ordered="false"
        upperBound="-1" eType="#//Message">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines which Messages will realize the specified flow.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Message" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Message defines a particular communication between Lifelines of an Interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isDistinguishableFrom" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isDistinguishableFrom() specifies that any two Messages may coexist in the same Namespace, regardless of their names.&#xA;result = (true)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//NamedElement/isDistinguishableFrom"/>
        <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
        <eParameters name="ns" ordered="false" lowerBound="1" eType="#//Namespace"/>
      </contents>
    </eAnnotations>
    <eOperations name="sending_receiving_message_event" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the sendEvent and the receiveEvent of the same Message are on the same Lifeline, the sendEvent must be ordered before the receiveEvent.&#xA;receiveEvent.oclIsKindOf(MessageOccurrenceSpecification)&#xD;&#xA;implies&#xD;&#xA;let f :  Lifeline = sendEvent->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first().covered in&#xD;&#xA;f = receiveEvent->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first().covered  implies&#xD;&#xA;f.events->indexOf(sendEvent.oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() ) &lt; &#xD;&#xA;f.events->indexOf(receiveEvent.oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() )"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Arguments of a Message must only be: i) attributes of the sending lifeline, ii) constants, iii) symbolic values (which are wildcard values representing any legal value), iv) explicit parameters of the enclosing Interaction, v) attributes of the class owning the Interaction."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="cannot_cross_boundaries" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Messages cannot cross boundaries of CombinedFragments or their operands.  This is true if and only if both MessageEnds are enclosed within the same InteractionFragment (i.e., an InteractionOperand or an Interaction).&#xA;sendEvent->notEmpty() and receiveEvent->notEmpty() implies&#xD;&#xA;let sendEnclosingFrag : Set(InteractionFragment) = &#xD;&#xA;sendEvent->asOrderedSet()->first().enclosingFragment()&#xD;&#xA;in &#xD;&#xA;let receiveEnclosingFrag : Set(InteractionFragment) = &#xD;&#xA;receiveEvent->asOrderedSet()->first().enclosingFragment()&#xD;&#xA;in  sendEnclosingFrag = receiveEnclosingFrag"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="signature_is_signal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Argument is of the same Class or a specialization of that of the Attribute.&#xA;(messageSort = MessageSort::asynchSignal ) and signature.oclIsKindOf(Signal) implies&#xD;&#xA;   let signalAttributes : OrderedSet(Property) = signature.oclAsType(Signal).inheritedMember()->&#xD;&#xA;             select(n:NamedElement | n.oclIsTypeOf(Property))->collect(oclAsType(Property))->asOrderedSet()&#xD;&#xA;   in signalAttributes->size() = self.argument->size()&#xD;&#xA;   and self.argument->forAll( o: ValueSpecification |&#xD;&#xA;          not (o.oclIsKindOf(Expression)&#xD;&#xA;          and o.oclAsType(Expression).symbol->size()=0&#xD;&#xA;          and o.oclAsType(Expression).operand->isEmpty() ) implies&#xD;&#xA;              let p : Property = signalAttributes->at(self.argument->indexOf(o))&#xD;&#xA;              in o.type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="occurrence_specifications" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the MessageEnds are both OccurrenceSpecifications, then the connector must go between the Parts represented by the Lifelines of the two MessageEnds."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="signature_refer_to" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall or reply) or a Signal (in which case messageSort is asynchSignal). The name of the NamedElement referenced by signature must be the same as that of the Message.&#xA;signature->notEmpty() implies &#xD;&#xA;((signature.oclIsKindOf(Operation) and &#xD;&#xA;(messageSort = MessageSort::asynchCall or messageSort = MessageSort::synchCall or messageSort = MessageSort::reply) &#xD;&#xA;) or (signature.oclIsKindOf(Signal)  and messageSort = MessageSort::asynchSignal )&#xD;&#xA; ) and name = signature.name"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="signature_is_operation_request" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In the case when a Message with messageSort synchCall or asynchCall has a non empty Operation signature, the arguments of the Message must correspond to the in and inout parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.&#xA;(messageSort = MessageSort::asynchCall or messageSort = MessageSort::synchCall) and signature.oclIsKindOf(Operation)  implies &#xD;&#xA; let requestParms : OrderedSet(Parameter) = signature.oclAsType(Operation).ownedParameter->&#xD;&#xA; select(direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::_'in'  )&#xD;&#xA;in requestParms->size() = self.argument->size() and&#xD;&#xA;self.argument->forAll( o: ValueSpecification | &#xD;&#xA;not (o.oclIsKindOf(Expression) and o.oclAsType(Expression).symbol->size()=0 and o.oclAsType(Expression).operand->isEmpty() ) implies &#xD;&#xA;let p : Parameter = requestParms->at(self.argument->indexOf(o)) in&#xD;&#xA;o.type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier))&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="signature_is_operation_reply" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In the case when a Message with messageSort reply has a non empty Operation signature, the arguments of the Message must correspond to the out, inout, and return parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.&#xA;(messageSort = MessageSort::reply) and signature.oclIsKindOf(Operation) implies &#xD;&#xA; let replyParms : OrderedSet(Parameter) = signature.oclAsType(Operation).ownedParameter->&#xD;&#xA;select(direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::out or direction = ParameterDirectionKind::return)&#xD;&#xA;in replyParms->size() = self.argument->size() and&#xD;&#xA;self.argument->forAll( o: ValueSpecification | o.oclIsKindOf(Expression) and let e : Expression = o.oclAsType(Expression) in&#xD;&#xA;e.operand->notEmpty()  implies &#xD;&#xA;let p : Parameter = replyParms->at(self.argument->indexOf(o)) in&#xD;&#xA;e.operand->asSequence()->first().type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier))&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getMessageKind" ordered="false" lowerBound="1" eType="#//MessageKind">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns the MessageKind value for this Message.&#xA;result = (messageKind)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="messageKind"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The arguments of the Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"
        eType="#//Connector">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Connector on which this Message is sent.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" ordered="false"
        lowerBound="1" eType="#//Interaction" eOpposite="#//Interaction/message">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The enclosing Interaction owning the Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageKind" ordered="false"
        lowerBound="1" eType="#//MessageKind" changeable="false" volatile="true" transient="true"
        defaultValueLiteral="unknown" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The derived kind of the Message (complete, lost, found, or unknown).&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageSort" ordered="false"
        lowerBound="1" eType="#//MessageSort" defaultValueLiteral="synchCall">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The sort of communication reflected by the Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="receiveEvent" ordered="false"
        eType="#//MessageEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Receiving of the Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="sendEvent" ordered="false"
        eType="#//MessageEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Sending of the Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
        eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The signature of the Message is the specification of its content. It refers either an Operation or a Signal.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Interaction" eSuperTypes="#//Behavior #//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Interaction is a unit of Behavior that focuses on the observable exchange of information between connectable elements.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Interaction instance must not be contained within another Interaction instance.&#xA;enclosingInteraction->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="lifeline" ordered="false"
        upperBound="-1" eType="#//Lifeline" containment="true" eOpposite="#//Lifeline/interaction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the participants in this Interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="fragment" upperBound="-1"
        eType="#//InteractionFragment" containment="true" eOpposite="#//InteractionFragment/enclosingInteraction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of fragments in the Interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="action" ordered="false"
        upperBound="-1" eType="#//Action" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Actions owned by the Interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="formalGate" ordered="false"
        upperBound="-1" eType="#//Gate" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the gates that form the message interface between this Interaction and any InteractionUses which reference it.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="message" ordered="false"
        upperBound="-1" eType="#//Message" containment="true" eOpposite="#//Message/interaction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Messages contained in this Interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InteractionFragment" abstract="true"
      eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="InteractionFragment is an abstract notion of the most general interaction unit. An InteractionFragment is a piece of an Interaction. Each InteractionFragment is conceptually like an Interaction by itself.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="covered" ordered="false"
        upperBound="-1" eType="#//Lifeline" eOpposite="#//Lifeline/coveredBy">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Lifelines that the InteractionFragment involves.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="enclosingOperand" ordered="false"
        eType="#//InteractionOperand" eOpposite="#//InteractionOperand/fragment">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operand enclosing this InteractionFragment (they may nest recursively).&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="enclosingInteraction" ordered="false"
        eType="#//Interaction" eOpposite="#//Interaction/fragment">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Interaction enclosing this InteractionFragment.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="generalOrdering" ordered="false"
        upperBound="-1" eType="#//GeneralOrdering" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The general ordering relationships contained in this fragment.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Lifeline" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Lifeline represents an individual participant in the Interaction. While parts and structural features may have multiplicity greater than 1, Lifelines represent only one interacting entity.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="selector_specified" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The selector for a Lifeline must only be specified if the referenced Part is multivalued.&#xA; self.selector->notEmpty() = (self.represents.oclIsKindOf(MultiplicityElement) and self.represents.oclAsType(MultiplicityElement).isMultivalued())"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="interaction_uses_share_lifeline" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a lifeline is in an Interaction referred to by an InteractionUse in an enclosing Interaction,  and that lifeline is common with another lifeline in an Interaction referred to by another InteractonUse within that same enclosing Interaction, it must be common to a lifeline within that enclosing Interaction. By common Lifelines we mean Lifelines with the same selector and represents associations.&#xA;let intUses : Set(InteractionUse) = interaction.interactionUse  in &#xD;&#xA;intUses->forAll&#xD;&#xA;( iuse : InteractionUse | &#xD;&#xA;let usingInteraction : Set(Interaction)  = iuse.enclosingInteraction->asSet()&#xD;&#xA;->union(&#xD;&#xA;iuse.enclosingOperand.combinedFragment->asSet()->closure(enclosingOperand.combinedFragment).enclosingInteraction->asSet()&#xD;&#xA;               ) &#xD;&#xA;in&#xD;&#xA;let peerUses : Set(InteractionUse) = usingInteraction.fragment->select(oclIsKindOf(InteractionUse)).oclAsType(InteractionUse)->asSet()&#xD;&#xA;->union(&#xD;&#xA;usingInteraction.fragment->select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)->asSet()&#xD;&#xA;->closure(operand.fragment->select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)).operand.fragment->&#xD;&#xA;select(oclIsKindOf(InteractionUse)).oclAsType(InteractionUse)->asSet()&#xD;&#xA;               )->excluding(iuse)&#xD;&#xA; in&#xD;&#xA;peerUses->forAll( peerUse : InteractionUse |&#xD;&#xA; peerUse.refersTo.lifeline->forAll( l : Lifeline | (l.represents = self.represents and &#xD;&#xA; ( self.selector.oclIsKindOf(LiteralString) implies&#xD;&#xA;  l.selector.oclIsKindOf(LiteralString) and &#xD;&#xA;  self.selector.oclAsType(LiteralString).value = l.selector.oclAsType(LiteralString).value )&#xD;&#xA;  and &#xD;&#xA;( self.selector.oclIsKindOf(LiteralInteger) implies&#xD;&#xA;  l.selector.oclIsKindOf(LiteralInteger) and &#xD;&#xA;  self.selector.oclAsType(LiteralInteger).value = l.selector.oclAsType(LiteralInteger).value )&#xD;&#xA;)  &#xD;&#xA;implies&#xD;&#xA; usingInteraction.lifeline->exists(represents = self.represents and&#xD;&#xA; ( self.selector.oclIsKindOf(LiteralString) implies&#xD;&#xA;  l.selector.oclIsKindOf(LiteralString) and &#xD;&#xA;  self.selector.oclAsType(LiteralString).value = l.selector.oclAsType(LiteralString).value )&#xD;&#xA;and &#xD;&#xA;( self.selector.oclIsKindOf(LiteralInteger) implies&#xD;&#xA;  l.selector.oclIsKindOf(LiteralInteger) and &#xD;&#xA;  self.selector.oclAsType(LiteralInteger).value = l.selector.oclAsType(LiteralInteger).value )&#xD;&#xA;)&#xD;&#xA;                                                )&#xD;&#xA;                    )&#xD;&#xA;)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The classifier containing the referenced ConnectableElement must be the same classifier, or an ancestor, of the classifier that contains the interaction enclosing this lifeline.&#xA;represents.namespace->closure(namespace)->includes(interaction._'context')"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="selector_int_or_string" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The selector value, if present, must be a LiteralString or a LiteralInteger&#xA;self.selector->notEmpty() implies &#xD;&#xA;self.selector.oclIsKindOf(LiteralInteger) or &#xD;&#xA;self.selector.oclIsKindOf(LiteralString)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="decomposedAs" ordered="false"
        eType="#//PartDecomposition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Interaction that represents the decomposition.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" ordered="false"
        lowerBound="1" eType="#//Interaction" eOpposite="#//Interaction/lifeline">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Interaction enclosing this Lifeline.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="represents" ordered="false"
        eType="#//ConnectableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the ConnectableElement within the classifier that contains the enclosing interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="selector" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the referenced ConnectableElement is multivalued, then this specifies the specific individual part within that set.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="coveredBy" ordered="false"
        upperBound="-1" eType="#//InteractionFragment" eOpposite="#//InteractionFragment/covered">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the InteractionFragments in which this Lifeline takes part.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PartDecomposition" eSuperTypes="#//InteractionUse">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A PartDecomposition is a description of the internal Interactions of one Lifeline relative to an Interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="commutativity_of_decomposition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="assume" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Within X there is a sequence of constructs along L (such constructs are CombinedFragments, InteractionUse and (plain) OccurrenceSpecifications). Then a corresponding sequence of constructs must appear within D, matched one-to-one in the same order. i) CombinedFragment covering L are matched with an extra-global CombinedFragment in D. ii) An InteractionUse covering L is matched with a global (i.e., covering all Lifelines) InteractionUse in D. iii) A plain OccurrenceSpecification on L is considered an actualGate that must be matched by a formalGate of D."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="parts_of_internal_structures" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="PartDecompositions apply only to Parts that are Parts of Internal Structures not to Parts of Collaborations."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InteractionUse" eSuperTypes="#//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InteractionUse refers to an Interaction. The InteractionUse is a shorthand for copying the contents of the referenced 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.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="gates_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Actual Gates of the InteractionUse must match Formal Gates of the referred Interaction. Gates match when their names are equal and their messages correspond.&#xA;actualGate->notEmpty() implies &#xD;&#xA;refersTo.formalGate->forAll( fg : Gate | self.actualGate->select(matches(fg))->size()=1) and&#xD;&#xA;self.actualGate->forAll(ag : Gate | refersTo.formalGate->select(matches(ag))->size()=1)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="arguments_are_constants" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The arguments must only be constants, parameters of the enclosing Interaction or attributes of the classifier owning the enclosing Interaction."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="returnValueRecipient_coverage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The returnValueRecipient must be a Property of a ConnectableElement that is represented by a Lifeline covered by this InteractionUse.&#xA;returnValueRecipient->asSet()->notEmpty() implies&#xD;&#xA;let covCE : Set(ConnectableElement) = covered.represents->asSet() in &#xD;&#xA;covCE->notEmpty() and let classes:Set(Classifier) = covCE.type.oclIsKindOf(Classifier).oclAsType(Classifier)->asSet() in &#xD;&#xA;let allProps : Set(Property) = classes.attribute->union(classes.allParents().attribute)->asSet() in &#xD;&#xA;allProps->includes(returnValueRecipient)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="arguments_correspond_to_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The arguments of the InteractionUse must correspond to parameters of the referred Interaction."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="returnValue_type_recipient_correspondence" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the returnValue must correspond to the type of the returnValueRecipient.&#xA;returnValue.type->asSequence()->notEmpty() implies returnValue.type->asSequence()->first() = returnValueRecipient.type->asSequence()->first()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="all_lifelines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionUse must cover all Lifelines of the enclosing Interaction that are common with the lifelines covered by the referred Interaction. Lifelines are common if they have the same selector and represents associationEnd values.&#xA;let parentInteraction : Set(Interaction) = enclosingInteraction->asSet()->&#xD;&#xA;union(enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;&#xA;collect(enclosingInteraction).oclAsType(Interaction)->asSet()) in&#xD;&#xA;parentInteraction->size()=1 and let refInteraction : Interaction = refersTo in&#xD;&#xA;parentInteraction.covered-> forAll(intLifeline : Lifeline | refInteraction.covered->&#xD;&#xA;forAll( refLifeline : Lifeline | refLifeline.represents = intLifeline.represents and &#xD;&#xA;(&#xD;&#xA;( refLifeline.selector.oclIsKindOf(LiteralString) implies&#xD;&#xA;  intLifeline.selector.oclIsKindOf(LiteralString) and &#xD;&#xA;  refLifeline.selector.oclAsType(LiteralString).value = intLifeline.selector.oclAsType(LiteralString).value ) and&#xD;&#xA;( refLifeline.selector.oclIsKindOf(LiteralInteger) implies&#xD;&#xA;  intLifeline.selector.oclIsKindOf(LiteralInteger) and &#xD;&#xA;  refLifeline.selector.oclAsType(LiteralInteger).value = intLifeline.selector.oclAsType(LiteralInteger).value )&#xD;&#xA;)&#xD;&#xA; implies self.covered->asSet()->includes(intLifeline)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="actualGate" ordered="false"
        upperBound="-1" eType="#//Gate" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The actual gates of the InteractionUse.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The actual arguments of the Interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="refersTo" ordered="false"
        lowerBound="1" eType="#//Interaction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Refers to the Interaction that defines its meaning.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="returnValue" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The value of the executed Interaction.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="returnValueRecipient" ordered="false"
        eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The recipient of the return value.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Gate" eSuperTypes="#//MessageEnd">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Gate is a MessageEnd which serves as a connection point for relating a Message which has a MessageEnd (sendEvent / receiveEvent) outside an InteractionFragment with another Message which has a MessageEnd (receiveEvent / sendEvent)  inside that InteractionFragment.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isDistinguishableFrom" ordered="false"
          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isDistinguishableFrom() specifies that two Gates may coexist in the same Namespace, without an explicit name property. The association end formalGate subsets ownedElement, and since the Gate name attribute&#xD;&#xA;is optional, it is allowed to have two formal gates without an explicit name, but having derived names which are distinct.&#xA;result = (true)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//NamedElement/isDistinguishableFrom"/>
        <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
        <eParameters name="ns" ordered="false" lowerBound="1" eType="#//Namespace"/>
      </contents>
    </eAnnotations>
    <eOperations name="actual_gate_matched" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this Gate is an actualGate, it must have exactly one matching formalGate within the referred Interaction.&#xA;interactionUse->notEmpty() implies interactionUse.refersTo.formalGate->select(matches(self))->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="inside_cf_matched" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this Gate is inside a CombinedFragment, it must have exactly one matching Gate which is outside of that CombinedFragment.&#xA;isInsideCF() implies combinedFragment.cfragmentGate->select(isOutsideCF() and matches(self))->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="outside_cf_matched" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If this Gate is outside an 'alt' CombinedFragment,  for every InteractionOperator inside that CombinedFragment there must be exactly one matching Gate inside the CombindedFragment with its opposing end enclosed by that InteractionOperator. If this Gate is outside CombinedFragment with operator other than 'alt',   there must be exactly one matching Gate inside that CombinedFragment.&#xA;isOutsideCF() implies&#xD;&#xA; if self.combinedFragment.interactionOperator->asOrderedSet()->first() = InteractionOperatorKind::alt&#xD;&#xA; then self.combinedFragment.operand->forAll(op : InteractionOperand |&#xD;&#xA; self.combinedFragment.cfragmentGate->select(isInsideCF() and &#xD;&#xA; oppositeEnd().enclosingFragment()->includes(self.combinedFragment) and matches(self))->size()=1)&#xD;&#xA; else  self.combinedFragment.cfragmentGate->select(isInsideCF() and matches(self))->size()=1&#xD;&#xA; endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="formal_gate_distinguishable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="isFormal() implies that no other formalGate of the parent Interaction returns the same getName() as returned for self&#xA;isFormal() implies interaction.formalGate->select(getName() = self.getName())->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="actual_gate_distinguishable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="isActual() implies that no other actualGate of the parent InteractionUse returns the same getName() as returned for self&#xA;isActual() implies interactionUse.actualGate->select(getName() = self.getName())->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="outside_cf_gate_distinguishable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="isOutsideCF() implies that no other outside cfragmentGate of the parent CombinedFragment returns the same getName() as returned for self&#xA;isOutsideCF() implies combinedFragment.cfragmentGate->select(getName() = self.getName())->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="inside_cf_gate_distinguishable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="isInsideCF() implies that no other inside cfragmentGate attached to a message with its other end in the same InteractionOperator as self, returns the same getName() as returned for self&#xA;isInsideCF() implies&#xD;&#xA;let selfOperand : InteractionOperand = self.getOperand() in&#xD;&#xA;  combinedFragment.cfragmentGate->select(isInsideCF() and getName() = self.getName())->select(getOperand() = selfOperand)->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="isOutsideCF" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns true if this Gate is attached to the boundary of a CombinedFragment, and its other end (if present)  is outside of the same CombinedFragment.&#xA;result = (self.oppositeEnd()-> notEmpty() and combinedFragment->notEmpty() implies&#xD;&#xA;let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;&#xA;if oppEnd.oclIsKindOf(MessageOccurrenceSpecification) &#xD;&#xA;then let oppMOS : MessageOccurrenceSpecification = oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;&#xA;in  self.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;&#xA;     union(self.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet()) =&#xD;&#xA;     oppMOS.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;&#xA;     union(oppMOS.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;&#xA;else let oppGate : Gate = oppEnd.oclAsType(Gate) &#xD;&#xA;in self.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;&#xA;     union(self.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet()) =&#xD;&#xA;     oppGate.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;&#xA;     union(oppGate.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isInsideCF" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns true if this Gate is attached to the boundary of a CombinedFragment, and its other end (if present) is inside of an InteractionOperator of the same CombinedFragment.&#xA;result = (self.oppositeEnd()-> notEmpty() and combinedFragment->notEmpty() implies&#xD;&#xA;let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;&#xA;if oppEnd.oclIsKindOf(MessageOccurrenceSpecification)&#xD;&#xA;then let oppMOS : MessageOccurrenceSpecification&#xD;&#xA;= oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;&#xA;in combinedFragment = oppMOS.enclosingOperand.combinedFragment&#xD;&#xA;else let oppGate : Gate = oppEnd.oclAsType(Gate)&#xD;&#xA;in combinedFragment = oppGate.combinedFragment.enclosingOperand.combinedFragment&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isActual" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns true value if this Gate is an actualGate of an InteractionUse.&#xA;result = (interactionUse->notEmpty())&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isFormal" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns true if this Gate is a formalGate of an Interaction.&#xA;result = (interaction->notEmpty())&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getName" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns the name of the gate, either the explicit name (.name) or the constructed name ('out_&quot; or 'in_' concatenated in front of .message.name) if the explicit name is not present.&#xA;result = (if name->notEmpty() then name->asOrderedSet()->first()&#xD;&#xA;else  if isActual() or isOutsideCF() &#xD;&#xA;  then if isSend() &#xD;&#xA;    then 'out_'.concat(self.message.name->asOrderedSet()->first())&#xD;&#xA;    else 'in_'.concat(self.message.name->asOrderedSet()->first())&#xD;&#xA;    endif&#xD;&#xA;  else if isSend()&#xD;&#xA;    then 'in_'.concat(self.message.name->asOrderedSet()->first())&#xD;&#xA;    else 'out_'.concat(self.message.name->asOrderedSet()->first())&#xD;&#xA;    endif&#xD;&#xA;  endif&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="matches" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns true if the name of this Gate matches the name of the in parameter Gate, and the messages for the two Gates correspond. The Message for one Gate (say A) corresponds to the Message for another Gate (say B) if (A and B have the same name value) and (if A is a sendEvent then B is a receiveEvent) and (if A is a receiveEvent then B is a sendEvent) and (A and B have the same messageSort value) and (A and B have the same signature value).&#xA;result = (self.getName() = gateToMatch.getName() and &#xD;&#xA;self.message.messageSort = gateToMatch.message.messageSort and&#xD;&#xA;self.message.name = gateToMatch.message.name and&#xD;&#xA;self.message.sendEvent->includes(self) implies gateToMatch.message.receiveEvent->includes(gateToMatch)  and&#xD;&#xA;self.message.receiveEvent->includes(self) implies gateToMatch.message.sendEvent->includes(gateToMatch) and&#xD;&#xA;self.message.signature = gateToMatch.message.signature)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eParameters name="gateToMatch" ordered="false" lowerBound="1" eType="#//Gate"/>
    </eOperations>
    <eOperations name="getOperand" ordered="false" lowerBound="1" eType="#//InteractionOperand">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the Gate is an inside Combined Fragment Gate, this operation returns the InteractionOperand that the opposite end of this Gate is included within.&#xA;result = (if isInsideCF() then&#xD;&#xA;  let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;&#xA;    if oppEnd.oclIsKindOf(MessageOccurrenceSpecification)&#xD;&#xA;    then let oppMOS : MessageOccurrenceSpecification = oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;&#xA;        in oppMOS.enclosingOperand->asOrderedSet()->first()&#xD;&#xA;    else let oppGate : Gate = oppEnd.oclAsType(Gate)&#xD;&#xA;        in oppGate.combinedFragment.enclosingOperand->asOrderedSet()->first()&#xD;&#xA;    endif&#xD;&#xA;  else null&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageEnd" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="MessageEnd is an abstract specialization of NamedElement that represents what can occur at the end of a Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="oppositeEnd" ordered="false" upperBound="-1" eType="#//MessageEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns a set including the MessageEnd (if exists) at the opposite end of the Message for this MessageEnd.&#xA;result = (message->asSet().messageEnd->asSet()->excluding(self))&#xA;message->notEmpty()&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isSend" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns value true if this MessageEnd is a sendEvent.&#xA;message->notEmpty()&#xA;result = (message.sendEvent->asSet()->includes(self))&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isReceive" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns value true if this MessageEnd is a receiveEvent.&#xA;message->notEmpty()&#xA;result = (message.receiveEvent->asSet()->includes(self))&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="enclosingFragment" ordered="false" upperBound="-1" eType="#//InteractionFragment">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This query returns a set including the enclosing InteractionFragment this MessageEnd is enclosed within.&#xA;result = (if self->select(oclIsKindOf(Gate))->notEmpty() &#xD;&#xA;then -- it is a Gate&#xD;&#xA;let endGate : Gate = &#xD;&#xA;  self->select(oclIsKindOf(Gate)).oclAsType(Gate)->asOrderedSet()->first()&#xD;&#xA;  in&#xD;&#xA;  if endGate.isOutsideCF() &#xD;&#xA;  then endGate.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;&#xA;     union(endGate.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;&#xA;  else if endGate.isInsideCF() &#xD;&#xA;    then endGate.combinedFragment.oclAsType(InteractionFragment)->asSet()&#xD;&#xA;    else if endGate.isFormal() &#xD;&#xA;      then endGate.interaction.oclAsType(InteractionFragment)->asSet()&#xD;&#xA;      else if endGate.isActual() &#xD;&#xA;        then endGate.interactionUse.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;&#xA;     union(endGate.interactionUse.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;&#xA;        else null&#xD;&#xA;        endif&#xD;&#xA;      endif&#xD;&#xA;    endif&#xD;&#xA;  endif&#xD;&#xA;else -- it is a MessageOccurrenceSpecification&#xD;&#xA;let endMOS : MessageOccurrenceSpecification  = &#xD;&#xA;  self->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() &#xD;&#xA;  in&#xD;&#xA;  if endMOS.enclosingInteraction->notEmpty() &#xD;&#xA;  then endMOS.enclosingInteraction.oclAsType(InteractionFragment)->asSet()&#xD;&#xA;  else endMOS.enclosingOperand.oclAsType(InteractionFragment)->asSet()&#xD;&#xA;  endif&#xD;&#xA;endif)&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="message" ordered="false"
        eType="#//Message">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References a Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InteractionOperand" eSuperTypes="#//Namespace #//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InteractionOperand is contained in a CombinedFragment. An InteractionOperand represents one operand of the expression given by the enclosing CombinedFragment.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="guard_contain_references" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="guard_directly_prior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The guard must be placed directly prior to (above) the OccurrenceSpecification that will become the first OccurrenceSpecification within this InteractionOperand."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="fragment" upperBound="-1"
        eType="#//InteractionFragment" containment="true" eOpposite="#//InteractionFragment/enclosingOperand">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The fragments of the operand.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
        eType="#//InteractionConstraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Constraint of the operand.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InteractionConstraint" eSuperTypes="#//Constraint">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InteractionConstraint is a Boolean expression that guards an operand in a CombinedFragment.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="minint_maxint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Minint/maxint can only be present if the InteractionConstraint is associated with the operand of a loop CombinedFragment.&#xA;maxint->notEmpty() or minint->notEmpty() implies&#xD;&#xA;interactionOperand.combinedFragment.interactionOperator =&#xD;&#xA;InteractionOperatorKind::loop"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="minint_non_negative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If minint is specified, then the expression must evaluate to a non-negative integer.&#xA;minint->notEmpty() implies &#xD;&#xA;minint->asSequence()->first().integerValue() >= 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="maxint_positive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If maxint is specified, then the expression must evaluate to a positive integer.&#xA;maxint->notEmpty() implies &#xD;&#xA;maxint->asSequence()->first().integerValue() > 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="dynamic_variables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The dynamic variables that take part in the constraint must be owned by the ConnectableElement corresponding to the covered Lifeline."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="global_data" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The constraint may contain references to global data or write-once data."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="maxint_greater_equal_minint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If maxint is specified, then minint must be specified and the evaluation of maxint must be >= the evaluation of minint.&#xA;maxint->notEmpty() implies (minint->notEmpty() and &#xD;&#xA;maxint->asSequence()->first().integerValue() >=&#xD;&#xA;minint->asSequence()->first().integerValue() )"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="maxint" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The maximum number of iterations of a loop&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="minint" ordered="false"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The minimum number of iterations of a loop&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="GeneralOrdering" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="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.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="irreflexive_transitive_closure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An occurrence specification must not be ordered relative to itself through a series of general orderings. (In other words, the transitive closure of the general orderings is irreflexive.)&#xA;after->closure(toAfter.after)->excludes(before)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="after" ordered="false"
        lowerBound="1" eType="#//OccurrenceSpecification" eOpposite="#//OccurrenceSpecification/toBefore">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OccurrenceSpecification referenced comes after the OccurrenceSpecification referenced by before.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="before" ordered="false"
        lowerBound="1" eType="#//OccurrenceSpecification" eOpposite="#//OccurrenceSpecification/toAfter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The OccurrenceSpecification referenced comes before the OccurrenceSpecification referenced by after.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OccurrenceSpecification" eSuperTypes="#//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An OccurrenceSpecification is the basic semantic unit of Interactions. The sequences of occurrences specified by them are the meanings of Interactions.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="covered">
        <details key="lowerBound" value="1"/>
        <details key="upperBound" value="1"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="covered" ordered="false" upperBound="-1"
          eType="#//Lifeline">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="References the Lifeline on which the OccurrenceSpecification appears.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//InteractionFragment/covered"/>
      </contents>
    </eAnnotations>
    <eOperations name="getCovered" ordered="false" eType="#//Lifeline">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the Lifeline on which the OccurrenceSpecification appears."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setCovered" ordered="false" lowerBound="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the Lifeline on which the OccurrenceSpecification appears."/>
      </eAnnotations>
      <eParameters name="value" ordered="false" lowerBound="1" eType="#//Lifeline"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="toAfter" ordered="false"
        upperBound="-1" eType="#//GeneralOrdering" eOpposite="#//GeneralOrdering/before">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the GeneralOrderings that specify EventOcurrences that must occur after this OccurrenceSpecification.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="toBefore" ordered="false"
        upperBound="-1" eType="#//GeneralOrdering" eOpposite="#//GeneralOrdering/after">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the GeneralOrderings that specify EventOcurrences that must occur before this OccurrenceSpecification.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="MessageKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="This is an enumerated type that identifies the type of Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="complete">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="sendEvent and receiveEvent are present"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="lost" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="sendEvent present and receiveEvent absent"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="found" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="sendEvent absent and receiveEvent present"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="unknown" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="sendEvent and receiveEvent absent (should not appear)"/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="MessageSort">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="This is an enumerated type that identifies the type of communication action that was used to generate the Message.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="synchCall">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The message was generated by a synchronous call to an operation."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="asynchCall" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The message was generated by an asynchronous call to an operation; i.e., a CallAction with isSynchronous = false."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="asynchSignal" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The message was generated by an asynchronous send action."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="createMessage" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The message designating the creation of another lifeline object."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="deleteMessage" value="4">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The message designating the termination of another lifeline."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="reply" value="5">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The message is a reply message to an operation call."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InformationItem" eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="InformationItems represent many kinds of information that can flow from sources to targets in very abstract ways.  They represent the kinds of information that may move within a system, but do not elaborate details of the transferred information.  Details of transferred information are the province of other Classifiers that may ultimately define InformationItems.  Consequently, InformationItems cannot be instantiated and do not themselves have features, generalizations, or associations. An important use of InformationItems is to represent information during early design stages, possibly before the detailed modeling decisions that will ultimately define them have been made. Another purpose of InformationItems is to abstract portions of complex models in less precise, but perhaps more general and communicable, ways.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="sources_and_targets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The sources and targets of an information item (its related information flows) must designate subsets of the sources and targets of the representation information item, if any. The Classifiers that can realize an information item can only be of the following kind: Class, Interface, InformationItem, Signal, Component.&#xA;(self.represented->select(oclIsKindOf(InformationItem))->forAll(p |&#xD;&#xA;  p.conveyingFlow.source->forAll(q | self.conveyingFlow.source->includes(q)) and&#xD;&#xA;    p.conveyingFlow.target->forAll(q | self.conveyingFlow.target->includes(q)))) and&#xD;&#xA;      (self.represented->forAll(oclIsKindOf(Class) or oclIsKindOf(Interface) or&#xD;&#xA;        oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="has_no" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An informationItem has no feature, no generalization, and no associations.&#xA;self.generalization->isEmpty() and self.feature->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="not_instantiable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="It is not instantiable.&#xA;isAbstract"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="represented" ordered="false"
        upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines the classifiers that will specify the structure and nature of the information. An information item represents all its represented classifiers.&#xA;&lt;p>From package UML::InformationFlows.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ActionExecutionSpecification" eSuperTypes="#//ExecutionSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ActionExecutionSpecification is a kind of ExecutionSpecification representing the execution of an Action.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="action_referenced" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Action referenced by the ActionExecutionSpecification must be owned by the Interaction owning that ActionExecutionSpecification.&#xA;(enclosingInteraction->notEmpty() or enclosingOperand.combinedFragment->notEmpty()) and&#xD;&#xA;let parentInteraction : Set(Interaction) = enclosingInteraction.oclAsType(Interaction)->asSet()->union(&#xD;&#xA;enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;&#xA;collect(enclosingInteraction).oclAsType(Interaction)->asSet()) in&#xD;&#xA;(parentInteraction->size() = 1) and self.action.interaction->asSet() = parentInteraction"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="action" ordered="false"
        lowerBound="1" eType="#//Action">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Action whose execution is occurring.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExecutionSpecification" abstract="true"
      eSuperTypes="#//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="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 OccurrenceSpecifications, the start OccurrenceSpecification and the finish OccurrenceSpecification.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="same_lifeline" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The startEvent and the finishEvent must be on the same Lifeline.&#xA;start.covered = finish.covered"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="finish" ordered="false"
        lowerBound="1" eType="#//OccurrenceSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the OccurrenceSpecification that designates the finish of the Action or Behavior.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="start" ordered="false"
        lowerBound="1" eType="#//OccurrenceSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the OccurrenceSpecification that designates the start of the Action or Behavior.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BehaviorExecutionSpecification" eSuperTypes="#//ExecutionSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A BehaviorExecutionSpecification is a kind of ExecutionSpecification representing the execution of a Behavior.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"
        eType="#//Behavior">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Behavior whose execution is occurring.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CombinedFragment" eSuperTypes="#//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A CombinedFragment defines an expression of InteractionFragments. A CombinedFragment is defined by an interaction operator and corresponding InteractionOperands. Through the use of CombinedFragments the user will be able to describe a number of traces in a compact and concise manner.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="break" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the interactionOperator is break, the corresponding InteractionOperand must cover all Lifelines covered by the enclosing InteractionFragment.&#xA;interactionOperator=InteractionOperatorKind::break  implies   &#xD;&#xA;enclosingInteraction.oclAsType(InteractionFragment)->asSet()->union(&#xD;&#xA;   enclosingOperand.oclAsType(InteractionFragment)->asSet()).covered->asSet() = self.covered->asSet()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="consider_and_ignore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The interaction operators 'consider' and 'ignore' can only be used for the ConsiderIgnoreFragment subtype of CombinedFragment&#xA;((interactionOperator = InteractionOperatorKind::consider) or (interactionOperator =  InteractionOperatorKind::ignore)) implies oclIsKindOf(ConsiderIgnoreFragment)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="opt_loop_break_neg" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If the interactionOperator is opt, loop, break, assert or neg, there must be exactly one operand.&#xA;(interactionOperator =  InteractionOperatorKind::opt or interactionOperator = InteractionOperatorKind::loop or&#xD;&#xA;interactionOperator = InteractionOperatorKind::break or interactionOperator = InteractionOperatorKind::assert or&#xD;&#xA;interactionOperator = InteractionOperatorKind::neg)&#xD;&#xA;implies operand->size()=1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="cfragmentGate" ordered="false"
        upperBound="-1" eType="#//Gate" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the gates that form the interface between this CombinedFragment and its surroundings&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="interactionOperator" ordered="false"
        lowerBound="1" eType="#//InteractionOperatorKind" defaultValueLiteral="seq">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the operation which defines the semantics of this combination of InteractionFragments.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="operand" lowerBound="1"
        upperBound="-1" eType="#//InteractionOperand" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of operands of the combined fragment.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="InteractionOperatorKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="InteractionOperatorKind is an enumeration designating the different kinds of operators of CombinedFragments. The InteractionOperand defines the type of operator of a CombinedFragment.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eLiterals name="seq">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind seq designates that the CombinedFragment represents a weak sequencing between the behaviors of the operands."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="alt" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind 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."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="opt" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind 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."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="break" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind 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."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="par" value="4">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind 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."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="strict" value="5">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind 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."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="loop" value="6">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind loop designates that the CombinedFragment represents a loop. The loop operand will be repeated a number of times."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="critical" value="7">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind 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 with par-operator, this is prevented by defining a region."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="neg" value="8">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind neg designates that the CombinedFragment represents traces that are defined to be invalid."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="assert" value="9">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind 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."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="ignore" value="10">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind 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."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="consider" value="11">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InteractionOperatorKind consider designates which messages should be considered within this combined fragment. This is equivalent to defining every other message to be ignored."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConsiderIgnoreFragment" eSuperTypes="#//CombinedFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ConsiderIgnoreFragment is a kind of CombinedFragment that is used for the consider and ignore cases, which require lists of pertinent Messages to be specified.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="consider_or_ignore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The interaction operator of a ConsiderIgnoreFragment must be either 'consider' or 'ignore'.&#xA;(interactionOperator =  InteractionOperatorKind::consider) or (interactionOperator =  InteractionOperatorKind::ignore)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The NamedElements must be of a type of element that can be a signature for a message (i.e.., an Operation, or a Signal).&#xA;message->forAll(m | m.oclIsKindOf(Operation) or m.oclIsKindOf(Signal))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="message" ordered="false"
        upperBound="-1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of messages that apply to this fragment.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Continuation" eSuperTypes="#//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Continuation is a syntactic way to define continuations of different branches of an alternative CombinedFragment. Continuations are intuitively similar to labels representing intermediate points in a flow of control.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="first_or_last_interaction_fragment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionOperand.&#xA; enclosingOperand->notEmpty() and &#xD;&#xA; let peerFragments : OrderedSet(InteractionFragment) =  enclosingOperand.fragment in &#xD;&#xA;   ( peerFragments->notEmpty() and &#xD;&#xA;   ((peerFragments->first() = self) or  (peerFragments->last() = self)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="same_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Across all Interaction instances having the same context value, every Lifeline instance covered by a Continuation (self) must be common with one covered Lifeline instance of all other Continuation instances with the same name as self, and every Lifeline instance covered by a Continuation instance with the same name as self must be common with one covered Lifeline instance of self. Lifeline instances are common if they have the same selector and represents associationEnd values.&#xA;enclosingOperand.combinedFragment->notEmpty() and&#xD;&#xA;let parentInteraction : Set(Interaction) = &#xD;&#xA;enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;&#xA;collect(enclosingInteraction).oclAsType(Interaction)->asSet()&#xD;&#xA;in &#xD;&#xA;(parentInteraction->size() = 1) &#xD;&#xA;and let peerInteractions : Set(Interaction) =&#xD;&#xA; (parentInteraction->union(parentInteraction->collect(_'context')->collect(behavior)->&#xD;&#xA; select(oclIsKindOf(Interaction)).oclAsType(Interaction)->asSet())->asSet()) in&#xD;&#xA; (peerInteractions->notEmpty()) and &#xD;&#xA;  let combinedFragments1 : Set(CombinedFragment) = peerInteractions.fragment->&#xD;&#xA; select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)->asSet() in&#xD;&#xA;   combinedFragments1->notEmpty() and  combinedFragments1->closure(operand.fragment->&#xD;&#xA;   select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment))->asSet().operand.fragment->&#xD;&#xA;   select(oclIsKindOf(Continuation)).oclAsType(Continuation)->asSet()->&#xD;&#xA;   forAll(c : Continuation |  (c.name = self.name) implies &#xD;&#xA;  (c.covered->asSet()->forAll(cl : Lifeline | --  cl must be common to one lifeline covered by self&#xD;&#xA;  self.covered->asSet()->&#xD;&#xA;  select(represents = cl.represents and selector = cl.selector)->asSet()->size()=1))&#xD;&#xA;   and&#xD;&#xA; (self.covered->asSet()->forAll(cl : Lifeline | --  cl must be common to one lifeline covered by c&#xD;&#xA; c.covered->asSet()->&#xD;&#xA;  select(represents = cl.represents and selector = cl.selector)->asSet()->size()=1))&#xD;&#xA;  )"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="global" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Continuations are always global in the enclosing InteractionFragment e.g., it always covers all Lifelines covered by the enclosing InteractionOperator.&#xA;enclosingOperand->notEmpty() and&#xD;&#xA;  let operandLifelines : Set(Lifeline) =  enclosingOperand.covered in &#xD;&#xA;    (operandLifelines->notEmpty() and &#xD;&#xA;    operandLifelines->forAll(ol :Lifeline |self.covered->includes(ol)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="setting" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="True: when the Continuation is at the end of the enclosing InteractionFragment and False when it is in the beginning.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DestructionOccurrenceSpecification"
      eSuperTypes="#//MessageOccurrenceSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DestructionOccurenceSpecification models the destruction of an object.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="no_occurrence_specifications_below" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="No other OccurrenceSpecifications on a given Lifeline in an InteractionOperand may appear below a DestructionOccurrenceSpecification.&#xA;let o : InteractionOperand = enclosingOperand in o->notEmpty() and &#xD;&#xA;let peerEvents : OrderedSet(OccurrenceSpecification) = covered.events->select(enclosingOperand = o)&#xD;&#xA;in peerEvents->last() = self"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageOccurrenceSpecification" eSuperTypes="#//OccurrenceSpecification #//MessageEnd">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A MessageOccurrenceSpecification specifies the occurrence of Message events, such as sending and receiving of Signals or invoking or receiving of Operation calls. A MessageOccurrenceSpecification is a kind of MessageEnd. Messages are generated either by synchronous Operation calls or asynchronous Signal sends. They are received by the execution of corresponding AcceptEventActions.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExecutionOccurrenceSpecification" eSuperTypes="#//OccurrenceSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An ExecutionOccurrenceSpecification represents moments in time at which Actions or Behaviors start or finish.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="execution" ordered="false"
        lowerBound="1" eType="#//ExecutionSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the execution specification describing the execution that is started or finished at this execution event.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StateInvariant" eSuperTypes="#//InteractionFragment">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="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.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="covered">
        <details key="lowerBound" value="1"/>
        <details key="upperBound" value="1"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="covered" ordered="false" upperBound="-1"
          eType="#//Lifeline">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="References the Lifeline on which the StateInvariant appears.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//InteractionFragment/covered"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="invariant" ordered="false"
        lowerBound="1" eType="#//Constraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Constraint that should hold at runtime for this StateInvariant.&#xA;&lt;p>From package UML::Interactions.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//State">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A special kind of State, which, when entered, signifies that the enclosing Region has completed. If the enclosing Region is directly contained in a StateMachine and all other Regions in that StateMachine also are completed, then it means that the entire StateMachine behavior is completed.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="no_exit_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A FinalState has no exit Behavior.&#xA;exit->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_outgoing_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A FinalState cannot have any outgoing Transitions.&#xA;outgoing->size() = 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A FinalState cannot have Regions.&#xA;region->size() = 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="cannot_reference_submachine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A FinalState cannot reference a submachine.&#xA;submachine->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_entry_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A FinalState has no entry Behavior.&#xA;entry->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_state_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A FinalState has no state (doActivity) Behavior.&#xA;doActivity->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ProtocolTransition" eSuperTypes="#//Transition">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ProtocolTransition specifies a legal Transition for an Operation. Transitions of ProtocolStateMachines have the following information: a pre-condition (guard), a Trigger, and a post-condition. Every ProtocolTransition is associated with at most one BehavioralFeature belonging to the context Classifier of the ProtocolStateMachine.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="refers_to_operation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a ProtocolTransition refers to an Operation (i.e., has a CallEvent trigger corresponding to an Operation), then that Operation should apply to the context Classifier of the StateMachine of the ProtocolTransition.&#xA;if (referred()->notEmpty() and containingStateMachine()._'context'->notEmpty()) then &#xD;&#xA;    containingStateMachine()._'context'.oclAsType(BehavioredClassifier).allFeatures()->includesAll(referred())&#xD;&#xA;else true endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="associated_actions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ProtocolTransition never has associated Behaviors.&#xA;effect = null"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="belongs_to_psm" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ProtocolTransition always belongs to a ProtocolStateMachine.&#xA;container.belongsToPSM()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getReferreds" ordered="false" upperBound="-1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for ProtocolTransition::/referred&#xA;result = (trigger->collect(event)->select(oclIsKindOf(CallEvent))->collect(oclAsType(CallEvent).operation)->asSet())&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="referred"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="postCondition" ordered="false"
        eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="preCondition" ordered="false"
        eType="#//Constraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Transition/guard"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referred" ordered="false"
        upperBound="-1" eType="#//Operation" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This association refers to the associated Operation. It is derived from the Operation of the CallEvent Trigger when applicable.&#xA;&lt;p>From package UML::StateMachines.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AssociationClass" eSuperTypes="#//Class #//Association">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A model element that has both Association and Class properties. An AssociationClass can be seen as an Association that also has Class properties, or as a Class that also has Association properties. It not only connects a set of Classifiers but also defines a set of Features that belong to the Association itself and not to any of the associated Classifiers.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="cannot_be_defined" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An AssociationClass cannot be defined between itself and something else.&#xA;self.endType()->excludes(self) and self.endType()->collect(et|et.oclAsType(Classifier).allParents())->flatten()->excludes(self)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="disjoint_attributes_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The owned attributes and owned ends of an AssociationClass are disjoint.&#xA;ownedAttribute->intersection(ownedEnd)->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="no_nested_classifiers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Component cannot nest Classifiers.&#xA;nestedClassifier->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="no_packaged_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Component nested in a Class cannot have any packaged elements.&#xA;nestingClass &lt;> null implies packagedElement->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedClass" ordered="false" lowerBound="1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a(n) (abstract) class with the specified name as a packaged element of this component."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new class, or null."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="isAbstract" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Whether the new class should be abstract."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedEnumeration" ordered="false" lowerBound="1" eType="#//Enumeration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a enumeration with the specified name as a packaged element of this component."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new enumeration, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedInterface" ordered="false" lowerBound="1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates an interface with the specified name as a packaged element of this component."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new interface, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="createOwnedPrimitiveType" ordered="false" lowerBound="1" eType="#//PrimitiveType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Creates a primitive type with the specified name as a packaged element of this component."/>
      </eAnnotations>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name for the new primitive type, or null."/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations name="getProvideds" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Component::/provided&#xA;result = (let &#x9;ris : Set(Interface) = allRealizedInterfaces(),&#xD;&#xA;        realizingClassifiers : Set(Classifier) =  self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(),&#xD;&#xA;        allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(),&#xD;&#xA;        realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allRealizedInterfaces())),&#xD;&#xA;        ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(),&#xD;&#xA;        providedByPorts : Set(Interface) = ports.provided->asSet()&#xD;&#xA;in     ris->union(realizingClassifierInterfaces) ->union(providedByPorts)->asSet())&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="provided"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getRequireds" ordered="false" upperBound="-1" eType="#//Interface">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Derivation for Component::/required&#xA;result = (let &#x9;uis : Set(Interface) = allUsedInterfaces(),&#xD;&#xA;        realizingClassifiers : Set(Classifier) = self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(),&#xD;&#xA;        allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(),&#xD;&#xA;        realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allUsedInterfaces())),&#xD;&#xA;        ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(),&#xD;&#xA;        usedByPorts : Set(Interface) = ports.required->asSet()&#xD;&#xA;in&#x9;    uis->union(realizingClassifierInterfaces)->union(usedByPorts)->asSet()&#xD;&#xA;)&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
        <details key="suppressedVisibility" value="true"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="required"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isIndirectlyInstantiated"
        ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the Component is defined at design-time, but at run-time (or execution-time) an object specified by the Component does not exist, that is, the Component is instantiated indirectly, through the instantiation of its realizing Classifiers or parts.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="packagedElement" ordered="false"
        upperBound="-1" eType="#//PackageableElement" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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, UseCases, Dependencies (e.g., mappings), and Artifacts.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="provided" ordered="false"
        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="realization" ordered="false"
        upperBound="-1" eType="#//ComponentRealization" containment="true" eOpposite="#//ComponentRealization/abstraction">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="required" ordered="false"
        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ComponentRealization" eSuperTypes="#//Realization">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Realization is specialized to (optionally) define the Classifiers that realize the contract offered by a Component in terms of its provided and required Interfaces. The Component forms an abstraction from these various Classifiers.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="realizingClassifier" ordered="false"
        lowerBound="1" upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifiers that are involved in the implementation of the Component that owns this Realization.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/client"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="abstraction" ordered="false"
        eType="#//Component" eOpposite="#//Component/realization">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Component that owns this ComponentRealization and which is implemented by its realizing Classifiers.&#xA;&lt;p>From package UML::StructuredClassifiers.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Dependency/supplier #//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Actor" eSuperTypes="#//BehavioredClassifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Actor specifies a role played by a user or any other system that interacts with the subject.&#xA;&lt;p>From package UML::UseCases.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="associations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Actor can only have Associations to UseCases, Components, and Classes. Furthermore these Associations must be binary.&#xA;Association.allInstances()->forAll( a |&#xA;  a.memberEnd->collect(type)->includes(self) implies&#xA;  (&#xA;    a.memberEnd->size() = 2 and&#xA;    let actorEnd : Property = a.memberEnd->any(type = self) in&#xA;      actorEnd.opposite.class.oclIsKindOf(UseCase) or&#xA;      ( actorEnd.opposite.class.oclIsKindOf(Class) and not&#xA;         actorEnd.opposite.class.oclIsKindOf(Behavior))&#xA;      )&#xA;  )"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="must_have_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Actor must have a name.&#xA;name->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Duration" eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Duration is a ValueSpecification that specifies the temporal distance between two time instants.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
    </eAnnotations>
    <eOperations name="no_expr_requires_observation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If a Duration has no expr, then it must have a single observation that is a DurationObservation.&#xA;expr = null implies (observation->size() = 1 and observation->forAll(oclIsKindOf(DurationObservation)))"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="expr" ordered="false" eType="#//ValueSpecification"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A ValueSpecification that evaluates to the value of the Duration.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="observation" ordered="false"
        upperBound="-1" eType="#//Observation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Refers to the Observations that are involved in the computation of the Duration value&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DurationConstraint" eSuperTypes="#//IntervalConstraint">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DurationConstraint is a Constraint that refers to a DurationInterval.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="specification">
        <details key="eType" value="uml::DurationInterval"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="specification" ordered="false" lowerBound="1"
          eType="#//ValueSpecification" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The DurationInterval constraining the duration.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//IntervalConstraint/%duplicates%/specification #//Constraint/specification"/>
      </contents>
    </eAnnotations>
    <eOperations name="first_event_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of firstEvent must be 2 if the multiplicity of constrainedElement is 2. Otherwise the multiplicity of firstEvent is 0.&#xA;if (constrainedElement->size() = 2)&#xD;&#xA;  then (firstEvent->size() = 2) else (firstEvent->size() = 0) &#xD;&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="has_one_or_two_constrainedElements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A DurationConstraint has either one or two constrainedElements.&#xA;constrainedElement->size() = 1 or constrainedElement->size()=2"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstEvent" ordered="false"
        upperBound="2" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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].&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="IntervalConstraint" eSuperTypes="#//Constraint">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An IntervalConstraint is a Constraint that is specified by an Interval.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="specification">
        <details key="eType" value="uml::Interval"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="specification" ordered="false" lowerBound="1"
          eType="#//ValueSpecification" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The Interval that specifies the condition of the IntervalConstraint.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Constraint/specification"/>
      </contents>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Interval" eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Interval defines the range between two ValueSpecifications.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="max" ordered="false" lowerBound="1"
        eType="#//ValueSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Refers to the ValueSpecification denoting the maximum value of the range.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="min" ordered="false" lowerBound="1"
        eType="#//ValueSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Refers to the ValueSpecification denoting the minimum value of the range.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DurationInterval" eSuperTypes="#//Interval">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DurationInterval defines the range between two Durations.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="max">
        <details key="eType" value="uml::Duration"/>
      </eAnnotations>
      <eAnnotations source="min">
        <details key="eType" value="uml::Duration"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="max" ordered="false" lowerBound="1"
          eType="#//ValueSpecification">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Refers to the Duration denoting the maximum value of the range.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Interval/max"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="min" ordered="false" lowerBound="1"
          eType="#//ValueSpecification">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Refers to the Duration denoting the minimum value of the range.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Interval/min"/>
      </contents>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DurationObservation" eSuperTypes="#//Observation">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DurationObservation is a reference to a duration during an execution. It points out the NamedElement(s) in the model to observe and whether the observations are when this NamedElement is entered or when it is exited.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eOperations name="first_event_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The multiplicity of firstEvent must be 2 if the multiplicity of event is 2. Otherwise the multiplicity of firstEvent is 0.&#xA;if (event->size() = 2)&#xD;&#xA;  then (firstEvent->size() = 2) else (firstEvent->size() = 0)&#xD;&#xA;endif"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" upperBound="2"
        eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The DurationObservation is determined as the duration between the entering or exiting of a single event Element during execution, or the entering/exiting of one event Element and the entering/exiting of a second.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstEvent" ordered="false"
        upperBound="2" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="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].&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralBoolean" eSuperTypes="#//LiteralSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A LiteralBoolean is a specification of a Boolean value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="booleanValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query booleanValue() gives the value.&#xA;result = (value)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/booleanValue"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = (true)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified Boolean value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralSpecification" abstract="true"
      eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A LiteralSpecification identifies a literal constant being modeled.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralInteger" eSuperTypes="#//LiteralSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A LiteralInteger is a specification of an Integer value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="integerValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query integerValue() gives the value.&#xA;result = (value)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/integerValue"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = (true)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"
        defaultValueLiteral="0">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified Integer value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralNull" eSuperTypes="#//LiteralSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A LiteralNull specifies the lack of a value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = (true)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isNull" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isNull() returns true.&#xA;result = (true)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/isNull"/>
      </contents>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralReal" eSuperTypes="#//LiteralSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A LiteralReal is a specification of a Real value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = (true)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="realValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Real">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query realValue() gives the value.&#xA;result = (value)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/realValue"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified Real value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralString" eSuperTypes="#//LiteralSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A LiteralString is a specification of a String value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="integerValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/integerValue"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="unlimitedValue" ordered="false"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/unlimitedValue"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = (true)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query stringValue() gives the value.&#xA;result = (value)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified String value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralUnlimitedNatural" eSuperTypes="#//LiteralSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A LiteralUnlimitedNatural is a specification of an UnlimitedNatural number.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedVisibility" value="true"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = (true)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
      </contents>
      <contents xsi:type="ecore:EOperation" name="unlimitedValue" ordered="false"
          eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query unlimitedValue() gives the value.&#xA;result = (value)&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ValueSpecification/unlimitedValue"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural"
        defaultValueLiteral="0">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified UnlimitedNatural value.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TimeConstraint" eSuperTypes="#//IntervalConstraint">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TimeConstraint is a Constraint that refers to a TimeInterval.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="specification">
        <details key="eType" value="uml::TimeInterval"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="specification" ordered="false" lowerBound="1"
          eType="#//ValueSpecification" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="TheTimeInterval constraining the duration.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//IntervalConstraint/%duplicates%/specification #//Constraint/specification"/>
      </contents>
    </eAnnotations>
    <eOperations name="has_one_constrainedElement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A TimeConstraint has one constrainedElement.&#xA;constrainedElement->size() = 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstEvent" ordered="false"
        eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The value of firstEvent is related to the constrainedElement. If firstEvent is true, then the corresponding observation event is the first time instant the execution enters the constrainedElement. If firstEvent is false, then the corresponding observation event is the last time instant the execution is within the constrainedElement.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TimeInterval" eSuperTypes="#//Interval">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TimeInterval defines the range between two TimeExpressions.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <eAnnotations source="max">
        <details key="eType" value="uml::TimeExpression"/>
      </eAnnotations>
      <eAnnotations source="min">
        <details key="eType" value="uml::TimeExpression"/>
      </eAnnotations>
      <contents xsi:type="ecore:EReference" name="max" ordered="false" lowerBound="1"
          eType="#//ValueSpecification">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Refers to the TimeExpression denoting the maximum value of the range.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Interval/max"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="min" ordered="false" lowerBound="1"
          eType="#//ValueSpecification">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Refers to the TimeExpression denoting the minimum value of the range.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Interval/min"/>
      </contents>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TimeObservation" eSuperTypes="#//Observation">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TimeObservation is a reference to a time instant during an execution. It points out the NamedElement in the model to observe and whether the observation is when this NamedElement is entered or when it is exited.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
        lowerBound="1" eType="#//NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TimeObservation is determined by the entering or exiting of the event Element during execution.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstEvent" ordered="false"
        lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
        defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The value of firstEvent is related to the event. If firstEvent is true, then the corresponding observation event is the first time instant the execution enters the event Element. If firstEvent is false, then the corresponding observation event is the time instant the execution exits the event Element.&#xA;&lt;p>From package UML::Values.&lt;/p>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
</ecore:EPackage>
