<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.omg.org/spec/UML/20110701" xmlns:xmi_1="http://www.omg.org/XMI" xsi:schemaLocation="http://www.omg.org/spec/UML/20110701 http://www.eclipse.org/uml2/4.0.0/UML">
  <uml:Package xmi:id="_0" name="UML" URI="http://www.omg.org/spec/UML/20131001">
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importingNamespace="_0">
      <importedPackage xmi:type="uml:Package" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#_0"/>
    </packageImport>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="Actions" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.2" importedPackage="Activities" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.3" importedPackage="Classification" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.4" importedPackage="CommonBehavior" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.5" importedPackage="CommonStructure" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.6" importedPackage="Deployments" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.7" importedPackage="InformationFlows" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.8" importedPackage="Interactions" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.9" importedPackage="Packages" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.10" importedPackage="SimpleClassifiers" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.11" importedPackage="StateMachines" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.12" importedPackage="StructuredClassifiers" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.13" importedPackage="UseCases" importingNamespace="_0"/>
    <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.14" importedPackage="Values" importingNamespace="_0"/>
    <packagedElement xmi:type="uml:Package" xmi:id="Activities" name="Activities">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="Actions" importingNamespace="Activities"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="Classification" importingNamespace="Activities"/>
      <packagedElement xmi:type="uml:Class" xmi:id="Activity" name="Activity">
        <ownedComment xmi:type="uml:Comment" xmi:id="Activity-_ownedComment.0" annotatedElement="Activity">
          <body>An Activity is the specification of parameterized Behavior as the coordinated sequencing of subordinate units.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Activity-maximum_one_parameter_node" name="maximum_one_parameter_node" constrainedElement="Activity" context="Activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-maximum_one_parameter_node-_ownedComment.0" annotatedElement="Activity-maximum_one_parameter_node">
            <body>A Parameter with direction other than inout must have exactly one ActivityParameterNode in an Activity.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Activity-maximum_one_parameter_node-_specification">
            <language>OCL</language>
            <body>ownedParameter->forAll(p | &#xD;
   p.direction &lt;> ParameterDirectionKind::inout implies node->select(&#xD;
       oclIsKindOf(ActivityParameterNode) and oclAsType(ActivityParameterNode).parameter = p)->size()= 1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Activity-maximum_two_parameter_nodes" name="maximum_two_parameter_nodes" constrainedElement="Activity" context="Activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-maximum_two_parameter_nodes-_ownedComment.0" annotatedElement="Activity-maximum_two_parameter_nodes">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Activity-maximum_two_parameter_nodes-_specification">
            <language>OCL</language>
            <body>ownedParameter->forAll(p | &#xD;
p.direction = ParameterDirectionKind::inout implies&#xD;
let associatedNodes : Set(ActivityNode) = node->select(&#xD;
       oclIsKindOf(ActivityParameterNode) and oclAsType(ActivityParameterNode).parameter = p) in &#xD;
  associatedNodes->size()=2 and&#xD;
  associatedNodes->select(incoming->notEmpty())->size()&lt;=1 and&#xD;
  associatedNodes->select(outgoing->notEmpty())->size()&lt;=1&#xD;
)&#xD;
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Activity-_generalization.0" general="Behavior" specific="Activity"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Activity-edge" name="edge" type="ActivityEdge" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_edge_activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-edge-_ownedComment.0" annotatedElement="Activity-edge">
            <body>ActivityEdges expressing flow between the nodes of the Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-edge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-edge-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Activity-group" name="group" type="ActivityGroup" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_group_inActivity">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-group-_ownedComment.0" annotatedElement="Activity-group">
            <body>Top-level ActivityGroups in the Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-group-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-group-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Activity-isReadOnly" name="isReadOnly">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-isReadOnly-_ownedComment.0" annotatedElement="Activity-isReadOnly">
            <body>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.) </body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Activity-isReadOnly-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Activity-isSingleExecution" name="isSingleExecution">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-isSingleExecution-_ownedComment.0" annotatedElement="Activity-isSingleExecution">
            <body>If true, all invocations of the Activity are handled by the same execution.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Activity-isSingleExecution-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Activity-node" name="node" type="ActivityNode" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_node_activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-node-_ownedComment.0" annotatedElement="Activity-node">
            <body>ActivityNodes coordinated by the Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-node-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-node-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Activity-partition" name="partition" type="ActivityPartition" subsettedProperty="Activity-group" association="A_partition_activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-partition-_ownedComment.0" annotatedElement="Activity-partition">
            <body>Top-level ActivityPartitions in the Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-partition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-partition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Activity-structuredNode" name="structuredNode" type="StructuredActivityNode" aggregation="composite" subsettedProperty="Activity-group Activity-node" association="A_structuredNode_activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-structuredNode-_ownedComment.0" annotatedElement="Activity-structuredNode">
            <body>Top-level StructuredActivityNodes in the Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-structuredNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-structuredNode-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Activity-variable" name="variable" type="Variable" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_variable_activityScope">
          <ownedComment xmi:type="uml:Comment" xmi:id="Activity-variable-_ownedComment.0" annotatedElement="Activity-variable">
            <body>Top-level Variables defined by the Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-variable-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-variable-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ActivityEdge" name="ActivityEdge" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-_ownedComment.0" annotatedElement="ActivityEdge">
          <body>An ActivityEdge is an abstract class for directed connections between two ActivityNodes.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityEdge-source_and_target" name="source_and_target" constrainedElement="ActivityEdge" context="ActivityEdge">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-source_and_target-_ownedComment.0" annotatedElement="ActivityEdge-source_and_target">
            <body>If an ActivityEdge is directly owned by an Activity, then its source and target must be directly or indirectly contained in the same Activity.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityEdge-source_and_target-_specification">
            <language>OCL</language>
            <body>activity&lt;>null implies source.containingActivity() = activity and target.containingActivity() = activity</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ActivityEdge-_generalization.0" general="RedefinableElement" specific="ActivityEdge"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-activity" name="activity" type="Activity" subsettedProperty="Element-owner" association="A_edge_activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-activity-_ownedComment.0" annotatedElement="ActivityEdge-activity">
            <body>The Activity containing the ActivityEdge, if it is directly owned by an Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-activity-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-guard" name="guard" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_guard_activityEdge">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-guard-_ownedComment.0" annotatedElement="ActivityEdge-guard">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-guard-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-inGroup" name="inGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedEdge_inGroup">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-inGroup-_ownedComment.0" annotatedElement="ActivityEdge-inGroup">
            <body>ActivityGroups containing the ActivityEdge.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-inGroup-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityEdge-inGroup-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-inPartition" name="inPartition" type="ActivityPartition" subsettedProperty="ActivityEdge-inGroup" association="A_edge_inPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-inPartition-_ownedComment.0" annotatedElement="ActivityEdge-inPartition">
            <body>ActivityPartitions containing the ActivityEdge.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-inPartition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityEdge-inPartition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-inStructuredNode" name="inStructuredNode" type="StructuredActivityNode" subsettedProperty="ActivityEdge-inGroup Element-owner" association="A_edge_inStructuredNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-inStructuredNode-_ownedComment.0" annotatedElement="ActivityEdge-inStructuredNode">
            <body>The StructuredActivityNode containing the ActivityEdge, if it is owned by a StructuredActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-inStructuredNode-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-interrupts" name="interrupts" type="InterruptibleActivityRegion" association="A_interruptingEdge_interrupts">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-interrupts-_ownedComment.0" annotatedElement="ActivityEdge-interrupts">
            <body>The InterruptibleActivityRegion for which this ActivityEdge is an interruptingEdge.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-interrupts-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-redefinedEdge" name="redefinedEdge" type="ActivityEdge" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedEdge_activityEdge">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-redefinedEdge-_ownedComment.0" annotatedElement="ActivityEdge-redefinedEdge">
            <body>ActivityEdges from a generalization of the Activity containing this ActivityEdge that are redefined by this ActivityEdge.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-redefinedEdge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityEdge-redefinedEdge-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-source" name="source" type="ActivityNode" association="A_outgoing_source_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-source-_ownedComment.0" annotatedElement="ActivityEdge-source">
            <body>The ActivityNode from which tokens are taken when they traverse the ActivityEdge.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-target" name="target" type="ActivityNode" association="A_incoming_target_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-target-_ownedComment.0" annotatedElement="ActivityEdge-target">
            <body>The ActivityNode to which tokens are put when they traverse the ActivityEdge.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityEdge-weight" name="weight" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_weight_activityEdge">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityEdge-weight-_ownedComment.0" annotatedElement="ActivityEdge-weight">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-weight-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ActivityEdge-isConsistentWith" name="isConsistentWith" bodyCondition="ActivityEdge-isConsistentWith-spec" class="ActivityEdge" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityEdge-isConsistentWith-spec" name="spec" constrainedElement="ActivityEdge-isConsistentWith" context="ActivityEdge-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityEdge-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (redefiningElement.oclIsKindOf(ActivityEdge))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ActivityEdge-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ActivityEdge-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ActivityFinalNode" name="ActivityFinalNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="ActivityFinalNode-_ownedComment.0" annotatedElement="ActivityFinalNode">
          <body>An ActivityFinalNode is a FinalNode that terminates the execution of its owning Activity or StructuredActivityNode.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ActivityFinalNode-_generalization.0" general="FinalNode" specific="ActivityFinalNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ActivityGroup" name="ActivityGroup" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-_ownedComment.0" annotatedElement="ActivityGroup">
          <body>ActivityGroup is an abstract class for defining sets of ActivityNodes and ActivityEdges in an Activity.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityGroup-nodes_and_edges" name="nodes_and_edges" constrainedElement="ActivityGroup" context="ActivityGroup">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-nodes_and_edges-_ownedComment.0" annotatedElement="ActivityGroup-nodes_and_edges">
            <body>All containedNodes and containeEdges of an ActivityGroup must be in the same Activity as the group.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityGroup-nodes_and_edges-_specification">
            <language>OCL</language>
            <body>containedNode->forAll(activity = self.containingActivity()) and &#xD;
containedEdge->forAll(activity = self.containingActivity())</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityGroup-not_contained" name="not_contained" constrainedElement="ActivityGroup" context="ActivityGroup">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-not_contained-_ownedComment.0" annotatedElement="ActivityGroup-not_contained">
            <body>No containedNode or containedEdge of an ActivityGroup may be contained by its subgroups or its superGroups, transitively.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityGroup-not_contained-_specification">
            <language>OCL</language>
            <body>subgroup->closure(subgroup).containedNode->excludesAll(containedNode) and&#xD;
superGroup->closure(superGroup).containedNode->excludesAll(containedNode) and &#xD;
subgroup->closure(subgroup).containedEdge->excludesAll(containedEdge) and &#xD;
superGroup->closure(superGroup).containedEdge->excludesAll(containedEdge)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ActivityGroup-_generalization.0" general="NamedElement" specific="ActivityGroup"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityGroup-containedEdge" name="containedEdge" type="ActivityEdge" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedEdge_inGroup">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-containedEdge-_ownedComment.0" annotatedElement="ActivityGroup-containedEdge">
            <body>ActivityEdges immediately contained in the ActivityGroup.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-containedEdge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityGroup-containedEdge-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityGroup-containedNode" name="containedNode" type="ActivityNode" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedNode_inGroup">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-containedNode-_ownedComment.0" annotatedElement="ActivityGroup-containedNode">
            <body>ActivityNodes immediately contained in the ActivityGroup.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-containedNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityGroup-containedNode-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityGroup-inActivity" name="inActivity" type="Activity" subsettedProperty="Element-owner" association="A_group_inActivity">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-inActivity-_ownedComment.0" annotatedElement="ActivityGroup-inActivity">
            <body>The Activity containing the ActivityGroup, if it is directly owned by an Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-inActivity-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityGroup-subgroup" name="subgroup" type="ActivityGroup" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement" association="A_subgroup_superGroup">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-subgroup-_ownedComment.0" annotatedElement="ActivityGroup-subgroup">
            <body>Other ActivityGroups immediately contained in this ActivityGroup.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-subgroup-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityGroup-subgroup-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityGroup-superGroup" name="superGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-owner" association="A_subgroup_superGroup">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-superGroup-_ownedComment.0" annotatedElement="ActivityGroup-superGroup">
            <body>The ActivityGroup immediately containing this ActivityGroup, if it is directly owned by another ActivityGroup.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-superGroup-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ActivityGroup-containingActivity" name="containingActivity" bodyCondition="ActivityGroup-containingActivity-spec" class="ActivityGroup" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityGroup-containingActivity-_ownedComment.0" annotatedElement="ActivityGroup-containingActivity">
            <body>The Activity that directly or indirectly contains this ActivityGroup.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityGroup-containingActivity-spec" name="spec" constrainedElement="ActivityGroup-containingActivity" context="ActivityGroup-containingActivity">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityGroup-containingActivity-spec-_specification">
              <language>OCL</language>
              <body>result = (if superGroup&lt;>null then superGroup.containingActivity()&#xD;
else inActivity&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ActivityGroup-containingActivity-result" name="result" type="Activity" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-containingActivity-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ActivityNode" name="ActivityNode" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-_ownedComment.0" annotatedElement="ActivityNode">
          <body>ActivityNode is an abstract class for points in the flow of an Activity connected by ActivityEdges.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ActivityNode-_generalization.0" general="RedefinableElement" specific="ActivityNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityNode-activity" name="activity" type="Activity" subsettedProperty="Element-owner" association="A_node_activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-activity-_ownedComment.0" annotatedElement="ActivityNode-activity">
            <body>The Activity containing the ActivityNode, if it is directly owned by an Activity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-activity-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityNode-inGroup" name="inGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedNode_inGroup">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-inGroup-_ownedComment.0" annotatedElement="ActivityNode-inGroup">
            <body>ActivityGroups containing the ActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-inGroup-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-inGroup-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityNode-inInterruptibleRegion" name="inInterruptibleRegion" type="InterruptibleActivityRegion" subsettedProperty="ActivityNode-inGroup" association="A_inInterruptibleRegion_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-inInterruptibleRegion-_ownedComment.0" annotatedElement="ActivityNode-inInterruptibleRegion">
            <body>InterruptibleActivityRegions containing the ActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-inInterruptibleRegion-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-inInterruptibleRegion-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityNode-inPartition" name="inPartition" type="ActivityPartition" subsettedProperty="ActivityNode-inGroup" association="A_inPartition_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-inPartition-_ownedComment.0" annotatedElement="ActivityNode-inPartition">
            <body>ActivityPartitions containing the ActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-inPartition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-inPartition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityNode-inStructuredNode" name="inStructuredNode" type="StructuredActivityNode" subsettedProperty="ActivityNode-inGroup Element-owner" association="A_node_inStructuredNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-inStructuredNode-_ownedComment.0" annotatedElement="ActivityNode-inStructuredNode">
            <body>The StructuredActivityNode containing the ActvityNode, if it is directly owned by a StructuredActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-inStructuredNode-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityNode-incoming" name="incoming" type="ActivityEdge" association="A_incoming_target_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-incoming-_ownedComment.0" annotatedElement="ActivityNode-incoming">
            <body>ActivityEdges that have the ActivityNode as their target.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-incoming-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-incoming-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityNode-outgoing" name="outgoing" type="ActivityEdge" association="A_outgoing_source_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-outgoing-_ownedComment.0" annotatedElement="ActivityNode-outgoing">
            <body>ActivityEdges that have the ActivityNode as their source.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-outgoing-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-outgoing-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityNode-redefinedNode" name="redefinedNode" type="ActivityNode" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedNode_activityNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-redefinedNode-_ownedComment.0" annotatedElement="ActivityNode-redefinedNode">
            <body>ActivityNodes from a generalization of the Activity containining this ActivityNode that are redefined by this ActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-redefinedNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-redefinedNode-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ActivityNode-containingActivity" name="containingActivity" bodyCondition="ActivityNode-containingActivity-spec" class="ActivityNode" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityNode-containingActivity-_ownedComment.0" annotatedElement="ActivityNode-containingActivity">
            <body>The Activity that directly or indirectly contains this ActivityNode.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityNode-containingActivity-spec" name="spec" constrainedElement="ActivityNode-containingActivity" context="ActivityNode-containingActivity">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityNode-containingActivity-spec-_specification">
              <language>OCL</language>
              <body>result = (if inStructuredNode&lt;>null then inStructuredNode.containingActivity()&#xD;
else activity&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ActivityNode-containingActivity-result" name="result" type="Activity" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-containingActivity-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ActivityNode-isConsistentWith" name="isConsistentWith" bodyCondition="ActivityNode-isConsistentWith-spec" class="ActivityNode" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityNode-isConsistentWith-spec" name="spec" constrainedElement="ActivityNode-isConsistentWith" context="ActivityNode-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityNode-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (redefiningElement.oclIsKindOf(ActivityNode))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ActivityNode-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ActivityNode-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ActivityParameterNode" name="ActivityParameterNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="ActivityParameterNode-_ownedComment.0" annotatedElement="ActivityParameterNode">
          <body>An ActivityParameterNode is an ObjectNode for accepting values from the input Parameters or providing values to the output Parameters of an Activity.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityParameterNode-no_outgoing_edges" name="no_outgoing_edges" constrainedElement="ActivityParameterNode" context="ActivityParameterNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityParameterNode-no_outgoing_edges-_ownedComment.0" annotatedElement="ActivityParameterNode-no_outgoing_edges">
            <body>An ActivityParameterNode with no outgoing ActivityEdges and one or more incoming ActivityEdges must have a parameter with direction out, inout, or return.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-no_outgoing_edges-_specification">
            <language>OCL</language>
            <body>(incoming->notEmpty() and outgoing->isEmpty()) implies &#xD;
	(parameter.direction = ParameterDirectionKind::out or &#xD;
	 parameter.direction = ParameterDirectionKind::inout or &#xD;
	 parameter.direction = ParameterDirectionKind::return)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityParameterNode-has_parameters" name="has_parameters" constrainedElement="ActivityParameterNode" context="ActivityParameterNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityParameterNode-has_parameters-_ownedComment.0" annotatedElement="ActivityParameterNode-has_parameters">
            <body>The parameter of an ActivityParameterNode must be from the containing Activity.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-has_parameters-_specification">
            <language>OCL</language>
            <body>activity.ownedParameter->includes(parameter)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityParameterNode-same_type" name="same_type" constrainedElement="ActivityParameterNode" context="ActivityParameterNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityParameterNode-same_type-_ownedComment.0" annotatedElement="ActivityParameterNode-same_type">
            <body>The type of an ActivityParameterNode is the same as the type of its parameter.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-same_type-_specification">
            <language>OCL</language>
            <body>type = parameter.type</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityParameterNode-no_incoming_edges" name="no_incoming_edges" constrainedElement="ActivityParameterNode" context="ActivityParameterNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityParameterNode-no_incoming_edges-_ownedComment.0" annotatedElement="ActivityParameterNode-no_incoming_edges">
            <body>An ActivityParameterNode with no incoming ActivityEdges and one or more outgoing ActivityEdges must have a parameter with direction in or inout.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-no_incoming_edges-_specification">
            <language>OCL</language>
            <body>(outgoing->notEmpty() and incoming->isEmpty()) implies &#xD;
	(parameter.direction = ParameterDirectionKind::_'in' or &#xD;
	 parameter.direction = ParameterDirectionKind::inout)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityParameterNode-no_edges" name="no_edges" constrainedElement="ActivityParameterNode" context="ActivityParameterNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityParameterNode-no_edges-_ownedComment.0" annotatedElement="ActivityParameterNode-no_edges">
            <body>An ActivityParameterNode may have all incoming ActivityEdges or all outgoing ActivityEdges, but it must not have both incoming and outgoing ActivityEdges.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-no_edges-_specification">
            <language>OCL</language>
            <body>incoming->isEmpty() or outgoing->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ActivityParameterNode-_generalization.0" general="ObjectNode" specific="ActivityParameterNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityParameterNode-parameter" name="parameter" type="Parameter" association="A_parameter_activityParameterNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityParameterNode-parameter-_ownedComment.0" annotatedElement="ActivityParameterNode-parameter">
            <body>The Parameter for which the ActivityParameterNode will be accepting or providing values.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ActivityPartition" name="ActivityPartition">
        <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-_ownedComment.0" annotatedElement="ActivityPartition">
          <body>An ActivityPartition is a kind of ActivityGroup for identifying ActivityNodes that have some characteristic in common.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityPartition-represents_classifier" name="represents_classifier" constrainedElement="ActivityPartition" context="ActivityPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-represents_classifier-_ownedComment.0" annotatedElement="ActivityPartition-represents_classifier">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityPartition-represents_classifier-_specification">
            <language>OCL</language>
            <body>(not isExternal and represents.oclIsKindOf(Classifier) and superPartition->notEmpty()) implies&#xD;
(&#xD;
   let representedClassifier : Classifier = represents.oclAsType(Classifier) in&#xD;
     superPartition.represents.oclIsKindOf(Classifier) and&#xD;
      let representedSuperClassifier : Classifier = superPartition.represents.oclAsType(Classifier) in&#xD;
       (representedSuperClassifier.oclIsKindOf(BehavioredClassifier) and representedClassifier.oclIsKindOf(Behavior) and &#xD;
        representedSuperClassifier.oclAsType(BehavioredClassifier).ownedBehavior->includes(representedClassifier.oclAsType(Behavior))) &#xD;
       or&#xD;
       (representedSuperClassifier.oclIsKindOf(Class) and  representedSuperClassifier.oclAsType(Class).nestedClassifier->includes(representedClassifier))&#xD;
       or&#xD;
       (Association.allInstances()->exists(a | a.memberEnd->exists(end1 | end1.isComposite and end1.type = representedClassifier and &#xD;
                                                                      a.memberEnd->exists(end2 | end1&lt;>end2 and end2.type = representedSuperClassifier))))&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityPartition-represents_property_and_is_contained" name="represents_property_and_is_contained" constrainedElement="ActivityPartition" context="ActivityPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-represents_property_and_is_contained-_ownedComment.0" annotatedElement="ActivityPartition-represents_property_and_is_contained">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityPartition-represents_property_and_is_contained-_specification">
            <language>OCL</language>
            <body>(represents.oclIsKindOf(Property) and superPartition->notEmpty()) implies&#xD;
(&#xD;
  (superPartition.represents.oclIsKindOf(Classifier) and represents.owner = superPartition.represents) or &#xD;
  (superPartition.represents.oclIsKindOf(Property) and represents.owner = superPartition.represents.oclAsType(Property).type)&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityPartition-represents_property" name="represents_property" constrainedElement="ActivityPartition" context="ActivityPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-represents_property-_ownedComment.0" annotatedElement="ActivityPartition-represents_property">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityPartition-represents_property-_specification">
            <language>OCL</language>
            <body>(represents.oclIsKindOf(Property) and superPartition->notEmpty() and superPartition.represents.oclIsKindOf(Classifier)) implies&#xD;
(&#xD;
  let representedClassifier : Classifier = superPartition.represents.oclAsType(Classifier)&#xD;
  in&#xD;
    superPartition.subpartition->reject(isExternal)->forAll(p | &#xD;
       p.represents.oclIsKindOf(Property) and p.owner=representedClassifier)&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActivityPartition-dimension_not_contained" name="dimension_not_contained" constrainedElement="ActivityPartition" context="ActivityPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-dimension_not_contained-_ownedComment.0" annotatedElement="ActivityPartition-dimension_not_contained">
            <body>An ActvivityPartition with isDimension = true may not be contained by another ActivityPartition.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityPartition-dimension_not_contained-_specification">
            <language>OCL</language>
            <body>isDimension implies superPartition->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ActivityPartition-_generalization.0" general="ActivityGroup" specific="ActivityPartition"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityPartition-edge" name="edge" type="ActivityEdge" subsettedProperty="ActivityGroup-containedEdge" association="A_edge_inPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-edge-_ownedComment.0" annotatedElement="ActivityPartition-edge">
            <body>ActivityEdges immediately contained in the ActivityPartition.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-edge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityPartition-edge-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityPartition-isDimension" name="isDimension">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-isDimension-_ownedComment.0" annotatedElement="ActivityPartition-isDimension">
            <body>Indicates whether the ActivityPartition groups other ActivityPartitions along a dimension.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ActivityPartition-isDimension-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityPartition-isExternal" name="isExternal">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-isExternal-_ownedComment.0" annotatedElement="ActivityPartition-isExternal">
            <body>Indicates whether the ActivityPartition represents an entity to which the partitioning structure does not apply.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ActivityPartition-isExternal-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityPartition-node" name="node" type="ActivityNode" subsettedProperty="ActivityGroup-containedNode" association="A_inPartition_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-node-_ownedComment.0" annotatedElement="ActivityPartition-node">
            <body>ActivityNodes immediately contained in the ActivityPartition.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-node-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityPartition-node-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityPartition-represents" name="represents" type="Element" association="A_represents_activityPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-represents-_ownedComment.0" annotatedElement="ActivityPartition-represents">
            <body>An Element represented by the functionality modeled within the ActivityPartition.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-represents-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityPartition-subpartition" name="subpartition" type="ActivityPartition" aggregation="composite" subsettedProperty="ActivityGroup-subgroup" association="A_subpartition_superPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-subpartition-_ownedComment.0" annotatedElement="ActivityPartition-subpartition">
            <body>Other ActivityPartitions immediately contained in this ActivityPartition (as its subgroups).</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-subpartition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityPartition-subpartition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActivityPartition-superPartition" name="superPartition" type="ActivityPartition" subsettedProperty="ActivityGroup-superGroup" association="A_subpartition_superPartition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActivityPartition-superPartition-_ownedComment.0" annotatedElement="ActivityPartition-superPartition">
            <body>Other ActivityPartitions immediately containing this ActivityPartition (as its superGroups).</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-superPartition-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CentralBufferNode" name="CentralBufferNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="CentralBufferNode-_ownedComment.0" annotatedElement="CentralBufferNode">
          <body>A CentralBufferNode is an ObjectNode for managing flows from multiple sources and targets.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="CentralBufferNode-_generalization.0" general="ObjectNode" specific="CentralBufferNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ControlFlow" name="ControlFlow">
        <ownedComment xmi:type="uml:Comment" xmi:id="ControlFlow-_ownedComment.0" annotatedElement="ControlFlow">
          <body>A ControlFlow is an ActivityEdge traversed by control tokens or object tokens of control type, which are use to control the execution of ExecutableNodes.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ControlFlow-object_nodes" name="object_nodes" constrainedElement="ControlFlow" context="ControlFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ControlFlow-object_nodes-_ownedComment.0" annotatedElement="ControlFlow-object_nodes">
            <body>ControlFlows may not have ObjectNodes at either end, except for ObjectNodes with control type.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ControlFlow-object_nodes-_specification">
            <language>OCL</language>
            <body>(source.oclIsKindOf(ObjectNode) implies source.oclAsType(ObjectNode).isControlType) and &#xD;
(target.oclIsKindOf(ObjectNode) implies target.oclAsType(ObjectNode).isControlType)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ControlFlow-_generalization.0" general="ActivityEdge" specific="ControlFlow"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ControlNode" name="ControlNode" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ControlNode-_ownedComment.0" annotatedElement="ControlNode">
          <body>A ControlNode is an abstract ActivityNode that coordinates flows in an Activity.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ControlNode-_generalization.0" general="ActivityNode" specific="ControlNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DataStoreNode" name="DataStoreNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="DataStoreNode-_ownedComment.0" annotatedElement="DataStoreNode">
          <body>A DataStoreNode is a CentralBufferNode for persistent data.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="DataStoreNode-_generalization.0" general="CentralBufferNode" specific="DataStoreNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DecisionNode" name="DecisionNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-_ownedComment.0" annotatedElement="DecisionNode">
          <body>A DecisionNode is a ControlNode that chooses between outgoing ActivityEdges for the routing of tokens.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DecisionNode-zero_input_parameters" name="zero_input_parameters" constrainedElement="DecisionNode" context="DecisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-zero_input_parameters-_ownedComment.0" annotatedElement="DecisionNode-zero_input_parameters">
            <body>If the DecisionNode has no decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has no in parameters.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-zero_input_parameters-_specification">
            <language>OCL</language>
            <body>(decisionInput&lt;>null and decisionInputFlow=null and incoming->exists(oclIsKindOf(ControlFlow))) implies&#xD;
   decisionInput.inputParameters()->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DecisionNode-edges" name="edges" constrainedElement="DecisionNode" context="DecisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-edges-_ownedComment.0" annotatedElement="DecisionNode-edges">
            <body>The ActivityEdges incoming to and outgoing from a DecisionNode, other than the decisionInputFlow (if any), must be either all ObjectFlows or all ControlFlows.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-edges-_specification">
            <language>OCL</language>
            <body>let allEdges: Set(ActivityEdge) = incoming->union(outgoing) in&#xD;
let allRelevantEdges: Set(ActivityEdge) = if decisionInputFlow->notEmpty() then allEdges->excluding(decisionInputFlow) else allEdges endif in&#xD;
allRelevantEdges->forAll(oclIsKindOf(ControlFlow)) or allRelevantEdges->forAll(oclIsKindOf(ObjectFlow))&#xD;
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DecisionNode-decision_input_flow_incoming" name="decision_input_flow_incoming" constrainedElement="DecisionNode" context="DecisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-decision_input_flow_incoming-_ownedComment.0" annotatedElement="DecisionNode-decision_input_flow_incoming">
            <body>The decisionInputFlow of a DecisionNode must be an incoming ActivityEdge of the DecisionNode.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-decision_input_flow_incoming-_specification">
            <language>OCL</language>
            <body>incoming->includes(decisionInputFlow)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DecisionNode-two_input_parameters" name="two_input_parameters" constrainedElement="DecisionNode" context="DecisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-two_input_parameters-_ownedComment.0" annotatedElement="DecisionNode-two_input_parameters">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-two_input_parameters-_specification">
            <language>OCL</language>
            <body>(decisionInput&lt;>null and decisionInputFlow&lt;>null and incoming->forAll(oclIsKindOf(ObjectFlow))) implies&#xD;
	decisionInput.inputParameters()->size()=2</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DecisionNode-incoming_outgoing_edges" name="incoming_outgoing_edges" constrainedElement="DecisionNode" context="DecisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-incoming_outgoing_edges-_ownedComment.0" annotatedElement="DecisionNode-incoming_outgoing_edges">
            <body>A DecisionNode has one or two incoming ActivityEdges and at least one outgoing ActivityEdge.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-incoming_outgoing_edges-_specification">
            <language>OCL</language>
            <body>(incoming->size() = 1 or incoming->size() = 2) and outgoing->size() > 0</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DecisionNode-incoming_control_one_input_parameter" name="incoming_control_one_input_parameter" constrainedElement="DecisionNode" context="DecisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-incoming_control_one_input_parameter-_ownedComment.0" annotatedElement="DecisionNode-incoming_control_one_input_parameter">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-incoming_control_one_input_parameter-_specification">
            <language>OCL</language>
            <body>(decisionInput&lt;>null and decisionInputFlow&lt;>null and incoming->exists(oclIsKindOf(ControlFlow))) implies&#xD;
	decisionInput.inputParameters()->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DecisionNode-parameters" name="parameters" constrainedElement="DecisionNode" context="DecisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-parameters-_ownedComment.0" annotatedElement="DecisionNode-parameters">
            <body>A decisionInput Behavior has no out parameters, no inout parameters, and one return parameter.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-parameters-_specification">
            <language>OCL</language>
            <body>decisionInput&lt;>null implies &#xD;
  (decisionInput.ownedParameter->forAll(par | &#xD;
     par.direction &lt;> ParameterDirectionKind::out and &#xD;
     par.direction &lt;> ParameterDirectionKind::inout ) and&#xD;
   decisionInput.ownedParameter->one(par | &#xD;
     par.direction &lt;> ParameterDirectionKind::return))&#xD;
     </body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DecisionNode-incoming_object_one_input_parameter" name="incoming_object_one_input_parameter" constrainedElement="DecisionNode" context="DecisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-incoming_object_one_input_parameter-_ownedComment.0" annotatedElement="DecisionNode-incoming_object_one_input_parameter">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-incoming_object_one_input_parameter-_specification">
            <language>OCL</language>
            <body>(decisionInput&lt;>null and decisionInputFlow=null and incoming->forAll(oclIsKindOf(ObjectFlow))) implies&#xD;
	decisionInput.inputParameters()->size()=1</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="DecisionNode-_generalization.0" general="ControlNode" specific="DecisionNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DecisionNode-decisionInput" name="decisionInput" type="Behavior" association="A_decisionInput_decisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-decisionInput-_ownedComment.0" annotatedElement="DecisionNode-decisionInput">
            <body>A Behavior that is executed to provide an input to guard ValueSpecifications on ActivityEdges outgoing from the DecisionNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DecisionNode-decisionInput-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DecisionNode-decisionInputFlow" name="decisionInputFlow" type="ObjectFlow" association="A_decisionInputFlow_decisionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="DecisionNode-decisionInputFlow-_ownedComment.0" annotatedElement="DecisionNode-decisionInputFlow">
            <body>An additional ActivityEdge incoming to the DecisionNode that provides a decision input value for the guards ValueSpecifications on ActivityEdges outgoing from the DecisionNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DecisionNode-decisionInputFlow-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExceptionHandler" name="ExceptionHandler">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-_ownedComment.0" annotatedElement="ExceptionHandler">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExceptionHandler-handler_body_edges" name="handler_body_edges" constrainedElement="ExceptionHandler" context="ExceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-handler_body_edges-_ownedComment.0" annotatedElement="ExceptionHandler-handler_body_edges">
            <body>The handlerBody has no incoming or outgoing ActivityEdges and the exceptionInput has no incoming ActivityEdges.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-handler_body_edges-_specification">
            <language>OCL</language>
            <body>handlerBody.incoming->isEmpty() and handlerBody.outgoing->isEmpty() and exceptionInput.incoming->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExceptionHandler-output_pins" name="output_pins" constrainedElement="ExceptionHandler" context="ExceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-output_pins-_ownedComment.0" annotatedElement="ExceptionHandler-output_pins">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-output_pins-_specification">
            <language>OCL</language>
            <body>(protectedNode.oclIsKindOf(Action) and protectedNode.oclAsType(Action).output->notEmpty()) implies&#xD;
(&#xD;
  handlerBody.oclIsKindOf(Action) and &#xD;
  let protectedNodeOutput : OrderedSet(OutputPin) = protectedNode.oclAsType(Action).output,&#xD;
        handlerBodyOutput : OrderedSet(OutputPin) =  handlerBody.oclAsType(Action).output in&#xD;
    protectedNodeOutput->size() = handlerBodyOutput->size() and&#xD;
    Sequence{1..protectedNodeOutput->size()}->forAll(i |&#xD;
    	handlerBodyOutput->at(i).type.conformsTo(protectedNodeOutput->at(i).type) and&#xD;
    	handlerBodyOutput->at(i).isOrdered=protectedNodeOutput->at(i).isOrdered and&#xD;
    	handlerBodyOutput->at(i).compatibleWith(protectedNodeOutput->at(i)))&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExceptionHandler-one_input" name="one_input" constrainedElement="ExceptionHandler" context="ExceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-one_input-_ownedComment.0" annotatedElement="ExceptionHandler-one_input">
            <body>The handlerBody is an Action with one InputPin, and that InputPin is the same as the exceptionInput.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-one_input-_specification">
            <language>OCL</language>
            <body>handlerBody.oclIsKindOf(Action) and&#xD;
let inputs: OrderedSet(InputPin) = handlerBody.oclAsType(Action).input in&#xD;
inputs->size()=1 and inputs->first()=exceptionInput</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExceptionHandler-edge_source_target" name="edge_source_target" constrainedElement="ExceptionHandler" context="ExceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-edge_source_target-_ownedComment.0" annotatedElement="ExceptionHandler-edge_source_target">
            <body>An ActivityEdge that has a source within the handlerBody of an ExceptionHandler must have its target in the handlerBody also, and vice versa.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-edge_source_target-_specification">
            <language>OCL</language>
            <body>let nodes:Set(ActivityNode) = handlerBody.oclAsType(Action).allOwnedNodes() in&#xD;
nodes.outgoing->forAll(nodes->includes(target)) and&#xD;
nodes.incoming->forAll(nodes->includes(source))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExceptionHandler-handler_body_owner" name="handler_body_owner" constrainedElement="ExceptionHandler" context="ExceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-handler_body_owner-_ownedComment.0" annotatedElement="ExceptionHandler-handler_body_owner">
            <body>The handlerBody must have the same owner as the protectedNode.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-handler_body_owner-_specification">
            <language>OCL</language>
            <body>handlerBody.owner=protectedNode.owner</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExceptionHandler-exception_input_type" name="exception_input_type" constrainedElement="ExceptionHandler" context="ExceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-exception_input_type-_ownedComment.0" annotatedElement="ExceptionHandler-exception_input_type">
            <body>The exceptionInput must either have no type or every exceptionType must conform to the exceptionInput type.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-exception_input_type-_specification">
            <language>OCL</language>
            <body>exceptionInput.type=null or &#xD;
exceptionType->forAll(conformsTo(exceptionInput.type.oclAsType(Classifier)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ExceptionHandler-_generalization.0" general="Element" specific="ExceptionHandler"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExceptionHandler-exceptionInput" name="exceptionInput" type="ObjectNode" association="A_exceptionInput_exceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-exceptionInput-_ownedComment.0" annotatedElement="ExceptionHandler-exceptionInput">
            <body>An ObjectNode within the handlerBody. When the ExceptionHandler catches an exception, the exception token is placed on this ObjectNode, causing the handlerBody to execute.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExceptionHandler-exceptionType" name="exceptionType" type="Classifier" association="A_exceptionType_exceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-exceptionType-_ownedComment.0" annotatedElement="ExceptionHandler-exceptionType">
            <body>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.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ExceptionHandler-exceptionType-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExceptionHandler-handlerBody" name="handlerBody" type="ExecutableNode" association="A_handlerBody_exceptionHandler">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-handlerBody-_ownedComment.0" annotatedElement="ExceptionHandler-handlerBody">
            <body>An ExecutableNode that is executed if the ExceptionHandler catches an exception.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExceptionHandler-protectedNode" name="protectedNode" type="ExecutableNode" subsettedProperty="Element-owner" association="A_handler_protectedNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExceptionHandler-protectedNode-_ownedComment.0" annotatedElement="ExceptionHandler-protectedNode">
            <body>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.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExecutableNode" name="ExecutableNode" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExecutableNode-_ownedComment.0" annotatedElement="ExecutableNode">
          <body>An ExecutableNode is an abstract class for ActivityNodes whose execution may be controlled using ControlFlows and to which ExceptionHandlers may be attached.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ExecutableNode-_generalization.0" general="ActivityNode" specific="ExecutableNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExecutableNode-handler" name="handler" type="ExceptionHandler" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_handler_protectedNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExecutableNode-handler-_ownedComment.0" annotatedElement="ExecutableNode-handler">
            <body>A set of ExceptionHandlers that are examined if an exception propagates out of the ExceptionNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExecutableNode-handler-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ExecutableNode-handler-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="FinalNode" name="FinalNode" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="FinalNode-_ownedComment.0" annotatedElement="FinalNode">
          <body>A FinalNode is an abstract ControlNode at which a flow in an Activity stops.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FinalNode-no_outgoing_edges" name="no_outgoing_edges" constrainedElement="FinalNode" context="FinalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="FinalNode-no_outgoing_edges-_ownedComment.0" annotatedElement="FinalNode-no_outgoing_edges">
            <body>A FinalNode has no outgoing ActivityEdges.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalNode-no_outgoing_edges-_specification">
            <language>OCL</language>
            <body>outgoing->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="FinalNode-_generalization.0" general="ControlNode" specific="FinalNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="FlowFinalNode" name="FlowFinalNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="FlowFinalNode-_ownedComment.0" annotatedElement="FlowFinalNode">
          <body>A FlowFinalNode is a FinalNode that terminates a flow by consuming the tokens offered to it.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="FlowFinalNode-_generalization.0" general="FinalNode" specific="FlowFinalNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ForkNode" name="ForkNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="ForkNode-_ownedComment.0" annotatedElement="ForkNode">
          <body>A ForkNode is a ControlNode that splits a flow into multiple concurrent flows.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ForkNode-edges" name="edges" constrainedElement="ForkNode" context="ForkNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ForkNode-edges-_ownedComment.0" annotatedElement="ForkNode-edges">
            <body>The ActivityEdges incoming to and outgoing from a ForkNode must be either all ObjectFlows or all ControlFlows.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ForkNode-edges-_specification">
            <language>OCL</language>
            <body>let allEdges : Set(ActivityEdge) = incoming->union(outgoing) in&#xD;
allEdges->forAll(oclIsKindOf(ControlFlow)) or allEdges->forAll(oclIsKindOf(ObjectFlow))&#xD;
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ForkNode-one_incoming_edge" name="one_incoming_edge" constrainedElement="ForkNode" context="ForkNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ForkNode-one_incoming_edge-_ownedComment.0" annotatedElement="ForkNode-one_incoming_edge">
            <body>A ForkNode has one incoming ActivityEdge.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ForkNode-one_incoming_edge-_specification">
            <language>OCL</language>
            <body>incoming->size()=1</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ForkNode-_generalization.0" general="ControlNode" specific="ForkNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InitialNode" name="InitialNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="InitialNode-_ownedComment.0" annotatedElement="InitialNode">
          <body>An InitialNode is a ControlNode that offers a single control token when initially enabled.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InitialNode-no_incoming_edges" name="no_incoming_edges" constrainedElement="InitialNode" context="InitialNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="InitialNode-no_incoming_edges-_ownedComment.0" annotatedElement="InitialNode-no_incoming_edges">
            <body>An InitialNode has no incoming ActivityEdges.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InitialNode-no_incoming_edges-_specification">
            <language>OCL</language>
            <body>incoming->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InitialNode-control_edges" name="control_edges" constrainedElement="InitialNode" context="InitialNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="InitialNode-control_edges-_ownedComment.0" annotatedElement="InitialNode-control_edges">
            <body>All the outgoing ActivityEdges from an InitialNode must be ControlFlows.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InitialNode-control_edges-_specification">
            <language>OCL</language>
            <body>outgoing->forAll(oclIsKindOf(ControlFlow))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InitialNode-_generalization.0" general="ControlNode" specific="InitialNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InterruptibleActivityRegion" name="InterruptibleActivityRegion">
        <ownedComment xmi:type="uml:Comment" xmi:id="InterruptibleActivityRegion-_ownedComment.0" annotatedElement="InterruptibleActivityRegion">
          <body>An InterruptibleActivityRegion is an ActivityGroup that supports the termination of tokens flowing in the portions of an activity within it.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InterruptibleActivityRegion-interrupting_edges" name="interrupting_edges" constrainedElement="InterruptibleActivityRegion" context="InterruptibleActivityRegion">
          <ownedComment xmi:type="uml:Comment" xmi:id="InterruptibleActivityRegion-interrupting_edges-_ownedComment.0" annotatedElement="InterruptibleActivityRegion-interrupting_edges">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InterruptibleActivityRegion-interrupting_edges-_specification">
            <language>OCL</language>
            <body>interruptingEdge->forAll(edge | &#xD;
  node->includes(edge.source) and node->excludes(edge.target) and edge.target.containingActivity() = inActivity)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InterruptibleActivityRegion-_generalization.0" general="ActivityGroup" specific="InterruptibleActivityRegion"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InterruptibleActivityRegion-interruptingEdge" name="interruptingEdge" type="ActivityEdge" association="A_interruptingEdge_interrupts">
          <ownedComment xmi:type="uml:Comment" xmi:id="InterruptibleActivityRegion-interruptingEdge-_ownedComment.0" annotatedElement="InterruptibleActivityRegion-interruptingEdge">
            <body>The ActivityEdges leaving the InterruptibleActivityRegion on which a traversing token will result in the termination of other tokens flowing in the InterruptibleActivityRegion.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InterruptibleActivityRegion-interruptingEdge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InterruptibleActivityRegion-interruptingEdge-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InterruptibleActivityRegion-node" name="node" type="ActivityNode" subsettedProperty="ActivityGroup-containedNode" association="A_inInterruptibleRegion_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="InterruptibleActivityRegion-node-_ownedComment.0" annotatedElement="InterruptibleActivityRegion-node">
            <body>ActivityNodes immediately contained in the InterruptibleActivityRegion.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InterruptibleActivityRegion-node-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InterruptibleActivityRegion-node-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="JoinNode" name="JoinNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="JoinNode-_ownedComment.0" annotatedElement="JoinNode">
          <body>A JoinNode is a ControlNode that synchronizes multiple flows.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="JoinNode-one_outgoing_edge" name="one_outgoing_edge" constrainedElement="JoinNode" context="JoinNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="JoinNode-one_outgoing_edge-_ownedComment.0" annotatedElement="JoinNode-one_outgoing_edge">
            <body>A JoinNode has one outgoing ActivityEdge.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="JoinNode-one_outgoing_edge-_specification">
            <language>OCL</language>
            <body>outgoing->size() = 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="JoinNode-incoming_object_flow" name="incoming_object_flow" constrainedElement="JoinNode" context="JoinNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="JoinNode-incoming_object_flow-_ownedComment.0" annotatedElement="JoinNode-incoming_object_flow">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="JoinNode-incoming_object_flow-_specification">
            <language>OCL</language>
            <body>if incoming->exists(oclIsKindOf(ObjectFlow)) then outgoing->forAll(oclIsKindOf(ObjectFlow))&#xD;
else outgoing->forAll(oclIsKindOf(ControlFlow))&#xD;
endif</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="JoinNode-_generalization.0" general="ControlNode" specific="JoinNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="JoinNode-isCombineDuplicate" name="isCombineDuplicate">
          <ownedComment xmi:type="uml:Comment" xmi:id="JoinNode-isCombineDuplicate-_ownedComment.0" annotatedElement="JoinNode-isCombineDuplicate">
            <body>Indicates whether incoming tokens having objects with the same identity are combined into one by the JoinNode.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="JoinNode-isCombineDuplicate-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="JoinNode-joinSpec" name="joinSpec" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_joinSpec_joinNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="JoinNode-joinSpec-_ownedComment.0" annotatedElement="JoinNode-joinSpec">
            <body>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).</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="JoinNode-joinSpec-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="MergeNode" name="MergeNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="MergeNode-_ownedComment.0" annotatedElement="MergeNode">
          <body>A merge node is a control node that brings together multiple alternate flows. It is not used to synchronize concurrent flows but to accept one among several alternate flows.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="MergeNode-one_outgoing_edge" name="one_outgoing_edge" constrainedElement="MergeNode" context="MergeNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="MergeNode-one_outgoing_edge-_ownedComment.0" annotatedElement="MergeNode-one_outgoing_edge">
            <body>A MergeNode has one outgoing ActivityEdge.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MergeNode-one_outgoing_edge-_specification">
            <language>OCL</language>
            <body>outgoing->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="MergeNode-edges" name="edges" constrainedElement="MergeNode" context="MergeNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="MergeNode-edges-_ownedComment.0" annotatedElement="MergeNode-edges">
            <body>The ActivityEdges incoming to and outgoing from a MergeNode must be either all ObjectFlows or all ControlFlows.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MergeNode-edges-_specification">
            <language>OCL</language>
            <body>let allEdges : Set(ActivityEdge) = incoming->union(outgoing) in&#xD;
allEdges->forAll(oclIsKindOf(ControlFlow)) or allEdges->forAll(oclIsKindOf(ObjectFlow))&#xD;
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="MergeNode-_generalization.0" general="ControlNode" specific="MergeNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ObjectFlow" name="ObjectFlow">
        <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-_ownedComment.0" annotatedElement="ObjectFlow">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectFlow-input_and_output_parameter" name="input_and_output_parameter" constrainedElement="ObjectFlow" context="ObjectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-input_and_output_parameter-_ownedComment.0" annotatedElement="ObjectFlow-input_and_output_parameter">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-input_and_output_parameter-_specification">
            <language>OCL</language>
            <body>selection&lt;>null implies&#xD;
	selection.inputParameters()->size()=1 and&#xD;
	selection.inputParameters()->forAll(not isUnique and is(0,*)) and&#xD;
	selection.outputParameters()->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectFlow-no_executable_nodes" name="no_executable_nodes" constrainedElement="ObjectFlow" context="ObjectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-no_executable_nodes-_ownedComment.0" annotatedElement="ObjectFlow-no_executable_nodes">
            <body>ObjectFlows may not have ExecutableNodes at either end.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-no_executable_nodes-_specification">
            <language>OCL</language>
            <body>not (source.oclIsKindOf(ExecutableNode) or target.oclIsKindOf(ExecutableNode))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectFlow-transformation_behavior" name="transformation_behavior" constrainedElement="ObjectFlow" context="ObjectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-transformation_behavior-_ownedComment.0" annotatedElement="ObjectFlow-transformation_behavior">
            <body>A transformation Behavior has one input Parameter and one output Parameter. The input Parameter must be the same as or a supertype of the type of object token coming from the source end. The output Parameter must be the same or a subtype of the type of object token expected downstream. The Behavior cannot have side effects.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-transformation_behavior-_specification">
            <language>OCL</language>
            <body>transformation&lt;>null implies&#xD;
	transformation.inputParameters()->size()=1 and&#xD;
	transformation.outputParameters()->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectFlow-selection_behavior" name="selection_behavior" constrainedElement="ObjectFlow" context="ObjectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-selection_behavior-_ownedComment.0" annotatedElement="ObjectFlow-selection_behavior">
            <body>An ObjectFlow may have a selection Behavior only if it has an ObjectNode as its source.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-selection_behavior-_specification">
            <language>OCL</language>
            <body>selection&lt;>null implies source.oclIsKindOf(ObjectNode)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectFlow-compatible_types" name="compatible_types" constrainedElement="ObjectFlow" context="ObjectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-compatible_types-_ownedComment.0" annotatedElement="ObjectFlow-compatible_types">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-compatible_types-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectFlow-same_upper_bounds" name="same_upper_bounds" constrainedElement="ObjectFlow" context="ObjectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-same_upper_bounds-_ownedComment.0" annotatedElement="ObjectFlow-same_upper_bounds">
            <body>ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have the same upperBounds.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-same_upper_bounds-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectFlow-target" name="target" constrainedElement="ObjectFlow" context="ObjectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-target-_ownedComment.0" annotatedElement="ObjectFlow-target">
            <body>An ObjectFlow with a constant weight may not target an ObjectNode, with optionally intervening ControlNodes, that has an upper bound less than the weight.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-target-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectFlow-is_multicast_or_is_multireceive" name="is_multicast_or_is_multireceive" constrainedElement="ObjectFlow" context="ObjectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-is_multicast_or_is_multireceive-_ownedComment.0" annotatedElement="ObjectFlow-is_multicast_or_is_multireceive">
            <body>isMulticast and isMultireceive cannot both be true.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-is_multicast_or_is_multireceive-_specification">
            <language>OCL</language>
            <body>not (isMulticast and isMultireceive)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ObjectFlow-_generalization.0" general="ActivityEdge" specific="ObjectFlow"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectFlow-isMulticast" name="isMulticast">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-isMulticast-_ownedComment.0" annotatedElement="ObjectFlow-isMulticast">
            <body>Indicates whether the objects in the ObjectFlow are passed by multicasting.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectFlow-isMulticast-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectFlow-isMultireceive" name="isMultireceive">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-isMultireceive-_ownedComment.0" annotatedElement="ObjectFlow-isMultireceive">
            <body>Indicates whether the objects in the ObjectFlow are gathered from respondents to multicasting.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectFlow-isMultireceive-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectFlow-selection" name="selection" type="Behavior" association="A_selection_objectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-selection-_ownedComment.0" annotatedElement="ObjectFlow-selection">
            <body>A Behavior used to select tokens from a source ObjectNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectFlow-selection-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectFlow-transformation" name="transformation" type="Behavior" association="A_transformation_objectFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectFlow-transformation-_ownedComment.0" annotatedElement="ObjectFlow-transformation">
            <body>A Behavior used to change or replace object tokens flowing along the ObjectFlow.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectFlow-transformation-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ObjectNode" name="ObjectNode" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-_ownedComment.0" annotatedElement="ObjectNode">
          <body>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.&#xD;
</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectNode-input_output_parameter" name="input_output_parameter" constrainedElement="ObjectNode" context="ObjectNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-input_output_parameter-_ownedComment.0" annotatedElement="ObjectNode-input_output_parameter">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectNode-input_output_parameter-_specification">
            <language>OCL</language>
            <body>selection&lt;>null implies&#xD;
	selection.inputParameters()->size()=1 and&#xD;
	selection.inputParameters()->forAll(p | not p.isUnique and p.is(0,*) and self.type.conformsTo(p.type)) and&#xD;
	selection.outputParameters()->size()=1 and&#xD;
		selection.inputParameters()->forAll(p | self.type.conformsTo(p.type))&#xD;
	</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectNode-selection_behavior" name="selection_behavior" constrainedElement="ObjectNode" context="ObjectNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-selection_behavior-_ownedComment.0" annotatedElement="ObjectNode-selection_behavior">
            <body>If an ObjectNode has a selection Behavior, then the ordering of the object node is ordered, and vice versa.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectNode-selection_behavior-_specification">
            <language>OCL</language>
            <body>(selection&lt;>null) = (ordering=ObjectNodeOrderingKind::ordered)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ObjectNode-object_flow_edges" name="object_flow_edges" constrainedElement="ObjectNode" context="ObjectNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-object_flow_edges-_ownedComment.0" annotatedElement="ObjectNode-object_flow_edges">
            <body>If isControlType=false, the ActivityEdges incoming to or outgoing from an ObjectNode must all be ObjectFlows.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectNode-object_flow_edges-_specification">
            <language>OCL</language>
            <body>(not isControlType) implies incoming->union(outgoing)->forAll(oclIsKindOf(ObjectFlow))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ObjectNode-_generalization.1" general="TypedElement" specific="ObjectNode"/>
        <generalization xmi:type="uml:Generalization" xmi:id="ObjectNode-_generalization.0" general="ActivityNode" specific="ObjectNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectNode-inState" name="inState" type="State" association="A_inState_objectNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-inState-_ownedComment.0" annotatedElement="ObjectNode-inState">
            <body>The States required to be associated with the values held by tokens on this ObjectNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectNode-inState-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ObjectNode-inState-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectNode-isControlType" name="isControlType">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-isControlType-_ownedComment.0" annotatedElement="ObjectNode-isControlType">
            <body>Indicates whether the type of the ObjectNode is to be treated as representing control values that may traverse ControlFlows.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectNode-isControlType-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectNode-ordering" name="ordering" type="ObjectNodeOrderingKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-ordering-_ownedComment.0" annotatedElement="ObjectNode-ordering">
            <body>Indicates how the tokens held by the ObjectNode are ordered for selection to traverse ActivityEdges outgoing from the ObjectNode.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="ObjectNode-ordering-_defaultValue" type="ObjectNodeOrderingKind" instance="ObjectNodeOrderingKind-FIFO"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectNode-selection" name="selection" type="Behavior" association="A_selection_objectNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-selection-_ownedComment.0" annotatedElement="ObjectNode-selection">
            <body>A Behavior used to select tokens to be offered on outgoing ActivityEdges.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectNode-selection-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ObjectNode-upperBound" name="upperBound" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_upperBound_objectNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNode-upperBound-_ownedComment.0" annotatedElement="ObjectNode-upperBound">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectNode-upperBound-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Variable" name="Variable">
        <ownedComment xmi:type="uml:Comment" xmi:id="Variable-_ownedComment.0" annotatedElement="Variable">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Variable-_generalization.0" general="ConnectableElement" specific="Variable"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Variable-_generalization.1" general="MultiplicityElement" specific="Variable"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Variable-activityScope" name="activityScope" type="Activity" subsettedProperty="NamedElement-namespace" association="A_variable_activityScope">
          <ownedComment xmi:type="uml:Comment" xmi:id="Variable-activityScope-_ownedComment.0" annotatedElement="Variable-activityScope">
            <body>An Activity that owns the Variable.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Variable-activityScope-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Variable-scope" name="scope" type="StructuredActivityNode" subsettedProperty="NamedElement-namespace" association="A_variable_scope">
          <ownedComment xmi:type="uml:Comment" xmi:id="Variable-scope-_ownedComment.0" annotatedElement="Variable-scope">
            <body>A StructuredActivityNode that owns the Variable.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Variable-scope-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Variable-isAccessibleBy" name="isAccessibleBy" bodyCondition="Variable-isAccessibleBy-spec" class="Variable" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Variable-isAccessibleBy-_ownedComment.0" annotatedElement="Variable-isAccessibleBy">
            <body>A Variable is accessible by Actions within its scope (the Activity or StructuredActivityNode that owns it).</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Variable-isAccessibleBy-spec" name="spec" constrainedElement="Variable-isAccessibleBy" context="Variable-isAccessibleBy">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Variable-isAccessibleBy-spec-_specification">
              <language>OCL</language>
              <body>result = (if scope&lt;>null then scope.allOwnedNodes()->includes(a)&#xD;
else a.containingActivity()=activityScope&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Variable-isAccessibleBy-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Variable-isAccessibleBy-a" name="a" type="Action"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="ObjectNodeOrderingKind" name="ObjectNodeOrderingKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNodeOrderingKind-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind">
          <body>ObjectNodeOrderingKind is an enumeration indicating queuing order for offering the tokens held by an ObjectNode.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ObjectNodeOrderingKind-unordered" name="unordered" enumeration="ObjectNodeOrderingKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNodeOrderingKind-unordered-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-unordered">
            <body>Indicates that tokens are unordered.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ObjectNodeOrderingKind-ordered" name="ordered" enumeration="ObjectNodeOrderingKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNodeOrderingKind-ordered-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-ordered">
            <body>Indicates that tokens are ordered.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ObjectNodeOrderingKind-LIFO" name="LIFO" enumeration="ObjectNodeOrderingKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNodeOrderingKind-LIFO-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-LIFO">
            <body>Indicates that tokens are queued in a last in, first out manner.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ObjectNodeOrderingKind-FIFO" name="FIFO" enumeration="ObjectNodeOrderingKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ObjectNodeOrderingKind-FIFO-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-FIFO">
            <body>Indicates that tokens are queued in a first in, first out manner.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_selection_objectNode" name="A_selection_objectNode" memberEnd="ObjectNode-selection A_selection_objectNode-objectNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_selection_objectNode-objectNode" name="objectNode" type="ObjectNode" owningAssociation="A_selection_objectNode" association="A_selection_objectNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_selection_objectNode-objectNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_selection_objectNode-objectNode-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_inState_objectNode" name="A_inState_objectNode" memberEnd="ObjectNode-inState A_inState_objectNode-objectNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_inState_objectNode-objectNode" name="objectNode" type="ObjectNode" owningAssociation="A_inState_objectNode" association="A_inState_objectNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inState_objectNode-objectNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_inState_objectNode-objectNode-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_upperBound_objectNode" name="A_upperBound_objectNode" memberEnd="ObjectNode-upperBound A_upperBound_objectNode-objectNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_upperBound_objectNode-objectNode" name="objectNode" type="ObjectNode" owningAssociation="A_upperBound_objectNode" subsettedProperty="Element-owner" association="A_upperBound_objectNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_upperBound_objectNode-objectNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_transformation_objectFlow" name="A_transformation_objectFlow" memberEnd="ObjectFlow-transformation A_transformation_objectFlow-objectFlow">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_transformation_objectFlow-objectFlow" name="objectFlow" type="ObjectFlow" owningAssociation="A_transformation_objectFlow" association="A_transformation_objectFlow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_transformation_objectFlow-objectFlow-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_transformation_objectFlow-objectFlow-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_selection_objectFlow" name="A_selection_objectFlow" memberEnd="ObjectFlow-selection A_selection_objectFlow-objectFlow">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_selection_objectFlow-objectFlow" name="objectFlow" type="ObjectFlow" owningAssociation="A_selection_objectFlow" association="A_selection_objectFlow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_selection_objectFlow-objectFlow-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_selection_objectFlow-objectFlow-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_joinSpec_joinNode" name="A_joinSpec_joinNode" memberEnd="JoinNode-joinSpec A_joinSpec_joinNode-joinNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_joinSpec_joinNode-joinNode" name="joinNode" type="JoinNode" owningAssociation="A_joinSpec_joinNode" subsettedProperty="Element-owner" association="A_joinSpec_joinNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_joinSpec_joinNode-joinNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_interruptingEdge_interrupts" name="A_interruptingEdge_interrupts" memberEnd="InterruptibleActivityRegion-interruptingEdge ActivityEdge-interrupts"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_handler_protectedNode" name="A_handler_protectedNode" memberEnd="ExecutableNode-handler ExceptionHandler-protectedNode"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_handlerBody_exceptionHandler" name="A_handlerBody_exceptionHandler" memberEnd="ExceptionHandler-handlerBody A_handlerBody_exceptionHandler-exceptionHandler">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_handlerBody_exceptionHandler-exceptionHandler" name="exceptionHandler" type="ExceptionHandler" owningAssociation="A_handlerBody_exceptionHandler" association="A_handlerBody_exceptionHandler">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_handlerBody_exceptionHandler-exceptionHandler-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_handlerBody_exceptionHandler-exceptionHandler-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_exceptionType_exceptionHandler" name="A_exceptionType_exceptionHandler" memberEnd="ExceptionHandler-exceptionType A_exceptionType_exceptionHandler-exceptionHandler">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_exceptionType_exceptionHandler-exceptionHandler" name="exceptionHandler" type="ExceptionHandler" owningAssociation="A_exceptionType_exceptionHandler" association="A_exceptionType_exceptionHandler">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exceptionType_exceptionHandler-exceptionHandler-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_exceptionType_exceptionHandler-exceptionHandler-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_exceptionInput_exceptionHandler" name="A_exceptionInput_exceptionHandler" memberEnd="ExceptionHandler-exceptionInput A_exceptionInput_exceptionHandler-exceptionHandler">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_exceptionInput_exceptionHandler-exceptionHandler" name="exceptionHandler" type="ExceptionHandler" owningAssociation="A_exceptionInput_exceptionHandler" association="A_exceptionInput_exceptionHandler">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exceptionInput_exceptionHandler-exceptionHandler-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_exceptionInput_exceptionHandler-exceptionHandler-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_decisionInput_decisionNode" name="A_decisionInput_decisionNode" memberEnd="DecisionNode-decisionInput A_decisionInput_decisionNode-decisionNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_decisionInput_decisionNode-decisionNode" name="decisionNode" type="DecisionNode" owningAssociation="A_decisionInput_decisionNode" association="A_decisionInput_decisionNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_decisionInput_decisionNode-decisionNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_decisionInput_decisionNode-decisionNode-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_decisionInputFlow_decisionNode" name="A_decisionInputFlow_decisionNode" memberEnd="DecisionNode-decisionInputFlow A_decisionInputFlow_decisionNode-decisionNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_decisionInputFlow_decisionNode-decisionNode" name="decisionNode" type="DecisionNode" owningAssociation="A_decisionInputFlow_decisionNode" association="A_decisionInputFlow_decisionNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_decisionInputFlow_decisionNode-decisionNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_represents_activityPartition" name="A_represents_activityPartition" memberEnd="ActivityPartition-represents A_represents_activityPartition-activityPartition">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_represents_activityPartition-activityPartition" name="activityPartition" type="ActivityPartition" owningAssociation="A_represents_activityPartition" association="A_represents_activityPartition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_represents_activityPartition-activityPartition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_represents_activityPartition-activityPartition-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_subpartition_superPartition" name="A_subpartition_superPartition" memberEnd="ActivityPartition-subpartition ActivityPartition-superPartition"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_edge_inPartition" name="A_edge_inPartition" memberEnd="ActivityPartition-edge ActivityEdge-inPartition"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_parameter_activityParameterNode" name="A_parameter_activityParameterNode" memberEnd="ActivityParameterNode-parameter A_parameter_activityParameterNode-activityParameterNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_parameter_activityParameterNode-activityParameterNode" name="activityParameterNode" type="ActivityParameterNode" owningAssociation="A_parameter_activityParameterNode" association="A_parameter_activityParameterNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_parameter_activityParameterNode-activityParameterNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_parameter_activityParameterNode-activityParameterNode-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_inInterruptibleRegion_node" name="A_inInterruptibleRegion_node" memberEnd="ActivityNode-inInterruptibleRegion InterruptibleActivityRegion-node"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_inPartition_node" name="A_inPartition_node" memberEnd="ActivityNode-inPartition ActivityPartition-node"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_incoming_target_node" name="A_incoming_target_node" memberEnd="ActivityNode-incoming ActivityEdge-target"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_node" name="A_outgoing_source_node" memberEnd="ActivityNode-outgoing ActivityEdge-source"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedNode_activityNode" name="A_redefinedNode_activityNode" memberEnd="ActivityNode-redefinedNode A_redefinedNode_activityNode-activityNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedNode_activityNode-activityNode" name="activityNode" type="ActivityNode" owningAssociation="A_redefinedNode_activityNode" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedNode_activityNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedNode_activityNode-activityNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedNode_activityNode-activityNode-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_containedEdge_inGroup" name="A_containedEdge_inGroup" isDerived="true" memberEnd="ActivityGroup-containedEdge ActivityEdge-inGroup"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_containedNode_inGroup" name="A_containedNode_inGroup" isDerived="true" memberEnd="ActivityGroup-containedNode ActivityNode-inGroup"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_subgroup_superGroup" name="A_subgroup_superGroup" isDerived="true" memberEnd="ActivityGroup-subgroup ActivityGroup-superGroup"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedEdge_activityEdge" name="A_redefinedEdge_activityEdge" memberEnd="ActivityEdge-redefinedEdge A_redefinedEdge_activityEdge-activityEdge">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedEdge_activityEdge-activityEdge" name="activityEdge" type="ActivityEdge" owningAssociation="A_redefinedEdge_activityEdge" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedEdge_activityEdge">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedEdge_activityEdge-activityEdge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedEdge_activityEdge-activityEdge-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_weight_activityEdge" name="A_weight_activityEdge" memberEnd="ActivityEdge-weight A_weight_activityEdge-activityEdge">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_weight_activityEdge-activityEdge" name="activityEdge" type="ActivityEdge" owningAssociation="A_weight_activityEdge" subsettedProperty="Element-owner" association="A_weight_activityEdge">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_weight_activityEdge-activityEdge-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_guard_activityEdge" name="A_guard_activityEdge" memberEnd="ActivityEdge-guard A_guard_activityEdge-activityEdge">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_guard_activityEdge-activityEdge" name="activityEdge" type="ActivityEdge" owningAssociation="A_guard_activityEdge" subsettedProperty="Element-owner" association="A_guard_activityEdge">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_guard_activityEdge-activityEdge-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_structuredNode_activity" name="A_structuredNode_activity" memberEnd="Activity-structuredNode StructuredActivityNode-activity"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_group_inActivity" name="A_group_inActivity" memberEnd="Activity-group ActivityGroup-inActivity"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_node_activity" name="A_node_activity" memberEnd="Activity-node ActivityNode-activity"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_variable_activityScope" name="A_variable_activityScope" memberEnd="Activity-variable Variable-activityScope"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_edge_activity" name="A_edge_activity" memberEnd="Activity-edge ActivityEdge-activity"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_partition_activity" name="A_partition_activity" memberEnd="Activity-partition A_partition_activity-activity">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_partition_activity-activity" name="activity" type="Activity" owningAssociation="A_partition_activity" subsettedProperty="ActivityGroup-inActivity" association="A_partition_activity">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_partition_activity-activity-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="Values" name="Values">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="Classification" importingNamespace="Values"/>
      <packagedElement xmi:type="uml:Class" xmi:id="Duration" name="Duration">
        <ownedComment xmi:type="uml:Comment" xmi:id="Duration-_ownedComment.0" annotatedElement="Duration">
          <body>A Duration is a ValueSpecification that specifies the temporal distance between two time instants.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Duration-no_expr_requires_observation" name="no_expr_requires_observation" constrainedElement="Duration" context="Duration">
          <ownedComment xmi:type="uml:Comment" xmi:id="Duration-no_expr_requires_observation-_ownedComment.0" annotatedElement="Duration-no_expr_requires_observation">
            <body>If a Duration has no expr, then it must have a single observation that is a DurationObservation.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Duration-no_expr_requires_observation-_specification">
            <language>OCL</language>
            <body>expr = null implies (observation->size() = 1 and observation->forAll(oclIsKindOf(DurationObservation)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Duration-_generalization.0" general="ValueSpecification" specific="Duration"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Duration-expr" name="expr" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_expr_duration">
          <ownedComment xmi:type="uml:Comment" xmi:id="Duration-expr-_ownedComment.0" annotatedElement="Duration-expr">
            <body>A ValueSpecification that evaluates to the value of the Duration.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Duration-expr-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Duration-observation" name="observation" type="Observation" association="A_observation_duration">
          <ownedComment xmi:type="uml:Comment" xmi:id="Duration-observation-_ownedComment.0" annotatedElement="Duration-observation">
            <body>Refers to the Observations that are involved in the computation of the Duration value</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Duration-observation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Duration-observation-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DurationConstraint" name="DurationConstraint">
        <ownedComment xmi:type="uml:Comment" xmi:id="DurationConstraint-_ownedComment.0" annotatedElement="DurationConstraint">
          <body>A DurationConstraint is a Constraint that refers to a DurationInterval.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DurationConstraint-first_event_multiplicity" name="first_event_multiplicity" constrainedElement="DurationConstraint" context="DurationConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationConstraint-first_event_multiplicity-_ownedComment.0" annotatedElement="DurationConstraint-first_event_multiplicity">
            <body>The multiplicity of firstEvent must be 2 if the multiplicity of constrainedElement is 2. Otherwise the multiplicity of firstEvent is 0.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DurationConstraint-first_event_multiplicity-_specification">
            <language>OCL</language>
            <body>if (constrainedElement->size() = 2)&#xD;
  then (firstEvent->size() = 2) else (firstEvent->size() = 0) &#xD;
endif</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DurationConstraint-has_one_or_two_constrainedElements" name="has_one_or_two_constrainedElements" constrainedElement="DurationConstraint" context="DurationConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationConstraint-has_one_or_two_constrainedElements-_ownedComment.0" annotatedElement="DurationConstraint-has_one_or_two_constrainedElements">
            <body>A DurationConstraint has either one or two constrainedElements.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DurationConstraint-has_one_or_two_constrainedElements-_specification">
            <language>OCL</language>
            <body>constrainedElement->size() = 1 or constrainedElement->size()=2</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="DurationConstraint-_generalization.0" general="IntervalConstraint" specific="DurationConstraint"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DurationConstraint-firstEvent" name="firstEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationConstraint-firstEvent-_ownedComment.0" annotatedElement="DurationConstraint-firstEvent">
            <body>The value of firstEvent[i] is related to constrainedElement[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters constrainedElement[i]. If firstEvent[i] is false, then the corresponding observation event is the last time instant the execution is within constrainedElement[i].</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DurationConstraint-firstEvent-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DurationConstraint-firstEvent-_upperValue" value="2"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DurationConstraint-specification" name="specification" type="DurationInterval" aggregation="composite" redefinedProperty="IntervalConstraint-specification" association="A_specification_durationConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationConstraint-specification-_ownedComment.0" annotatedElement="DurationConstraint-specification">
            <body>The DurationInterval constraining the duration.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DurationInterval" name="DurationInterval">
        <ownedComment xmi:type="uml:Comment" xmi:id="DurationInterval-_ownedComment.0" annotatedElement="DurationInterval">
          <body>A DurationInterval defines the range between two Durations.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="DurationInterval-_generalization.0" general="Interval" specific="DurationInterval"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DurationInterval-max" name="max" type="Duration" redefinedProperty="Interval-max" association="A_max_durationInterval">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationInterval-max-_ownedComment.0" annotatedElement="DurationInterval-max">
            <body>Refers to the Duration denoting the maximum value of the range.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DurationInterval-min" name="min" type="Duration" redefinedProperty="Interval-min" association="A_min_durationInterval">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationInterval-min-_ownedComment.0" annotatedElement="DurationInterval-min">
            <body>Refers to the Duration denoting the minimum value of the range.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DurationObservation" name="DurationObservation">
        <ownedComment xmi:type="uml:Comment" xmi:id="DurationObservation-_ownedComment.0" annotatedElement="DurationObservation">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DurationObservation-first_event_multiplicity" name="first_event_multiplicity" constrainedElement="DurationObservation" context="DurationObservation">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationObservation-first_event_multiplicity-_ownedComment.0" annotatedElement="DurationObservation-first_event_multiplicity">
            <body>The multiplicity of firstEvent must be 2 if the multiplicity of event is 2. Otherwise the multiplicity of firstEvent is 0.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DurationObservation-first_event_multiplicity-_specification">
            <language>OCL</language>
            <body>if (event->size() = 2)&#xD;
  then (firstEvent->size() = 2) else (firstEvent->size() = 0)&#xD;
endif</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="DurationObservation-_generalization.0" general="Observation" specific="DurationObservation"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DurationObservation-event" name="event" type="NamedElement" isOrdered="true" association="A_event_durationObservation">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationObservation-event-_ownedComment.0" annotatedElement="DurationObservation-event">
            <body>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.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DurationObservation-event-_upperValue" value="2"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DurationObservation-firstEvent" name="firstEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="DurationObservation-firstEvent-_ownedComment.0" annotatedElement="DurationObservation-firstEvent">
            <body>The value of firstEvent[i] is related to event[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters event[i]. If firstEvent[i] is false, then the corresponding observation event is the time instant the execution exits event[i].</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DurationObservation-firstEvent-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DurationObservation-firstEvent-_upperValue" value="2"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Expression" name="Expression">
        <ownedComment xmi:type="uml:Comment" xmi:id="Expression-_ownedComment.0" annotatedElement="Expression">
          <body>An Expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands that are ValueSpecifications. It denotes a (possibly empty) set of values when evaluated in a context.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Expression-_generalization.0" general="ValueSpecification" specific="Expression"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Expression-operand" name="operand" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_operand_expression">
          <ownedComment xmi:type="uml:Comment" xmi:id="Expression-operand-_ownedComment.0" annotatedElement="Expression-operand">
            <body>Specifies a sequence of operand ValueSpecifications.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Expression-operand-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Expression-operand-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Expression-symbol" name="symbol">
          <ownedComment xmi:type="uml:Comment" xmi:id="Expression-symbol-_ownedComment.0" annotatedElement="Expression-symbol">
            <body>The symbol associated with this node in the expression tree.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Expression-symbol-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Interval" name="Interval">
        <ownedComment xmi:type="uml:Comment" xmi:id="Interval-_ownedComment.0" annotatedElement="Interval">
          <body>An Interval defines the range between two ValueSpecifications.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Interval-_generalization.0" general="ValueSpecification" specific="Interval"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interval-max" name="max" type="ValueSpecification" association="A_max_interval">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interval-max-_ownedComment.0" annotatedElement="Interval-max">
            <body>Refers to the ValueSpecification denoting the maximum value of the range.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interval-min" name="min" type="ValueSpecification" association="A_min_interval">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interval-min-_ownedComment.0" annotatedElement="Interval-min">
            <body>Refers to the ValueSpecification denoting the minimum value of the range.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="IntervalConstraint" name="IntervalConstraint">
        <ownedComment xmi:type="uml:Comment" xmi:id="IntervalConstraint-_ownedComment.0" annotatedElement="IntervalConstraint">
          <body>An IntervalConstraint is a Constraint that is specified by an Interval.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="IntervalConstraint-_generalization.0" general="Constraint" specific="IntervalConstraint"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="IntervalConstraint-specification" name="specification" type="Interval" aggregation="composite" redefinedProperty="Constraint-specification" association="A_specification_intervalConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="IntervalConstraint-specification-_ownedComment.0" annotatedElement="IntervalConstraint-specification">
            <body>The Interval that specifies the condition of the IntervalConstraint.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LiteralBoolean" name="LiteralBoolean">
        <ownedComment xmi:type="uml:Comment" xmi:id="LiteralBoolean-_ownedComment.0" annotatedElement="LiteralBoolean">
          <body>A LiteralBoolean is a specification of a Boolean value.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="LiteralBoolean-_generalization.0" general="LiteralSpecification" specific="LiteralBoolean"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LiteralBoolean-value" name="value">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralBoolean-value-_ownedComment.0" annotatedElement="LiteralBoolean-value">
            <body>The specified Boolean value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LiteralBoolean-value-_defaultValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralBoolean-booleanValue" name="booleanValue" bodyCondition="LiteralBoolean-booleanValue-spec" class="LiteralBoolean" isQuery="true" redefinedOperation="ValueSpecification-booleanValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralBoolean-booleanValue-_ownedComment.0" annotatedElement="LiteralBoolean-booleanValue">
            <body>The query booleanValue() gives the value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralBoolean-booleanValue-spec" name="spec" constrainedElement="LiteralBoolean-booleanValue" context="LiteralBoolean-booleanValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralBoolean-booleanValue-spec-_specification">
              <language>OCL</language>
              <body>result = (value)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralBoolean-booleanValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralBoolean-isComputable" name="isComputable" bodyCondition="LiteralBoolean-isComputable-spec" class="LiteralBoolean" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralBoolean-isComputable-_ownedComment.0" annotatedElement="LiteralBoolean-isComputable">
            <body>The query isComputable() is redefined to be true.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralBoolean-isComputable-spec" name="spec" constrainedElement="LiteralBoolean-isComputable" context="LiteralBoolean-isComputable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralBoolean-isComputable-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralBoolean-isComputable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LiteralInteger" name="LiteralInteger">
        <ownedComment xmi:type="uml:Comment" xmi:id="LiteralInteger-_ownedComment.0" annotatedElement="LiteralInteger">
          <body>A LiteralInteger is a specification of an Integer value.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="LiteralInteger-_generalization.0" general="LiteralSpecification" specific="LiteralInteger"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LiteralInteger-value" name="value">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralInteger-value-_ownedComment.0" annotatedElement="LiteralInteger-value">
            <body>The specified Integer value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="LiteralInteger-value-_defaultValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralInteger-integerValue" name="integerValue" bodyCondition="LiteralInteger-integerValue-spec" class="LiteralInteger" isQuery="true" redefinedOperation="ValueSpecification-integerValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralInteger-integerValue-_ownedComment.0" annotatedElement="LiteralInteger-integerValue">
            <body>The query integerValue() gives the value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralInteger-integerValue-spec" name="spec" constrainedElement="LiteralInteger-integerValue" context="LiteralInteger-integerValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralInteger-integerValue-spec-_specification">
              <language>OCL</language>
              <body>result = (value)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralInteger-integerValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralInteger-isComputable" name="isComputable" bodyCondition="LiteralInteger-isComputable-spec" class="LiteralInteger" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralInteger-isComputable-_ownedComment.0" annotatedElement="LiteralInteger-isComputable">
            <body>The query isComputable() is redefined to be true.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralInteger-isComputable-spec" name="spec" constrainedElement="LiteralInteger-isComputable" context="LiteralInteger-isComputable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralInteger-isComputable-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralInteger-isComputable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LiteralNull" name="LiteralNull">
        <ownedComment xmi:type="uml:Comment" xmi:id="LiteralNull-_ownedComment.0" annotatedElement="LiteralNull">
          <body>A LiteralNull specifies the lack of a value.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="LiteralNull-_generalization.0" general="LiteralSpecification" specific="LiteralNull"/>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralNull-isComputable" name="isComputable" bodyCondition="LiteralNull-isComputable-spec" class="LiteralNull" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralNull-isComputable-_ownedComment.0" annotatedElement="LiteralNull-isComputable">
            <body>The query isComputable() is redefined to be true.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralNull-isComputable-spec" name="spec" constrainedElement="LiteralNull-isComputable" context="LiteralNull-isComputable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralNull-isComputable-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralNull-isComputable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralNull-isNull" name="isNull" bodyCondition="LiteralNull-isNull-spec" class="LiteralNull" isQuery="true" redefinedOperation="ValueSpecification-isNull">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralNull-isNull-_ownedComment.0" annotatedElement="LiteralNull-isNull">
            <body>The query isNull() returns true.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralNull-isNull-spec" name="spec" constrainedElement="LiteralNull-isNull" context="LiteralNull-isNull">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralNull-isNull-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralNull-isNull-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LiteralReal" name="LiteralReal">
        <ownedComment xmi:type="uml:Comment" xmi:id="LiteralReal-_ownedComment.0" annotatedElement="LiteralReal">
          <body>A LiteralReal is a specification of a Real value.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="LiteralReal-_generalization.0" general="LiteralSpecification" specific="LiteralReal"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LiteralReal-value" name="value">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralReal-value-_ownedComment.0" annotatedElement="LiteralReal-value">
            <body>The specified Real value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Real"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralReal-isComputable" name="isComputable" bodyCondition="LiteralReal-isComputable-spec" class="LiteralReal" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralReal-isComputable-_ownedComment.0" annotatedElement="LiteralReal-isComputable">
            <body>The query isComputable() is redefined to be true.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralReal-isComputable-spec" name="spec" constrainedElement="LiteralReal-isComputable" context="LiteralReal-isComputable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralReal-isComputable-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralReal-isComputable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralReal-realValue" name="realValue" bodyCondition="LiteralReal-realValue-spec" class="LiteralReal" isQuery="true" redefinedOperation="ValueSpecification-realValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralReal-realValue-_ownedComment.0" annotatedElement="LiteralReal-realValue">
            <body>The query realValue() gives the value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralReal-realValue-spec" name="spec" constrainedElement="LiteralReal-realValue" context="LiteralReal-realValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralReal-realValue-spec-_specification">
              <language>OCL</language>
              <body>result = (value)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralReal-realValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Real"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LiteralSpecification" name="LiteralSpecification" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="LiteralSpecification-_ownedComment.0" annotatedElement="LiteralSpecification">
          <body>A LiteralSpecification identifies a literal constant being modeled.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="LiteralSpecification-_generalization.0" general="ValueSpecification" specific="LiteralSpecification"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LiteralString" name="LiteralString">
        <ownedComment xmi:type="uml:Comment" xmi:id="LiteralString-_ownedComment.0" annotatedElement="LiteralString">
          <body>A LiteralString is a specification of a String value.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="LiteralString-_generalization.0" general="LiteralSpecification" specific="LiteralString"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LiteralString-value" name="value">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralString-value-_ownedComment.0" annotatedElement="LiteralString-value">
            <body>The specified String value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LiteralString-value-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralString-isComputable" name="isComputable" bodyCondition="LiteralString-isComputable-spec" class="LiteralString" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralString-isComputable-_ownedComment.0" annotatedElement="LiteralString-isComputable">
            <body>The query isComputable() is redefined to be true.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralString-isComputable-spec" name="spec" constrainedElement="LiteralString-isComputable" context="LiteralString-isComputable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralString-isComputable-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralString-isComputable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralString-stringValue" name="stringValue" bodyCondition="LiteralString-stringValue-spec" class="LiteralString" isQuery="true" redefinedOperation="ValueSpecification-stringValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralString-stringValue-_ownedComment.0" annotatedElement="LiteralString-stringValue">
            <body>The query stringValue() gives the value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralString-stringValue-spec" name="spec" constrainedElement="LiteralString-stringValue" context="LiteralString-stringValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralString-stringValue-spec-_specification">
              <language>OCL</language>
              <body>result = (value)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralString-stringValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LiteralUnlimitedNatural" name="LiteralUnlimitedNatural">
        <ownedComment xmi:type="uml:Comment" xmi:id="LiteralUnlimitedNatural-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural">
          <body>A LiteralUnlimitedNatural is a specification of an UnlimitedNatural number.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="LiteralUnlimitedNatural-_generalization.0" general="LiteralSpecification" specific="LiteralUnlimitedNatural"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LiteralUnlimitedNatural-value" name="value">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralUnlimitedNatural-value-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-value">
            <body>The specified UnlimitedNatural value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
          <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LiteralUnlimitedNatural-value-_defaultValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralUnlimitedNatural-isComputable" name="isComputable" bodyCondition="LiteralUnlimitedNatural-isComputable-spec" class="LiteralUnlimitedNatural" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralUnlimitedNatural-isComputable-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-isComputable">
            <body>The query isComputable() is redefined to be true.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralUnlimitedNatural-isComputable-spec" name="spec" constrainedElement="LiteralUnlimitedNatural-isComputable" context="LiteralUnlimitedNatural-isComputable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralUnlimitedNatural-isComputable-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralUnlimitedNatural-isComputable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LiteralUnlimitedNatural-unlimitedValue" name="unlimitedValue" bodyCondition="LiteralUnlimitedNatural-unlimitedValue-spec" class="LiteralUnlimitedNatural" isQuery="true" redefinedOperation="ValueSpecification-unlimitedValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="LiteralUnlimitedNatural-unlimitedValue-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-unlimitedValue">
            <body>The query unlimitedValue() gives the value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LiteralUnlimitedNatural-unlimitedValue-spec" name="spec" constrainedElement="LiteralUnlimitedNatural-unlimitedValue" context="LiteralUnlimitedNatural-unlimitedValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralUnlimitedNatural-unlimitedValue-spec-_specification">
              <language>OCL</language>
              <body>result = (value)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LiteralUnlimitedNatural-unlimitedValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Observation" name="Observation" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Observation-_ownedComment.0" annotatedElement="Observation">
          <body>Observation specifies a value determined by observing an event or events that occur relative to other model Elements.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Observation-_generalization.0" general="PackageableElement" specific="Observation"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OpaqueExpression" name="OpaqueExpression">
        <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-_ownedComment.0" annotatedElement="OpaqueExpression">
          <body>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</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-language_body_size" name="language_body_size" constrainedElement="OpaqueExpression" context="OpaqueExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-language_body_size-_ownedComment.0" annotatedElement="OpaqueExpression-language_body_size">
            <body>If the language attribute is not empty, then the size of the body and language arrays must be the same.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-language_body_size-_specification">
            <language>OCL</language>
            <body>language->notEmpty() implies (_'body'->size() = language->size())</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-one_return_result_parameter" name="one_return_result_parameter" constrainedElement="OpaqueExpression" context="OpaqueExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-one_return_result_parameter-_ownedComment.0" annotatedElement="OpaqueExpression-one_return_result_parameter">
            <body>The behavior must have exactly one return result parameter.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-one_return_result_parameter-_specification">
            <language>OCL</language>
            <body>behavior &lt;> null implies&#xD;
   behavior.ownedParameter->select(direction=ParameterDirectionKind::return)->size() = 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-only_return_result_parameters" name="only_return_result_parameters" constrainedElement="OpaqueExpression" context="OpaqueExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-only_return_result_parameters-_ownedComment.0" annotatedElement="OpaqueExpression-only_return_result_parameters">
            <body>The behavior may only have return result parameters.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-only_return_result_parameters-_specification">
            <language>OCL</language>
            <body>behavior &lt;> null implies behavior.ownedParameter->select(direction&lt;>ParameterDirectionKind::return)->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="OpaqueExpression-_generalization.0" general="ValueSpecification" specific="OpaqueExpression"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueExpression-behavior" name="behavior" type="Behavior" association="A_behavior_opaqueExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-behavior-_ownedComment.0" annotatedElement="OpaqueExpression-behavior">
            <body>Specifies the behavior of the OpaqueExpression as a UML Behavior.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-behavior-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueExpression-body" name="body" isOrdered="true" isUnique="false">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-body-_ownedComment.0" annotatedElement="OpaqueExpression-body">
            <body>A textual definition of the behavior of the OpaqueExpression, possibly in multiple languages.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-body-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueExpression-body-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueExpression-language" name="language" isOrdered="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-language-_ownedComment.0" annotatedElement="OpaqueExpression-language">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-language-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueExpression-language-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueExpression-result" name="result" type="Parameter" isReadOnly="true" isDerived="true" association="A_result_opaqueExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-result-_ownedComment.0" annotatedElement="OpaqueExpression-result">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-result-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="OpaqueExpression-isIntegral" name="isIntegral" bodyCondition="OpaqueExpression-isIntegral-spec" class="OpaqueExpression" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-isIntegral-_ownedComment.0" annotatedElement="OpaqueExpression-isIntegral">
            <body>The query isIntegral() tells whether an expression is intended to produce an Integer.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-isIntegral-spec" name="spec" constrainedElement="OpaqueExpression-isIntegral" context="OpaqueExpression-isIntegral">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isIntegral-spec-_specification">
              <language>OCL</language>
              <body>result = (false)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="OpaqueExpression-isIntegral-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="OpaqueExpression-isNonNegative" name="isNonNegative" bodyCondition="OpaqueExpression-isNonNegative-spec" class="OpaqueExpression" isQuery="true" precondition="OpaqueExpression-isNonNegative-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-isNonNegative-_ownedComment.0" annotatedElement="OpaqueExpression-isNonNegative">
            <body>The query isNonNegative() tells whether an integer expression has a non-negative value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-isNonNegative-pre" name="pre" constrainedElement="OpaqueExpression-isNonNegative" context="OpaqueExpression-isNonNegative">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isNonNegative-pre-_specification">
              <language>OCL</language>
              <body>self.isIntegral()</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-isNonNegative-spec" name="spec" constrainedElement="OpaqueExpression-isNonNegative" context="OpaqueExpression-isNonNegative">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isNonNegative-spec-_specification">
              <language>OCL</language>
              <body>result = (false)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="OpaqueExpression-isNonNegative-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="OpaqueExpression-isPositive" name="isPositive" bodyCondition="OpaqueExpression-isPositive-spec" class="OpaqueExpression" isQuery="true" precondition="OpaqueExpression-isPositive-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-isPositive-_ownedComment.0" annotatedElement="OpaqueExpression-isPositive">
            <body>The query isPositive() tells whether an integer expression has a positive value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-isPositive-spec" name="spec" constrainedElement="OpaqueExpression-isPositive" context="OpaqueExpression-isPositive">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isPositive-spec-_specification">
              <language>OCL</language>
              <body>result = (false)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-isPositive-pre" name="pre" constrainedElement="OpaqueExpression-isPositive" context="OpaqueExpression-isPositive">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isPositive-pre-_specification">
              <language>OCL</language>
              <body>self.isIntegral()</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="OpaqueExpression-isPositive-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="OpaqueExpression-result.1" name="result" bodyCondition="OpaqueExpression-result.1-spec" class="OpaqueExpression" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-result.1-_ownedComment.0" annotatedElement="OpaqueExpression-result.1">
            <body>Derivation for OpaqueExpression::/result </body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-result.1-spec" name="spec" constrainedElement="OpaqueExpression-result.1 OpaqueExpression-result" context="OpaqueExpression-result.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-result.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if behavior = null then&#xD;
	null&#xD;
else&#xD;
	behavior.ownedParameter->first()&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="OpaqueExpression-result.1-result" name="result" type="Parameter" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-result.1-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="OpaqueExpression-value" name="value" bodyCondition="OpaqueExpression-value-spec" class="OpaqueExpression" isQuery="true" precondition="OpaqueExpression-value-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueExpression-value-_ownedComment.0" annotatedElement="OpaqueExpression-value">
            <body>The query value() gives an integer value for an expression intended to produce one.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-value-pre" name="pre" constrainedElement="OpaqueExpression-value" context="OpaqueExpression-value">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-value-pre-_specification">
              <language>OCL</language>
              <body>self.isIntegral()</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueExpression-value-spec" name="spec" constrainedElement="OpaqueExpression-value" context="OpaqueExpression-value">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-value-spec-_specification">
              <language>OCL</language>
              <body>result = (0)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="OpaqueExpression-value-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StringExpression" name="StringExpression">
        <ownedComment xmi:type="uml:Comment" xmi:id="StringExpression-_ownedComment.0" annotatedElement="StringExpression">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StringExpression-operands" name="operands" constrainedElement="StringExpression" context="StringExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="StringExpression-operands-_ownedComment.0" annotatedElement="StringExpression-operands">
            <body>All the operands of a StringExpression must be LiteralStrings</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StringExpression-operands-_specification">
            <language>OCL</language>
            <body>operand->forAll (oclIsKindOf (LiteralString))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StringExpression-subexpressions" name="subexpressions" constrainedElement="StringExpression" context="StringExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="StringExpression-subexpressions-_ownedComment.0" annotatedElement="StringExpression-subexpressions">
            <body>If a StringExpression has sub-expressions, it cannot have operands and vice versa (this avoids the problem of having to define a collating sequence between operands and subexpressions).</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StringExpression-subexpressions-_specification">
            <language>OCL</language>
            <body>if subExpression->notEmpty() then operand->isEmpty() else operand->notEmpty() endif</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="StringExpression-_generalization.1" general="TemplateableElement" specific="StringExpression"/>
        <generalization xmi:type="uml:Generalization" xmi:id="StringExpression-_generalization.0" general="Expression" specific="StringExpression"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StringExpression-owningExpression" name="owningExpression" type="StringExpression" subsettedProperty="Element-owner" association="A_subExpression_owningExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="StringExpression-owningExpression-_ownedComment.0" annotatedElement="StringExpression-owningExpression">
            <body>The StringExpression of which this StringExpression is a subExpression.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StringExpression-owningExpression-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StringExpression-subExpression" name="subExpression" type="StringExpression" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_subExpression_owningExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="StringExpression-subExpression-_ownedComment.0" annotatedElement="StringExpression-subExpression">
            <body>The StringExpressions that constitute this StringExpression.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StringExpression-subExpression-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StringExpression-subExpression-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StringExpression-stringValue" name="stringValue" bodyCondition="StringExpression-stringValue-spec" class="StringExpression" isQuery="true" redefinedOperation="ValueSpecification-stringValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="StringExpression-stringValue-_ownedComment.0" annotatedElement="StringExpression-stringValue">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StringExpression-stringValue-spec" name="spec" constrainedElement="StringExpression-stringValue" context="StringExpression-stringValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StringExpression-stringValue-spec-_specification">
              <language>OCL</language>
              <body>result = (if subExpression->notEmpty()
then subExpression->iterate(se; stringValue: String = '' | stringValue.concat(se.stringValue()))
else operand->iterate(op; stringValue: String = '' | stringValue.concat(op.stringValue()))
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StringExpression-stringValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TimeConstraint" name="TimeConstraint">
        <ownedComment xmi:type="uml:Comment" xmi:id="TimeConstraint-_ownedComment.0" annotatedElement="TimeConstraint">
          <body>A TimeConstraint is a Constraint that refers to a TimeInterval.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TimeConstraint-has_one_constrainedElement" name="has_one_constrainedElement" constrainedElement="TimeConstraint" context="TimeConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeConstraint-has_one_constrainedElement-_ownedComment.0" annotatedElement="TimeConstraint-has_one_constrainedElement">
            <body>A TimeConstraint has one constrainedElement.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TimeConstraint-has_one_constrainedElement-_specification">
            <language>OCL</language>
            <body>constrainedElement->size() = 1</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="TimeConstraint-_generalization.0" general="IntervalConstraint" specific="TimeConstraint"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeConstraint-firstEvent" name="firstEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeConstraint-firstEvent-_ownedComment.0" annotatedElement="TimeConstraint-firstEvent">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TimeConstraint-firstEvent-_lowerValue"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="TimeConstraint-firstEvent-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeConstraint-specification" name="specification" type="TimeInterval" aggregation="composite" redefinedProperty="IntervalConstraint-specification" association="A_specification_timeConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeConstraint-specification-_ownedComment.0" annotatedElement="TimeConstraint-specification">
            <body>TheTimeInterval constraining the duration.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TimeExpression" name="TimeExpression">
        <ownedComment xmi:type="uml:Comment" xmi:id="TimeExpression-_ownedComment.0" annotatedElement="TimeExpression">
          <body>A TimeExpression is a ValueSpecification that represents a time value.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TimeExpression-no_expr_requires_observation" name="no_expr_requires_observation" constrainedElement="TimeExpression" context="TimeExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeExpression-no_expr_requires_observation-_ownedComment.0" annotatedElement="TimeExpression-no_expr_requires_observation">
            <body>If a TimeExpression has no expr, then it must have a single observation that is a TimeObservation.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TimeExpression-no_expr_requires_observation-_specification">
            <language>OCL</language>
            <body>expr = null implies (observation->size() = 1 and observation->forAll(oclIsKindOf(TimeObservation)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="TimeExpression-_generalization.0" general="ValueSpecification" specific="TimeExpression"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeExpression-expr" name="expr" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_expr_timeExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeExpression-expr-_ownedComment.0" annotatedElement="TimeExpression-expr">
            <body>A ValueSpecification that evaluates to the value of the TimeExpression.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TimeExpression-expr-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeExpression-observation" name="observation" type="Observation" association="A_observation_timeExpression">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeExpression-observation-_ownedComment.0" annotatedElement="TimeExpression-observation">
            <body>Refers to the Observations that are involved in the computation of the TimeExpression value.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TimeExpression-observation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TimeExpression-observation-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TimeInterval" name="TimeInterval">
        <ownedComment xmi:type="uml:Comment" xmi:id="TimeInterval-_ownedComment.0" annotatedElement="TimeInterval">
          <body>A TimeInterval defines the range between two TimeExpressions.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="TimeInterval-_generalization.0" general="Interval" specific="TimeInterval"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeInterval-max" name="max" type="TimeExpression" redefinedProperty="Interval-max" association="A_max_timeInterval">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeInterval-max-_ownedComment.0" annotatedElement="TimeInterval-max">
            <body>Refers to the TimeExpression denoting the maximum value of the range.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeInterval-min" name="min" type="TimeExpression" redefinedProperty="Interval-min" association="A_min_timeInterval">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeInterval-min-_ownedComment.0" annotatedElement="TimeInterval-min">
            <body>Refers to the TimeExpression denoting the minimum value of the range.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TimeObservation" name="TimeObservation">
        <ownedComment xmi:type="uml:Comment" xmi:id="TimeObservation-_ownedComment.0" annotatedElement="TimeObservation">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="TimeObservation-_generalization.0" general="Observation" specific="TimeObservation"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeObservation-event" name="event" type="NamedElement" association="A_event_timeObservation">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeObservation-event-_ownedComment.0" annotatedElement="TimeObservation-event">
            <body>The TimeObservation is determined by the entering or exiting of the event Element during execution.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeObservation-firstEvent" name="firstEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeObservation-firstEvent-_ownedComment.0" annotatedElement="TimeObservation-firstEvent">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="TimeObservation-firstEvent-_defaultValue" value="true"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ValueSpecification" name="ValueSpecification" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-_ownedComment.0" annotatedElement="ValueSpecification">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ValueSpecification-_generalization.0" general="TypedElement" specific="ValueSpecification"/>
        <generalization xmi:type="uml:Generalization" xmi:id="ValueSpecification-_generalization.1" general="PackageableElement" specific="ValueSpecification"/>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ValueSpecification-booleanValue" name="booleanValue" bodyCondition="ValueSpecification-booleanValue-spec" class="ValueSpecification" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-booleanValue-_ownedComment.0" annotatedElement="ValueSpecification-booleanValue">
            <body>The query booleanValue() gives a single Boolean value when one can be computed.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecification-booleanValue-spec" name="spec" constrainedElement="ValueSpecification-booleanValue" context="ValueSpecification-booleanValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-booleanValue-spec-_specification">
              <language>OCL</language>
              <body>result = (null)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-booleanValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-booleanValue-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ValueSpecification-integerValue" name="integerValue" bodyCondition="ValueSpecification-integerValue-spec" class="ValueSpecification" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-integerValue-_ownedComment.0" annotatedElement="ValueSpecification-integerValue">
            <body>The query integerValue() gives a single Integer value when one can be computed.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecification-integerValue-spec" name="spec" constrainedElement="ValueSpecification-integerValue" context="ValueSpecification-integerValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-integerValue-spec-_specification">
              <language>OCL</language>
              <body>result = (null)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-integerValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-integerValue-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ValueSpecification-isCompatibleWith" name="isCompatibleWith" bodyCondition="ValueSpecification-isCompatibleWith-spec" class="ValueSpecification" isQuery="true" redefinedOperation="ParameterableElement-isCompatibleWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-isCompatibleWith-_ownedComment.0" annotatedElement="ValueSpecification-isCompatibleWith">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecification-isCompatibleWith-spec" name="spec" constrainedElement="ValueSpecification-isCompatibleWith" context="ValueSpecification-isCompatibleWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-isCompatibleWith-spec-_specification">
              <language>OCL</language>
              <body>result = (self.oclIsKindOf(p.oclType()) and (p.oclIsKindOf(TypedElement) implies &#xD;
self.type.conformsTo(p.oclAsType(TypedElement).type)))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-isCompatibleWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-isCompatibleWith-p" name="p" type="ParameterableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ValueSpecification-isComputable" name="isComputable" bodyCondition="ValueSpecification-isComputable-spec" class="ValueSpecification" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-isComputable-_ownedComment.0" annotatedElement="ValueSpecification-isComputable">
            <body>The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all 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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecification-isComputable-spec" name="spec" constrainedElement="ValueSpecification-isComputable" context="ValueSpecification-isComputable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-isComputable-spec-_specification">
              <language>OCL</language>
              <body>result = (false)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-isComputable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ValueSpecification-isNull" name="isNull" bodyCondition="ValueSpecification-isNull-spec" class="ValueSpecification" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-isNull-_ownedComment.0" annotatedElement="ValueSpecification-isNull">
            <body>The query isNull() returns true when it can be computed that the value is null.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecification-isNull-spec" name="spec" constrainedElement="ValueSpecification-isNull" context="ValueSpecification-isNull">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-isNull-spec-_specification">
              <language>OCL</language>
              <body>result = (false)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-isNull-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ValueSpecification-realValue" name="realValue" bodyCondition="ValueSpecification-realValue-spec" class="ValueSpecification" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-realValue-_ownedComment.0" annotatedElement="ValueSpecification-realValue">
            <body>The query realValue() gives a single Real value when one can be computed.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecification-realValue-spec" name="spec" constrainedElement="ValueSpecification-realValue" context="ValueSpecification-realValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-realValue-spec-_specification">
              <language>OCL</language>
              <body>result = (null)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-realValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Real"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-realValue-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ValueSpecification-stringValue" name="stringValue" bodyCondition="ValueSpecification-stringValue-spec" class="ValueSpecification" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-stringValue-_ownedComment.0" annotatedElement="ValueSpecification-stringValue">
            <body>The query stringValue() gives a single String value when one can be computed.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecification-stringValue-spec" name="spec" constrainedElement="ValueSpecification-stringValue" context="ValueSpecification-stringValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-stringValue-spec-_specification">
              <language>OCL</language>
              <body>result = (null)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-stringValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-stringValue-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ValueSpecification-unlimitedValue" name="unlimitedValue" bodyCondition="ValueSpecification-unlimitedValue-spec" class="ValueSpecification" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecification-unlimitedValue-_ownedComment.0" annotatedElement="ValueSpecification-unlimitedValue">
            <body>The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecification-unlimitedValue-spec" name="spec" constrainedElement="ValueSpecification-unlimitedValue" context="ValueSpecification-unlimitedValue">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-unlimitedValue-spec-_specification">
              <language>OCL</language>
              <body>result = (null)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ValueSpecification-unlimitedValue-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-unlimitedValue-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_event_timeObservation" name="A_event_timeObservation" memberEnd="TimeObservation-event A_event_timeObservation-timeObservation">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_event_timeObservation-timeObservation" name="timeObservation" type="TimeObservation" owningAssociation="A_event_timeObservation" association="A_event_timeObservation">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_event_timeObservation-timeObservation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_event_timeObservation-timeObservation-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_max_timeInterval" name="A_max_timeInterval" memberEnd="TimeInterval-max A_max_timeInterval-timeInterval">
        <generalization xmi:type="uml:Generalization" xmi:id="A_max_timeInterval-_generalization.0" general="A_max_interval" specific="A_max_timeInterval"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_max_timeInterval-timeInterval" name="timeInterval" type="TimeInterval" owningAssociation="A_max_timeInterval" redefinedProperty="A_max_interval-interval" association="A_max_timeInterval">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_max_timeInterval-timeInterval-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_max_timeInterval-timeInterval-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_min_timeInterval" name="A_min_timeInterval" memberEnd="TimeInterval-min A_min_timeInterval-timeInterval">
        <generalization xmi:type="uml:Generalization" xmi:id="A_min_timeInterval-_generalization.0" general="A_min_interval" specific="A_min_timeInterval"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_min_timeInterval-timeInterval" name="timeInterval" type="TimeInterval" owningAssociation="A_min_timeInterval" redefinedProperty="A_min_interval-interval" association="A_min_timeInterval">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_min_timeInterval-timeInterval-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_min_timeInterval-timeInterval-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_expr_timeExpression" name="A_expr_timeExpression" memberEnd="TimeExpression-expr A_expr_timeExpression-timeExpression">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_expr_timeExpression-timeExpression" name="timeExpression" type="TimeExpression" owningAssociation="A_expr_timeExpression" subsettedProperty="Element-owner" association="A_expr_timeExpression">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_expr_timeExpression-timeExpression-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_observation_timeExpression" name="A_observation_timeExpression" memberEnd="TimeExpression-observation A_observation_timeExpression-timeExpression">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_observation_timeExpression-timeExpression" name="timeExpression" type="TimeExpression" owningAssociation="A_observation_timeExpression" association="A_observation_timeExpression">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_observation_timeExpression-timeExpression-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_specification_timeConstraint" name="A_specification_timeConstraint" memberEnd="TimeConstraint-specification A_specification_timeConstraint-timeConstraint">
        <generalization xmi:type="uml:Generalization" xmi:id="A_specification_timeConstraint-_generalization.0" general="A_specification_intervalConstraint" specific="A_specification_timeConstraint"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_specification_timeConstraint-timeConstraint" name="timeConstraint" type="TimeConstraint" owningAssociation="A_specification_timeConstraint" redefinedProperty="A_specification_intervalConstraint-intervalConstraint" association="A_specification_timeConstraint">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_timeConstraint-timeConstraint-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_subExpression_owningExpression" name="A_subExpression_owningExpression" memberEnd="StringExpression-subExpression StringExpression-owningExpression"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_opaqueExpression" name="A_result_opaqueExpression" isDerived="true" memberEnd="OpaqueExpression-result A_result_opaqueExpression-opaqueExpression">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_opaqueExpression-opaqueExpression" name="opaqueExpression" type="OpaqueExpression" owningAssociation="A_result_opaqueExpression" association="A_result_opaqueExpression">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_opaqueExpression-opaqueExpression-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_result_opaqueExpression-opaqueExpression-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_behavior_opaqueExpression" name="A_behavior_opaqueExpression" memberEnd="OpaqueExpression-behavior A_behavior_opaqueExpression-opaqueExpression">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_behavior_opaqueExpression-opaqueExpression" name="opaqueExpression" type="OpaqueExpression" owningAssociation="A_behavior_opaqueExpression" association="A_behavior_opaqueExpression">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_behavior_opaqueExpression-opaqueExpression-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_behavior_opaqueExpression-opaqueExpression-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_specification_intervalConstraint" name="A_specification_intervalConstraint" memberEnd="IntervalConstraint-specification A_specification_intervalConstraint-intervalConstraint">
        <generalization xmi:type="uml:Generalization" xmi:id="A_specification_intervalConstraint-_generalization.0" general="A_specification_owningConstraint" specific="A_specification_intervalConstraint"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_specification_intervalConstraint-intervalConstraint" name="intervalConstraint" type="IntervalConstraint" owningAssociation="A_specification_intervalConstraint" redefinedProperty="A_specification_owningConstraint-owningConstraint" association="A_specification_intervalConstraint">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_intervalConstraint-intervalConstraint-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_max_interval" name="A_max_interval" memberEnd="Interval-max A_max_interval-interval">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_max_interval-interval" name="interval" type="Interval" owningAssociation="A_max_interval" association="A_max_interval">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_max_interval-interval-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_max_interval-interval-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_min_interval" name="A_min_interval" memberEnd="Interval-min A_min_interval-interval">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_min_interval-interval" name="interval" type="Interval" owningAssociation="A_min_interval" association="A_min_interval">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_min_interval-interval-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_min_interval-interval-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_operand_expression" name="A_operand_expression" memberEnd="Expression-operand A_operand_expression-expression">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_operand_expression-expression" name="expression" type="Expression" owningAssociation="A_operand_expression" subsettedProperty="Element-owner" association="A_operand_expression">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_operand_expression-expression-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_event_durationObservation" name="A_event_durationObservation" memberEnd="DurationObservation-event A_event_durationObservation-durationObservation">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_event_durationObservation-durationObservation" name="durationObservation" type="DurationObservation" owningAssociation="A_event_durationObservation" association="A_event_durationObservation">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_event_durationObservation-durationObservation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_event_durationObservation-durationObservation-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_max_durationInterval" name="A_max_durationInterval" memberEnd="DurationInterval-max A_max_durationInterval-durationInterval">
        <generalization xmi:type="uml:Generalization" xmi:id="A_max_durationInterval-_generalization.0" general="A_max_interval" specific="A_max_durationInterval"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_max_durationInterval-durationInterval" name="durationInterval" type="DurationInterval" owningAssociation="A_max_durationInterval" redefinedProperty="A_max_interval-interval" association="A_max_durationInterval">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_max_durationInterval-durationInterval-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_max_durationInterval-durationInterval-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_min_durationInterval" name="A_min_durationInterval" memberEnd="DurationInterval-min A_min_durationInterval-durationInterval">
        <generalization xmi:type="uml:Generalization" xmi:id="A_min_durationInterval-_generalization.0" general="A_min_interval" specific="A_min_durationInterval"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_min_durationInterval-durationInterval" name="durationInterval" type="DurationInterval" owningAssociation="A_min_durationInterval" redefinedProperty="A_min_interval-interval" association="A_min_durationInterval">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_min_durationInterval-durationInterval-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_min_durationInterval-durationInterval-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_specification_durationConstraint" name="A_specification_durationConstraint" memberEnd="DurationConstraint-specification A_specification_durationConstraint-durationConstraint">
        <generalization xmi:type="uml:Generalization" xmi:id="A_specification_durationConstraint-_generalization.0" general="A_specification_intervalConstraint" specific="A_specification_durationConstraint"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_specification_durationConstraint-durationConstraint" name="durationConstraint" type="DurationConstraint" owningAssociation="A_specification_durationConstraint" redefinedProperty="A_specification_intervalConstraint-intervalConstraint" association="A_specification_durationConstraint">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_durationConstraint-durationConstraint-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_expr_duration" name="A_expr_duration" memberEnd="Duration-expr A_expr_duration-duration">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_expr_duration-duration" name="duration" type="Duration" owningAssociation="A_expr_duration" subsettedProperty="Element-owner" association="A_expr_duration">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_expr_duration-duration-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_observation_duration" name="A_observation_duration" memberEnd="Duration-observation A_observation_duration-duration">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_observation_duration-duration" name="duration" type="Duration" owningAssociation="A_observation_duration" association="A_observation_duration">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_observation_duration-duration-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="UseCases" name="UseCases">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="StructuredClassifiers" importingNamespace="UseCases"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="CommonBehavior" importingNamespace="UseCases"/>
      <packagedElement xmi:type="uml:Class" xmi:id="Actor" name="Actor">
        <ownedComment xmi:type="uml:Comment" xmi:id="Actor-_ownedComment.0" annotatedElement="Actor">
          <body>An Actor specifies a role played by a user or any other system that interacts with the subject.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Actor-associations" name="associations" constrainedElement="Actor" context="Actor">
          <ownedComment xmi:type="uml:Comment" xmi:id="Actor-associations-_ownedComment.0" annotatedElement="Actor-associations">
            <body>An Actor can only have Associations to UseCases, Components, and Classes. Furthermore these Associations must be binary.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Actor-associations-_specification">
            <language>OCL</language>
            <body>Association.allInstances()->forAll( a |
  a.memberEnd->collect(type)->includes(self) implies
  (
    a.memberEnd->size() = 2 and
    let actorEnd : Property = a.memberEnd->any(type = self) in
      actorEnd.opposite.class.oclIsKindOf(UseCase) or
      ( actorEnd.opposite.class.oclIsKindOf(Class) and not
         actorEnd.opposite.class.oclIsKindOf(Behavior))
      )
  )</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Actor-must_have_name" name="must_have_name" constrainedElement="Actor" context="Actor">
          <ownedComment xmi:type="uml:Comment" xmi:id="Actor-must_have_name-_ownedComment.0" annotatedElement="Actor-must_have_name">
            <body>An Actor must have a name.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Actor-must_have_name-_specification">
            <language>OCL</language>
            <body>name->notEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Actor-_generalization.0" general="BehavioredClassifier" specific="Actor"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Extend" name="Extend">
        <ownedComment xmi:type="uml:Comment" xmi:id="Extend-_ownedComment.0" annotatedElement="Extend">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Extend-extension_points" name="extension_points" constrainedElement="Extend" context="Extend">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extend-extension_points-_ownedComment.0" annotatedElement="Extend-extension_points">
            <body>The ExtensionPoints referenced by the Extend relationship must belong to the UseCase that is being extended.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Extend-extension_points-_specification">
            <language>OCL</language>
            <body>extensionLocation->forAll (xp | extendedCase.extensionPoint->includes(xp))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Extend-_generalization.0" general="NamedElement" specific="Extend"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Extend-_generalization.1" general="DirectedRelationship" specific="Extend"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Extend-condition" name="condition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_condition_extend">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extend-condition-_ownedComment.0" annotatedElement="Extend-condition">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Extend-condition-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Extend-extendedCase" name="extendedCase" type="UseCase" subsettedProperty="DirectedRelationship-target" association="A_extendedCase_extend">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extend-extendedCase-_ownedComment.0" annotatedElement="Extend-extendedCase">
            <body>The UseCase that is being extended.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Extend-extension" name="extension" type="UseCase" subsettedProperty="DirectedRelationship-source NamedElement-namespace" association="A_extend_extension">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extend-extension-_ownedComment.0" annotatedElement="Extend-extension">
            <body>The UseCase that represents the extension and owns the Extend relationship.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Extend-extensionLocation" name="extensionLocation" type="ExtensionPoint" isOrdered="true" association="A_extensionLocation_extension">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extend-extensionLocation-_ownedComment.0" annotatedElement="Extend-extensionLocation">
            <body>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.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Extend-extensionLocation-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExtensionPoint" name="ExtensionPoint">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionPoint-_ownedComment.0" annotatedElement="ExtensionPoint">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExtensionPoint-must_have_name" name="must_have_name" constrainedElement="ExtensionPoint" context="ExtensionPoint">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionPoint-must_have_name-_ownedComment.0" annotatedElement="ExtensionPoint-must_have_name">
            <body>An ExtensionPoint must have a name.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExtensionPoint-must_have_name-_specification">
            <language>OCL</language>
            <body>name->notEmpty ()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ExtensionPoint-_generalization.0" general="RedefinableElement" specific="ExtensionPoint"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExtensionPoint-useCase" name="useCase" type="UseCase" subsettedProperty="NamedElement-namespace" association="A_extensionPoint_useCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionPoint-useCase-_ownedComment.0" annotatedElement="ExtensionPoint-useCase">
            <body>The UseCase that owns this ExtensionPoint.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Include" name="Include">
        <ownedComment xmi:type="uml:Comment" xmi:id="Include-_ownedComment.0" annotatedElement="Include">
          <body>An Include relationship specifies that a UseCase contains the behavior defined in another UseCase.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Include-_generalization.0" general="DirectedRelationship" specific="Include"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Include-_generalization.1" general="NamedElement" specific="Include"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Include-addition" name="addition" type="UseCase" subsettedProperty="DirectedRelationship-target" association="A_addition_include">
          <ownedComment xmi:type="uml:Comment" xmi:id="Include-addition-_ownedComment.0" annotatedElement="Include-addition">
            <body>The UseCase that is to be included.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Include-includingCase" name="includingCase" type="UseCase" subsettedProperty="DirectedRelationship-source NamedElement-namespace" association="A_include_includingCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="Include-includingCase-_ownedComment.0" annotatedElement="Include-includingCase">
            <body>The UseCase which includes the addition and owns the Include relationship.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="UseCase" name="UseCase">
        <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-_ownedComment.0" annotatedElement="UseCase">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UseCase-binary_associations" name="binary_associations" constrainedElement="UseCase" context="UseCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-binary_associations-_ownedComment.0" annotatedElement="UseCase-binary_associations">
            <body>UseCases can only be involved in binary Associations.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-binary_associations-_specification">
            <language>OCL</language>
            <body>Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies a.memberEnd->size() = 2)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UseCase-no_association_to_use_case" name="no_association_to_use_case" constrainedElement="UseCase" context="UseCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-no_association_to_use_case-_ownedComment.0" annotatedElement="UseCase-no_association_to_use_case">
            <body>UseCases cannot have Associations to UseCases specifying the same subject.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-no_association_to_use_case-_specification">
            <language>OCL</language>
            <body>Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies &#xD;
   (&#xD;
   let usecases: Set(UseCase) = a.memberEnd.type->select(oclIsKindOf(UseCase))->collect(oclAsType(UseCase))->asSet() in&#xD;
   usecases->size() > 1 implies usecases->collect(subject)->size() > 1&#xD;
   )&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UseCase-cannot_include_self" name="cannot_include_self" constrainedElement="UseCase" context="UseCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-cannot_include_self-_ownedComment.0" annotatedElement="UseCase-cannot_include_self">
            <body>A UseCase cannot include UseCases that directly or indirectly include it.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-cannot_include_self-_specification">
            <language>OCL</language>
            <body>not allIncludedUseCases()->includes(self)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UseCase-must_have_name" name="must_have_name" constrainedElement="UseCase" context="UseCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-must_have_name-_ownedComment.0" annotatedElement="UseCase-must_have_name">
            <body>A UseCase must have a name.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-must_have_name-_specification">
            <language>OCL</language>
            <body>name -> notEmpty ()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="UseCase-_generalization.0" general="BehavioredClassifier" specific="UseCase"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="UseCase-extend" name="extend" type="Extend" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Namespace-ownedMember" association="A_extend_extension">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-extend-_ownedComment.0" annotatedElement="UseCase-extend">
            <body>The Extend relationships owned by this UseCase.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-extend-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-extend-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="UseCase-extensionPoint" name="extensionPoint" type="ExtensionPoint" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_extensionPoint_useCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-extensionPoint-_ownedComment.0" annotatedElement="UseCase-extensionPoint">
            <body>The ExtensionPoints owned by this UseCase.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-extensionPoint-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-extensionPoint-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="UseCase-include" name="include" type="Include" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Namespace-ownedMember" association="A_include_includingCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-include-_ownedComment.0" annotatedElement="UseCase-include">
            <body>The Include relationships owned by this UseCase.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-include-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-include-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="UseCase-subject" name="subject" type="Classifier" association="A_subject_useCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-subject-_ownedComment.0" annotatedElement="UseCase-subject">
            <body>The subjects to which this UseCase applies. Each subject or its parts realize all the UseCases that apply to it.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-subject-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-subject-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="UseCase-allIncludedUseCases" name="allIncludedUseCases" bodyCondition="UseCase-allIncludedUseCases-spec" class="UseCase" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="UseCase-allIncludedUseCases-_ownedComment.0" annotatedElement="UseCase-allIncludedUseCases">
            <body>The query allIncludedUseCases() returns the transitive closure of all UseCases (directly or indirectly) included by this UseCase.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="UseCase-allIncludedUseCases-spec" name="spec" constrainedElement="UseCase-allIncludedUseCases" context="UseCase-allIncludedUseCases">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-allIncludedUseCases-spec-_specification">
              <language>OCL</language>
              <body>result = (self.include.addition->union(self.include.addition->collect(uc | uc.allIncludedUseCases()))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="UseCase-allIncludedUseCases-result" name="result" type="UseCase" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-allIncludedUseCases-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-allIncludedUseCases-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_extensionPoint_useCase" name="A_extensionPoint_useCase" memberEnd="UseCase-extensionPoint ExtensionPoint-useCase"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_include_includingCase" name="A_include_includingCase" memberEnd="UseCase-include Include-includingCase"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_subject_useCase" name="A_subject_useCase" memberEnd="UseCase-subject Classifier-useCase"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_extend_extension" name="A_extend_extension" memberEnd="UseCase-extend Extend-extension"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_addition_include" name="A_addition_include" memberEnd="Include-addition A_addition_include-include">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_addition_include-include" name="include" type="Include" owningAssociation="A_addition_include" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_addition_include">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_addition_include-include-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_addition_include-include-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_extensionLocation_extension" name="A_extensionLocation_extension" memberEnd="Extend-extensionLocation A_extensionLocation_extension-extension">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_extensionLocation_extension-extension" name="extension" type="Extend" owningAssociation="A_extensionLocation_extension" association="A_extensionLocation_extension">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extensionLocation_extension-extension-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extensionLocation_extension-extension-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_condition_extend" name="A_condition_extend" memberEnd="Extend-condition A_condition_extend-extend">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_condition_extend-extend" name="extend" type="Extend" owningAssociation="A_condition_extend" subsettedProperty="Element-owner" association="A_condition_extend">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_condition_extend-extend-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_extendedCase_extend" name="A_extendedCase_extend" memberEnd="Extend-extendedCase A_extendedCase_extend-extend">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_extendedCase_extend-extend" name="extend" type="Extend" owningAssociation="A_extendedCase_extend" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_extendedCase_extend">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extendedCase_extend-extend-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extendedCase_extend-extend-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="StructuredClassifiers" name="StructuredClassifiers">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="Classification" importingNamespace="StructuredClassifiers"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="Packages" importingNamespace="StructuredClassifiers"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.2" importedPackage="SimpleClassifiers" importingNamespace="StructuredClassifiers"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.3" importedPackage="CommonStructure" importingNamespace="StructuredClassifiers"/>
      <packagedElement xmi:type="uml:Class" xmi:id="Association" name="Association">
        <ownedComment xmi:type="uml:Comment" xmi:id="Association-_ownedComment.0" annotatedElement="Association">
          <body>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.&#xD;
</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Association-specialized_end_number" name="specialized_end_number" constrainedElement="Association" context="Association">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-specialized_end_number-_ownedComment.0" annotatedElement="Association-specialized_end_number">
            <body>An Association specializing another Association has the same number of ends as the other Association.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-specialized_end_number-_specification">
            <language>OCL</language>
            <body>parents()->select(oclIsKindOf(Association)).oclAsType(Association)->forAll(p | p.memberEnd->size() = self.memberEnd->size())</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Association-specialized_end_types" name="specialized_end_types" constrainedElement="Association" context="Association">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-specialized_end_types-_ownedComment.0" annotatedElement="Association-specialized_end_types">
            <body>When an Association specializes another Association, every end of the specific Association corresponds to an end of the general Association, and the specific end reaches the same type or a subtype of the corresponding general end.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-specialized_end_types-_specification">
            <language>OCL</language>
            <body>Sequence{1..memberEnd->size()}->&#xD;
	forAll(i | general->select(oclIsKindOf(Association)).oclAsType(Association)->&#xD;
		forAll(ga | self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Association-binary_associations" name="binary_associations" constrainedElement="Association" context="Association">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-binary_associations-_ownedComment.0" annotatedElement="Association-binary_associations">
            <body>Only binary Associations can be aggregations.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-binary_associations-_specification">
            <language>OCL</language>
            <body>memberEnd->exists(aggregation &lt;> AggregationKind::none) implies (memberEnd->size() = 2 and memberEnd->exists(aggregation = AggregationKind::none))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Association-association_ends" name="association_ends" constrainedElement="Association" context="Association">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-association_ends-_ownedComment.0" annotatedElement="Association-association_ends">
            <body>Ends of Associations with more than two ends must be owned by the Association itself.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-association_ends-_specification">
            <language>OCL</language>
            <body>memberEnd->size() > 2 implies ownedEnd->includesAll(memberEnd)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Association-ends_must_be_typed" name="ends_must_be_typed" constrainedElement="Association" context="Association">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-ends_must_be_typed-_specification">
            <language>OCL</language>
            <body>memberEnd->forAll(type->notEmpty())</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Association-_generalization.0" general="Relationship" specific="Association"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Association-_generalization.1" general="Classifier" specific="Association"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Association-endType" name="endType" type="Type" isReadOnly="true" isDerived="true" subsettedProperty="Relationship-relatedElement" association="A_endType_association">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-endType-_ownedComment.0" annotatedElement="Association-endType">
            <body>The Classifiers that are used as types of the ends of the Association.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-endType-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Association-isDerived" name="isDerived">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-isDerived-_ownedComment.0" annotatedElement="Association-isDerived">
            <body>Specifies whether the Association is derived from other model elements such as other Associations.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Association-isDerived-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Association-memberEnd" name="memberEnd" type="Property" isOrdered="true" subsettedProperty="Namespace-member" association="A_memberEnd_association">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-memberEnd-_ownedComment.0" annotatedElement="Association-memberEnd">
            <body>Each end represents participation of instances of the Classifier connected to the end in links of the Association.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Association-memberEnd-_lowerValue" value="2"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-memberEnd-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Association-navigableOwnedEnd" name="navigableOwnedEnd" type="Property" subsettedProperty="Association-ownedEnd" association="A_navigableOwnedEnd_association">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-navigableOwnedEnd-_ownedComment.0" annotatedElement="Association-navigableOwnedEnd">
            <body>The navigable ends that are owned by the Association itself.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Association-navigableOwnedEnd-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-navigableOwnedEnd-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Association-ownedEnd" name="ownedEnd" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Association-memberEnd Classifier-feature Namespace-ownedMember" association="A_ownedEnd_owningAssociation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-ownedEnd-_ownedComment.0" annotatedElement="Association-ownedEnd">
            <body>The ends that are owned by the Association itself.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Association-ownedEnd-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-ownedEnd-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Association-endType.1" name="endType" bodyCondition="Association-endType.1-spec" class="Association" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Association-endType.1-_ownedComment.0" annotatedElement="Association-endType.1">
            <body>endType is derived from the types of the member ends.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Association-endType.1-spec" name="spec" constrainedElement="Association-endType.1 Association-endType" context="Association-endType.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-endType.1-spec-_specification">
              <language>OCL</language>
              <body>result = (memberEnd->collect(type)->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Association-endType.1-result" name="result" type="Type" direction="return">
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-endType.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="AssociationClass" name="AssociationClass">
        <ownedComment xmi:type="uml:Comment" xmi:id="AssociationClass-_ownedComment.0" annotatedElement="AssociationClass">
          <body>A model element that has both Association and Class properties. An AssociationClass can be seen as an Association that also has Class properties, or as a Class that also has Association properties. It not only connects a set of Classifiers but also defines a set of Features that belong to the Association itself and not to any of the associated Classifiers.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AssociationClass-cannot_be_defined" name="cannot_be_defined" constrainedElement="AssociationClass" context="AssociationClass">
          <ownedComment xmi:type="uml:Comment" xmi:id="AssociationClass-cannot_be_defined-_ownedComment.0" annotatedElement="AssociationClass-cannot_be_defined">
            <body>An AssociationClass cannot be defined between itself and something else.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AssociationClass-cannot_be_defined-_specification">
            <language>OCL</language>
            <body>self.endType()->excludes(self) and self.endType()->collect(et|et.oclAsType(Classifier).allParents())->flatten()->excludes(self)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AssociationClass-disjoint_attributes_ends" name="disjoint_attributes_ends" constrainedElement="AssociationClass" context="AssociationClass">
          <ownedComment xmi:type="uml:Comment" xmi:id="AssociationClass-disjoint_attributes_ends-_ownedComment.0" annotatedElement="AssociationClass-disjoint_attributes_ends">
            <body>The owned attributes and owned ends of an AssociationClass are disjoint.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AssociationClass-disjoint_attributes_ends-_specification">
            <language>OCL</language>
            <body>ownedAttribute->intersection(ownedEnd)->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="AssociationClass-_generalization.0" general="Class" specific="AssociationClass"/>
        <generalization xmi:type="uml:Generalization" xmi:id="AssociationClass-_generalization.1" general="Association" specific="AssociationClass"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Class" name="Class">
        <ownedComment xmi:type="uml:Comment" xmi:id="Class-_ownedComment.0" annotatedElement="Class">
          <body>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.&#xD;
</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Class-passive_class" name="passive_class" constrainedElement="Class" context="Class">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-passive_class-_ownedComment.0" annotatedElement="Class-passive_class">
            <body>Only an active Class may own Receptions and have a classifierBehavior.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Class-passive_class-_specification">
            <language>OCL</language>
            <body>not isActive implies (ownedReception->isEmpty() and classifierBehavior = null)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Class-_generalization.0" general="BehavioredClassifier" specific="Class"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Class-_generalization.1" general="EncapsulatedClassifier" specific="Class"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Class-extension" name="extension" type="Extension" isReadOnly="true" isDerived="true" association="A_extension_metaclass">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-extension-_ownedComment.0" annotatedElement="Class-extension">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-extension-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-extension-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Class-isAbstract" name="isAbstract" redefinedProperty="Classifier-isAbstract">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-isAbstract-_ownedComment.0" annotatedElement="Class-isAbstract">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Class-isAbstract-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Class-isActive" name="isActive">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-isActive-_ownedComment.0" annotatedElement="Class-isActive">
            <body>Determines whether an object specified by this Class is active or not. If true, then the owning Class is referred to as an active Class. If false, then such a Class is referred to as a passive Class.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Class-isActive-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Class-nestedClassifier" name="nestedClassifier" type="Classifier" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Namespace-ownedMember" association="A_nestedClassifier_nestingClass">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-nestedClassifier-_ownedComment.0" annotatedElement="Class-nestedClassifier">
            <body>The Classifiers owned by the Class that are not ownedBehaviors.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-nestedClassifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-nestedClassifier-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Class-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" redefinedProperty="StructuredClassifier-ownedAttribute" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_class">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-ownedAttribute-_ownedComment.0" annotatedElement="Class-ownedAttribute">
            <body>The attributes (i.e., the Properties) owned by the Class.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-ownedAttribute-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-ownedAttribute-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Class-ownedOperation" name="ownedOperation" type="Operation" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedOperation_class">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-ownedOperation-_ownedComment.0" annotatedElement="Class-ownedOperation">
            <body>The Operations owned by the Class.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-ownedOperation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-ownedOperation-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Class-ownedReception" name="ownedReception" type="Reception" aggregation="composite" subsettedProperty="Classifier-feature Namespace-ownedMember" association="A_ownedReception_class">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-ownedReception-_ownedComment.0" annotatedElement="Class-ownedReception">
            <body>The Receptions owned by the Class.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-ownedReception-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-ownedReception-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Class-superClass" name="superClass" type="Class" isDerived="true" redefinedProperty="Classifier-general" association="A_superClass_class">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-superClass-_ownedComment.0" annotatedElement="Class-superClass">
            <body>The superclasses of a Class, derived from its Generalizations.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-superClass-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-superClass-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Class-extension.1" name="extension" bodyCondition="Class-extension.1-spec" class="Class" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-extension.1-_ownedComment.0" annotatedElement="Class-extension.1">
            <body>Derivation for Class::/extension : Extension</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Class-extension.1-spec" name="spec" constrainedElement="Class-extension.1 Class-extension" context="Class-extension.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Class-extension.1-spec-_specification">
              <language>OCL</language>
              <body>result = (Extension.allInstances()->select(ext | &#xD;
  let endTypes : Sequence(Classifier) = ext.memberEnd->collect(type.oclAsType(Classifier)) in&#xD;
  endTypes->includes(self) or endTypes.allParents()->includes(self) ))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Class-extension.1-result" name="result" type="Extension" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-extension.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-extension.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Class-superClass.1" name="superClass" bodyCondition="Class-superClass.1-spec" class="Class" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Class-superClass.1-_ownedComment.0" annotatedElement="Class-superClass.1">
            <body>Derivation for Class::/superClass : Class</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Class-superClass.1-spec" name="spec" constrainedElement="Class-superClass.1 Class-superClass" context="Class-superClass.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Class-superClass.1-spec-_specification">
              <language>OCL</language>
              <body>result = (self.general()->select(oclIsKindOf(Class))->collect(oclAsType(Class))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Class-superClass.1-result" name="result" type="Class" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-superClass.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-superClass.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Collaboration" name="Collaboration">
        <ownedComment xmi:type="uml:Comment" xmi:id="Collaboration-_ownedComment.0" annotatedElement="Collaboration">
          <body>A Collaboration describes a structure of collaborating elements (roles), each performing a specialized function, which collectively accomplish some desired functionality. </body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Collaboration-_generalization.1" general="StructuredClassifier" specific="Collaboration"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Collaboration-_generalization.0" general="BehavioredClassifier" specific="Collaboration"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Collaboration-collaborationRole" name="collaborationRole" type="ConnectableElement" subsettedProperty="StructuredClassifier-role" association="A_collaborationRole_collaboration">
          <ownedComment xmi:type="uml:Comment" xmi:id="Collaboration-collaborationRole-_ownedComment.0" annotatedElement="Collaboration-collaborationRole">
            <body>Represents the participants in the Collaboration.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Collaboration-collaborationRole-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Collaboration-collaborationRole-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CollaborationUse" name="CollaborationUse">
        <ownedComment xmi:type="uml:Comment" xmi:id="CollaborationUse-_ownedComment.0" annotatedElement="CollaborationUse">
          <body>A CollaborationUse is used to specify the application of a pattern specified by a Collaboration to a specific situation.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CollaborationUse-client_elements" name="client_elements" constrainedElement="CollaborationUse" context="CollaborationUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="CollaborationUse-client_elements-_ownedComment.0" annotatedElement="CollaborationUse-client_elements">
            <body>All the client elements of a roleBinding are in one Classifier and all supplier elements of a roleBinding are in one Collaboration.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CollaborationUse-client_elements-_specification">
            <language>OCL</language>
            <body>roleBinding->collect(client)->forAll(ne1, ne2 |&#xD;
  ne1.oclIsKindOf(ConnectableElement) and ne2.oclIsKindOf(ConnectableElement) and&#xD;
    let ce1 : ConnectableElement = ne1.oclAsType(ConnectableElement), ce2 : ConnectableElement = ne2.oclAsType(ConnectableElement) in&#xD;
      ce1.structuredClassifier = ce2.structuredClassifier)&#xD;
and&#xD;
  roleBinding->collect(supplier)->forAll(ne1, ne2 |&#xD;
  ne1.oclIsKindOf(ConnectableElement) and ne2.oclIsKindOf(ConnectableElement) and&#xD;
    let ce1 : ConnectableElement = ne1.oclAsType(ConnectableElement), ce2 : ConnectableElement = ne2.oclAsType(ConnectableElement) in&#xD;
      ce1.collaboration = ce2.collaboration)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CollaborationUse-every_role" name="every_role" constrainedElement="CollaborationUse" context="CollaborationUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="CollaborationUse-every_role-_ownedComment.0" annotatedElement="CollaborationUse-every_role">
            <body>Every collaborationRole in the Collaboration is bound within the CollaborationUse.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CollaborationUse-every_role-_specification">
            <language>OCL</language>
            <body>type.collaborationRole->forAll(role | roleBinding->exists(rb | rb.supplier->includes(role)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CollaborationUse-connectors" name="connectors" constrainedElement="CollaborationUse" context="CollaborationUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="CollaborationUse-connectors-_ownedComment.0" annotatedElement="CollaborationUse-connectors">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CollaborationUse-connectors-_specification">
            <language>OCL</language>
            <body>type.ownedConnector->forAll(connector |&#xD;
  let rolesConnectedInCollab : Set(ConnectableElement) = connector.end.role->asSet(),&#xD;
        relevantBindings : Set(Dependency) = roleBinding->select(rb | rb.supplier->intersection(rolesConnectedInCollab)->notEmpty()),&#xD;
        boundRoles : Set(ConnectableElement) = relevantBindings->collect(client.oclAsType(ConnectableElement))->asSet(),&#xD;
        contextClassifier : StructuredClassifier = boundRoles->any(true).structuredClassifier->any(true) in&#xD;
          contextClassifier.ownedConnector->exists( correspondingConnector | &#xD;
              correspondingConnector.end.role->forAll( role | boundRoles->includes(role) )&#xD;
              and (connector.type->notEmpty() and correspondingConnector.type->notEmpty()) implies connector.type->forAll(conformsTo(correspondingConnector.type)) )&#xD;
)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CollaborationUse-_generalization.0" general="NamedElement" specific="CollaborationUse"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CollaborationUse-roleBinding" name="roleBinding" type="Dependency" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_roleBinding_collaborationUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="CollaborationUse-roleBinding-_ownedComment.0" annotatedElement="CollaborationUse-roleBinding">
            <body>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).</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CollaborationUse-roleBinding-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CollaborationUse-roleBinding-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CollaborationUse-type" name="type" type="Collaboration" association="A_type_collaborationUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="CollaborationUse-type-_ownedComment.0" annotatedElement="CollaborationUse-type">
            <body>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.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Component" name="Component">
        <ownedComment xmi:type="uml:Comment" xmi:id="Component-_ownedComment.0" annotatedElement="Component">
          <body>A Component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.  </body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Component-no_nested_classifiers" name="no_nested_classifiers" constrainedElement="Component" context="Component">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-no_nested_classifiers-_ownedComment.0" annotatedElement="Component-no_nested_classifiers">
            <body>A Component cannot nest Classifiers.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Component-no_nested_classifiers-_specification">
            <language>OCL</language>
            <body>nestedClassifier->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Component-no_packaged_elements" name="no_packaged_elements" constrainedElement="Component" context="Component">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-no_packaged_elements-_ownedComment.0" annotatedElement="Component-no_packaged_elements">
            <body>A Component nested in a Class cannot have any packaged elements.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Component-no_packaged_elements-_specification">
            <language>OCL</language>
            <body>nestingClass &lt;> null implies packagedElement->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Component-_generalization.0" general="Class" specific="Component"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Component-isIndirectlyInstantiated" name="isIndirectlyInstantiated">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-isIndirectlyInstantiated-_ownedComment.0" annotatedElement="Component-isIndirectlyInstantiated">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Component-isIndirectlyInstantiated-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Component-packagedElement" name="packagedElement" type="PackageableElement" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_packagedElement_component">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-packagedElement-_ownedComment.0" annotatedElement="Component-packagedElement">
            <body>The set of PackageableElements that a Component owns. In the namespace of a Component, all model elements that are involved in or related to its definition may be owned or imported explicitly. These may include e.g., Classes, Interfaces, Components, Packages, UseCases, Dependencies (e.g., mappings), and Artifacts.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-packagedElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-packagedElement-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Component-provided" name="provided" type="Interface" isReadOnly="true" isDerived="true" association="A_provided_component">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-provided-_ownedComment.0" annotatedElement="Component-provided">
            <body>The Interfaces that the Component exposes to its environment. These Interfaces may be Realized by the Component or any of its realizingClassifiers, or they may be the Interfaces that are provided by its public Ports.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-provided-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-provided-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Component-realization" name="realization" type="ComponentRealization" aggregation="composite" subsettedProperty="A_supplier_supplierDependency-supplierDependency Element-ownedElement" association="A_realization_abstraction_component">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-realization-_ownedComment.0" annotatedElement="Component-realization">
            <body>The set of Realizations owned by the Component. Realizations reference the Classifiers of which the Component is an abstraction; i.e., that realize its behavior.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-realization-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-realization-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Component-required" name="required" type="Interface" isReadOnly="true" isDerived="true" association="A_required_component">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-required-_ownedComment.0" annotatedElement="Component-required">
            <body>The Interfaces that the Component requires from other Components in its environment in order to be able to offer its full set of provided functionality. These Interfaces may be used by the Component or any of its realizingClassifiers, or they may be the Interfaces that are required by its public Ports.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-required-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-required-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Component-provided.1" name="provided" bodyCondition="Component-provided.1-spec" class="Component" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-provided.1-_ownedComment.0" annotatedElement="Component-provided.1">
            <body>Derivation for Component::/provided</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Component-provided.1-spec" name="spec" constrainedElement="Component-provided.1 Component-provided" context="Component-provided.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Component-provided.1-spec-_specification">
              <language>OCL</language>
              <body>result = (let 	ris : Set(Interface) = allRealizedInterfaces(),&#xD;
        realizingClassifiers : Set(Classifier) =  self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(),&#xD;
        allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(),&#xD;
        realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allRealizedInterfaces())),&#xD;
        ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(),&#xD;
        providedByPorts : Set(Interface) = ports.provided->asSet()&#xD;
in     ris->union(realizingClassifierInterfaces) ->union(providedByPorts)->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Component-provided.1-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-provided.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-provided.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Component-required.1" name="required" bodyCondition="Component-required.1-spec" class="Component" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Component-required.1-_ownedComment.0" annotatedElement="Component-required.1">
            <body>Derivation for Component::/required</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Component-required.1-spec" name="spec" constrainedElement="Component-required.1 Component-required" context="Component-required.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Component-required.1-spec-_specification">
              <language>OCL</language>
              <body>result = (let 	uis : Set(Interface) = allUsedInterfaces(),&#xD;
        realizingClassifiers : Set(Classifier) = self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(),&#xD;
        allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(),&#xD;
        realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allUsedInterfaces())),&#xD;
        ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(),&#xD;
        usedByPorts : Set(Interface) = ports.required->asSet()&#xD;
in	    uis->union(realizingClassifierInterfaces)->union(usedByPorts)->asSet()&#xD;
)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Component-required.1-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-required.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-required.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ComponentRealization" name="ComponentRealization">
        <ownedComment xmi:type="uml:Comment" xmi:id="ComponentRealization-_ownedComment.0" annotatedElement="ComponentRealization">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ComponentRealization-_generalization.0" general="Realization" specific="ComponentRealization"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ComponentRealization-abstraction" name="abstraction" type="Component" subsettedProperty="Dependency-supplier Element-owner" association="A_realization_abstraction_component">
          <ownedComment xmi:type="uml:Comment" xmi:id="ComponentRealization-abstraction-_ownedComment.0" annotatedElement="ComponentRealization-abstraction">
            <body>The Component that owns this ComponentRealization and which is implemented by its realizing Classifiers.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ComponentRealization-abstraction-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ComponentRealization-realizingClassifier" name="realizingClassifier" type="Classifier" subsettedProperty="Dependency-client" association="A_realizingClassifier_componentRealization">
          <ownedComment xmi:type="uml:Comment" xmi:id="ComponentRealization-realizingClassifier-_ownedComment.0" annotatedElement="ComponentRealization-realizingClassifier">
            <body>The Classifiers that are involved in the implementation of the Component that owns this Realization.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ComponentRealization-realizingClassifier-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ConnectableElement" name="ConnectableElement" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ConnectableElement-_ownedComment.0" annotatedElement="ConnectableElement">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ConnectableElement-_generalization.1" general="TypedElement" specific="ConnectableElement"/>
        <generalization xmi:type="uml:Generalization" xmi:id="ConnectableElement-_generalization.0" general="ParameterableElement" specific="ConnectableElement"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectableElement-end" name="end" type="ConnectorEnd" isReadOnly="true" isDerived="true" association="A_end_role">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectableElement-end-_ownedComment.0" annotatedElement="ConnectableElement-end">
            <body>A set of ConnectorEnds that attach to this ConnectableElement.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectableElement-end-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectableElement-end-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectableElement-templateParameter" name="templateParameter" type="ConnectableElementTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_connectableElement_templateParameter_parameteredElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectableElement-templateParameter-_ownedComment.0" annotatedElement="ConnectableElement-templateParameter">
            <body>The ConnectableElementTemplateParameter for this ConnectableElement parameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectableElement-templateParameter-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ConnectableElement-end.1" name="end" bodyCondition="ConnectableElement-end.1-spec" class="ConnectableElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectableElement-end.1-_ownedComment.0" annotatedElement="ConnectableElement-end.1">
            <body>Derivation for ConnectableElement::/end : ConnectorEnd</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ConnectableElement-end.1-spec" name="spec" constrainedElement="ConnectableElement-end.1 ConnectableElement-end" context="ConnectableElement-end.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectableElement-end.1-spec-_specification">
              <language>OCL</language>
              <body>result = (ConnectorEnd.allInstances()->select(role = self))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ConnectableElement-end.1-result" name="result" type="ConnectorEnd" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectableElement-end.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectableElement-end.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ConnectableElementTemplateParameter" name="ConnectableElementTemplateParameter">
        <ownedComment xmi:type="uml:Comment" xmi:id="ConnectableElementTemplateParameter-_ownedComment.0" annotatedElement="ConnectableElementTemplateParameter">
          <body>A ConnectableElementTemplateParameter exposes a ConnectableElement as a formal parameter for a template.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ConnectableElementTemplateParameter-_generalization.0" general="TemplateParameter" specific="ConnectableElementTemplateParameter"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectableElementTemplateParameter-parameteredElement" name="parameteredElement" type="ConnectableElement" redefinedProperty="TemplateParameter-parameteredElement" association="A_connectableElement_templateParameter_parameteredElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectableElementTemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="ConnectableElementTemplateParameter-parameteredElement">
            <body>The ConnectableElement for this ConnectableElementTemplateParameter.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Connector" name="Connector">
        <ownedComment xmi:type="uml:Comment" xmi:id="Connector-_ownedComment.0" annotatedElement="Connector">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Connector-types" name="types" constrainedElement="Connector" context="Connector">
          <ownedComment xmi:type="uml:Comment" xmi:id="Connector-types-_ownedComment.0" annotatedElement="Connector-types">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Connector-types-_specification">
            <language>OCL</language>
            <body>type&lt;>null implies &#xD;
  let noOfEnds : Integer = end->size() in &#xD;
  (type.memberEnd->size() = noOfEnds) and Sequence{1..noOfEnds}->forAll(i | end->at(i).role.type.conformsTo(type.memberEnd->at(i).type))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Connector-roles" name="roles" constrainedElement="Connector" context="Connector">
          <ownedComment xmi:type="uml:Comment" xmi:id="Connector-roles-_ownedComment.0" annotatedElement="Connector-roles">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Connector-roles-_specification">
            <language>OCL</language>
            <body>structuredClassifier &lt;> null&#xD;
and&#xD;
  end->forAll( e | structuredClassifier.allRoles()->includes(e.role)&#xD;
or&#xD;
  e.role.oclIsKindOf(Port) and structuredClassifier.allRoles()->includes(e.partWithPort))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Connector-_generalization.0" general="Feature" specific="Connector"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Connector-contract" name="contract" type="Behavior" association="A_contract_connector">
          <ownedComment xmi:type="uml:Comment" xmi:id="Connector-contract-_ownedComment.0" annotatedElement="Connector-contract">
            <body>The set of Behaviors that specify the valid interaction patterns across the Connector.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Connector-contract-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Connector-contract-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Connector-end" name="end" type="ConnectorEnd" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_end_connector">
          <ownedComment xmi:type="uml:Comment" xmi:id="Connector-end-_ownedComment.0" annotatedElement="Connector-end">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Connector-end-_lowerValue" value="2"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Connector-end-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Connector-kind" name="kind" type="ConnectorKind" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Connector-kind-_ownedComment.0" annotatedElement="Connector-kind">
            <body>Indicates the kind of Connector. This is derived: a Connector with one or more ends connected to a Port which is not on a Part and which is not a behavior port is a delegation; otherwise it is an assembly.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Connector-redefinedConnector" name="redefinedConnector" type="Connector" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedConnector_connector">
          <ownedComment xmi:type="uml:Comment" xmi:id="Connector-redefinedConnector-_ownedComment.0" annotatedElement="Connector-redefinedConnector">
            <body>A Connector may be redefined when its containing Classifier is specialized. The redefining Connector may have a type that specializes the type of the redefined Connector. The types of the 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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Connector-redefinedConnector-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Connector-redefinedConnector-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Connector-type" name="type" type="Association" association="A_type_connector">
          <ownedComment xmi:type="uml:Comment" xmi:id="Connector-type-_ownedComment.0" annotatedElement="Connector-type">
            <body>An optional Association that classifies links corresponding to this Connector.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Connector-type-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Connector-kind.1" name="kind" bodyCondition="Connector-kind.1-spec" class="Connector" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Connector-kind.1-_ownedComment.0" annotatedElement="Connector-kind.1">
            <body>Derivation for Connector::/kind : ConnectorKind</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Connector-kind.1-spec" name="spec" constrainedElement="Connector-kind.1 Connector-kind" context="Connector-kind.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Connector-kind.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if end->exists(&#xD;
		role.oclIsKindOf(Port) &#xD;
		and partWithPort->isEmpty()&#xD;
		and not role.oclAsType(Port).isBehavior)&#xD;
then ConnectorKind::delegation &#xD;
else ConnectorKind::assembly &#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Connector-kind.1-result" name="result" type="ConnectorKind" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ConnectorEnd" name="ConnectorEnd">
        <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-_ownedComment.0" annotatedElement="ConnectorEnd">
          <body>A ConnectorEnd is an endpoint of a Connector, which attaches the Connector to a ConnectableElement.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConnectorEnd-role_and_part_with_port" name="role_and_part_with_port" constrainedElement="ConnectorEnd" context="ConnectorEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-role_and_part_with_port-_ownedComment.0" annotatedElement="ConnectorEnd-role_and_part_with_port">
            <body>If a ConnectorEnd references a partWithPort, then the role must be a Port that is defined or inherited by the type of the partWithPort.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-role_and_part_with_port-_specification">
            <language>OCL</language>
            <body>partWithPort->notEmpty() implies &#xD;
  (role.oclIsKindOf(Port) and partWithPort.type.oclAsType(Namespace).member->includes(role))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConnectorEnd-part_with_port_empty" name="part_with_port_empty" constrainedElement="ConnectorEnd" context="ConnectorEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-part_with_port_empty-_ownedComment.0" annotatedElement="ConnectorEnd-part_with_port_empty">
            <body>If a ConnectorEnd is attached to a Port of the containing Classifier, partWithPort will be empty.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-part_with_port_empty-_specification">
            <language>OCL</language>
            <body>(role.oclIsKindOf(Port) and role.owner = connector.owner) implies partWithPort->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConnectorEnd-multiplicity" name="multiplicity" constrainedElement="ConnectorEnd" context="ConnectorEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-multiplicity-_ownedComment.0" annotatedElement="ConnectorEnd-multiplicity">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-multiplicity-_specification">
            <language>OCL</language>
            <body>self.compatibleWith(definingEnd)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConnectorEnd-self_part_with_port" name="self_part_with_port" constrainedElement="ConnectorEnd" context="ConnectorEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-self_part_with_port-_ownedComment.0" annotatedElement="ConnectorEnd-self_part_with_port">
            <body>The Property held in self.partWithPort must not be a Port.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-self_part_with_port-_specification">
            <language>OCL</language>
            <body>partWithPort->notEmpty() implies not partWithPort.oclIsKindOf(Port)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ConnectorEnd-_generalization.0" general="MultiplicityElement" specific="ConnectorEnd"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectorEnd-definingEnd" name="definingEnd" type="Property" isReadOnly="true" isDerived="true" association="A_definingEnd_connectorEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-definingEnd-_ownedComment.0" annotatedElement="ConnectorEnd-definingEnd">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-definingEnd-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectorEnd-partWithPort" name="partWithPort" type="Property" association="A_partWithPort_connectorEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-partWithPort-_ownedComment.0" annotatedElement="ConnectorEnd-partWithPort">
            <body>Indicates the role of the internal structure of a Classifier with the Port to which the ConnectorEnd is attached.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-partWithPort-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectorEnd-role" name="role" type="ConnectableElement" association="A_end_role">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-role-_ownedComment.0" annotatedElement="ConnectorEnd-role">
            <body>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.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ConnectorEnd-definingEnd.1" name="definingEnd" bodyCondition="ConnectorEnd-definingEnd.1-spec" class="ConnectorEnd" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorEnd-definingEnd.1-_ownedComment.0" annotatedElement="ConnectorEnd-definingEnd.1">
            <body>Derivation for ConnectorEnd::/definingEnd : Property</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ConnectorEnd-definingEnd.1-spec" name="spec" constrainedElement="ConnectorEnd-definingEnd.1 ConnectorEnd-definingEnd" context="ConnectorEnd-definingEnd.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-definingEnd.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if connector.type = null &#xD;
then&#xD;
  null &#xD;
else&#xD;
  let index : Integer = connector.end->indexOf(self) in&#xD;
    connector.type.memberEnd->at(index)&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ConnectorEnd-definingEnd.1-result" name="result" type="Property" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-definingEnd.1-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="EncapsulatedClassifier" name="EncapsulatedClassifier" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="EncapsulatedClassifier-_ownedComment.0" annotatedElement="EncapsulatedClassifier">
          <body>An EncapsulatedClassifier may own Ports to specify typed interaction points.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="EncapsulatedClassifier-_generalization.0" general="StructuredClassifier" specific="EncapsulatedClassifier"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="EncapsulatedClassifier-ownedPort" name="ownedPort" type="Port" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="StructuredClassifier-ownedAttribute" association="A_ownedPort_encapsulatedClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="EncapsulatedClassifier-ownedPort-_ownedComment.0" annotatedElement="EncapsulatedClassifier-ownedPort">
            <body>The Ports owned by the EncapsulatedClassifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EncapsulatedClassifier-ownedPort-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="EncapsulatedClassifier-ownedPort-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="EncapsulatedClassifier-ownedPort.1" name="ownedPort" bodyCondition="EncapsulatedClassifier-ownedPort.1-spec" class="EncapsulatedClassifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="EncapsulatedClassifier-ownedPort.1-_ownedComment.0" annotatedElement="EncapsulatedClassifier-ownedPort.1">
            <body>Derivation for EncapsulatedClassifier::/ownedPort : Port</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="EncapsulatedClassifier-ownedPort.1-spec" name="spec" constrainedElement="EncapsulatedClassifier-ownedPort.1 EncapsulatedClassifier-ownedPort" context="EncapsulatedClassifier-ownedPort.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="EncapsulatedClassifier-ownedPort.1-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedAttribute->select(oclIsKindOf(Port))->collect(oclAsType(Port))->asOrderedSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="EncapsulatedClassifier-ownedPort.1-result" name="result" type="Port" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EncapsulatedClassifier-ownedPort.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="EncapsulatedClassifier-ownedPort.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Port" name="Port">
        <ownedComment xmi:type="uml:Comment" xmi:id="Port-_ownedComment.0" annotatedElement="Port">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Port-port_aggregation" name="port_aggregation" constrainedElement="Port" context="Port">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-port_aggregation-_ownedComment.0" annotatedElement="Port-port_aggregation">
            <body>Port.aggregation must be composite.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-port_aggregation-_specification">
            <language>OCL</language>
            <body>aggregation = AggregationKind::composite</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Port-default_value" name="default_value" constrainedElement="Port" context="Port">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-default_value-_ownedComment.0" annotatedElement="Port-default_value">
            <body>A defaultValue for port cannot be specified when the type of the Port is an Interface.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-default_value-_specification">
            <language>OCL</language>
            <body>type.oclIsKindOf(Interface) implies defaultValue->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Port-encapsulated_owner" name="encapsulated_owner" constrainedElement="Port" context="Port">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-encapsulated_owner-_ownedComment.0" annotatedElement="Port-encapsulated_owner">
            <body>All Ports are owned by an EncapsulatedClassifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-encapsulated_owner-_specification">
            <language>OCL</language>
            <body>owner = encapsulatedClassifier</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Port-_generalization.0" general="Property" specific="Port"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Port-isBehavior" name="isBehavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-isBehavior-_ownedComment.0" annotatedElement="Port-isBehavior">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isBehavior-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Port-isConjugated" name="isConjugated">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-isConjugated-_ownedComment.0" annotatedElement="Port-isConjugated">
            <body>Specifies the way that the provided and required Interfaces are derived from the Port’s Type.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isConjugated-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Port-isService" name="isService">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-isService-_ownedComment.0" annotatedElement="Port-isService">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isService-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Port-protocol" name="protocol" type="ProtocolStateMachine" association="A_protocol_port">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-protocol-_ownedComment.0" annotatedElement="Port-protocol">
            <body>An optional ProtocolStateMachine which describes valid interactions at this interaction point.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-protocol-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Port-provided" name="provided" type="Interface" isReadOnly="true" isDerived="true" association="A_provided_port">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-provided-_ownedComment.0" annotatedElement="Port-provided">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-provided-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-provided-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Port-redefinedPort" name="redefinedPort" type="Port" subsettedProperty="Property-redefinedProperty" association="A_redefinedPort_port">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-redefinedPort-_ownedComment.0" annotatedElement="Port-redefinedPort">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-redefinedPort-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-redefinedPort-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Port-required" name="required" type="Interface" isReadOnly="true" isDerived="true" association="A_required_port">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-required-_ownedComment.0" annotatedElement="Port-required">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-required-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-required-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Port-provided.1" name="provided" bodyCondition="Port-provided.1-spec" class="Port" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-provided.1-_ownedComment.0" annotatedElement="Port-provided.1">
            <body>Derivation for Port::/provided</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Port-provided.1-spec" name="spec" constrainedElement="Port-provided.1 Port-provided" context="Port-provided.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-provided.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if isConjugated then basicRequired() else basicProvided() endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Port-provided.1-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-provided.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-provided.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Port-required.1" name="required" bodyCondition="Port-required.1-spec" class="Port" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-required.1-_ownedComment.0" annotatedElement="Port-required.1">
            <body>Derivation for Port::/required</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Port-required.1-spec" name="spec" constrainedElement="Port-required.1 Port-required" context="Port-required.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-required.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if isConjugated then basicProvided() else basicRequired() endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Port-required.1-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-required.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-required.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Port-basicProvided" name="basicProvided" bodyCondition="Port-basicProvided-spec" class="Port" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-basicProvided-_ownedComment.0" annotatedElement="Port-basicProvided">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Port-basicProvided-spec" name="spec" constrainedElement="Port-basicProvided" context="Port-basicProvided">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-basicProvided-spec-_specification">
              <language>OCL</language>
              <body>result = (if type.oclIsKindOf(Interface) &#xD;
then type.oclAsType(Interface)->asSet() &#xD;
else type.oclAsType(Classifier).allRealizedInterfaces() &#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Port-basicProvided-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-basicProvided-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-basicProvided-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Port-basicRequired" name="basicRequired" bodyCondition="Port-basicRequired-spec" class="Port" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Port-basicRequired-_ownedComment.0" annotatedElement="Port-basicRequired">
            <body>The union of the sets of Interfaces used by the type of the Port and its supertypes.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Port-basicRequired-spec" name="spec" constrainedElement="Port-basicRequired" context="Port-basicRequired">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-basicRequired-spec-_specification">
              <language>OCL</language>
              <body>result = ( type.oclAsType(Classifier).allUsedInterfaces() )</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Port-basicRequired-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-basicRequired-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-basicRequired-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StructuredClassifier" name="StructuredClassifier" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="StructuredClassifier-_ownedComment.0" annotatedElement="StructuredClassifier">
          <body>StructuredClassifiers may contain an internal structure of connected elements each of which plays a role in the overall Behavior modeled by the StructuredClassifier.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="StructuredClassifier-_generalization.0" general="Classifier" specific="StructuredClassifier"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredClassifier-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember StructuredClassifier-role" association="A_ownedAttribute_structuredClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredClassifier-ownedAttribute-_ownedComment.0" annotatedElement="StructuredClassifier-ownedAttribute">
            <body>The Properties owned by the StructuredClassifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-ownedAttribute-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-ownedAttribute-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredClassifier-ownedConnector" name="ownedConnector" type="Connector" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedConnector_structuredClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredClassifier-ownedConnector-_ownedComment.0" annotatedElement="StructuredClassifier-ownedConnector">
            <body>The connectors owned by the StructuredClassifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-ownedConnector-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-ownedConnector-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredClassifier-part" name="part" type="Property" isReadOnly="true" isDerived="true" association="A_part_structuredClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredClassifier-part-_ownedComment.0" annotatedElement="StructuredClassifier-part">
            <body>The Properties specifying instances that the StructuredClassifier owns by composition. This collection is derived, selecting those owned Properties where isComposite is true.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-part-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-part-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredClassifier-role" name="role" type="ConnectableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Namespace-member" association="A_role_structuredClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredClassifier-role-_ownedComment.0" annotatedElement="StructuredClassifier-role">
            <body>The roles that instances may play in this StructuredClassifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-role-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-role-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StructuredClassifier-part.1" name="part" bodyCondition="StructuredClassifier-part.1-spec" class="StructuredClassifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredClassifier-part.1-_ownedComment.0" annotatedElement="StructuredClassifier-part.1">
            <body>Derivation for StructuredClassifier::/part</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredClassifier-part.1-spec" name="spec" constrainedElement="StructuredClassifier-part.1 StructuredClassifier-part" context="StructuredClassifier-part.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredClassifier-part.1-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedAttribute->select(isComposite))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StructuredClassifier-part.1-result" name="result" type="Property" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-part.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-part.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StructuredClassifier-allRoles" name="allRoles" bodyCondition="StructuredClassifier-allRoles-spec" class="StructuredClassifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredClassifier-allRoles-_ownedComment.0" annotatedElement="StructuredClassifier-allRoles">
            <body>All features of type ConnectableElement, equivalent to all direct and inherited roles.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredClassifier-allRoles-spec" name="spec" constrainedElement="StructuredClassifier-allRoles" context="StructuredClassifier-allRoles">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredClassifier-allRoles-spec-_specification">
              <language>OCL</language>
              <body>result = (allFeatures()->select(oclIsKindOf(ConnectableElement))->collect(oclAsType(ConnectableElement))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StructuredClassifier-allRoles-result" name="result" type="ConnectableElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-allRoles-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-allRoles-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="ConnectorKind" name="ConnectorKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorKind-_ownedComment.0" annotatedElement="ConnectorKind">
          <body>ConnectorKind is an enumeration that defines whether a Connector is an assembly or a delegation.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ConnectorKind-assembly" name="assembly" enumeration="ConnectorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorKind-assembly-_ownedComment.0" annotatedElement="ConnectorKind-assembly">
            <body>Indicates that the Connector is an assembly Connector.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ConnectorKind-delegation" name="delegation" enumeration="ConnectorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectorKind-delegation-_ownedComment.0" annotatedElement="ConnectorKind-delegation">
            <body>Indicates that the Connector is a delegation Connector.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_part_structuredClassifier" name="A_part_structuredClassifier" isDerived="true" memberEnd="StructuredClassifier-part A_part_structuredClassifier-structuredClassifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_part_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" owningAssociation="A_part_structuredClassifier" association="A_part_structuredClassifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_part_structuredClassifier-structuredClassifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedConnector_structuredClassifier" name="A_ownedConnector_structuredClassifier" memberEnd="StructuredClassifier-ownedConnector A_ownedConnector_structuredClassifier-structuredClassifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedConnector_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" owningAssociation="A_ownedConnector_structuredClassifier" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedConnector_structuredClassifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedConnector_structuredClassifier-structuredClassifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_structuredClassifier" name="A_ownedAttribute_structuredClassifier" memberEnd="StructuredClassifier-ownedAttribute A_ownedAttribute_structuredClassifier-structuredClassifier">
        <generalization xmi:type="uml:Generalization" xmi:id="A_ownedAttribute_structuredClassifier-_generalization.0" general="A_role_structuredClassifier" specific="A_ownedAttribute_structuredClassifier"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedAttribute_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" owningAssociation="A_ownedAttribute_structuredClassifier" redefinedProperty="A_role_structuredClassifier-structuredClassifier" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_structuredClassifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedAttribute_structuredClassifier-structuredClassifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_role_structuredClassifier" name="A_role_structuredClassifier" isDerived="true" memberEnd="StructuredClassifier-role A_role_structuredClassifier-structuredClassifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_role_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_role_structuredClassifier" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_role_structuredClassifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_role_structuredClassifier-structuredClassifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_role_structuredClassifier-structuredClassifier-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_protocol_port" name="A_protocol_port" memberEnd="Port-protocol A_protocol_port-port">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_protocol_port-port" name="port" type="Port" owningAssociation="A_protocol_port" association="A_protocol_port">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_protocol_port-port-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_protocol_port-port-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_required_port" name="A_required_port" isDerived="true" memberEnd="Port-required A_required_port-port">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_required_port-port" name="port" type="Port" owningAssociation="A_required_port" association="A_required_port">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_required_port-port-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_required_port-port-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedPort_port" name="A_redefinedPort_port" memberEnd="Port-redefinedPort A_redefinedPort_port-port">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedPort_port-port" name="port" type="Port" owningAssociation="A_redefinedPort_port" subsettedProperty="A_redefinedProperty_property-property" association="A_redefinedPort_port">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedPort_port-port-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedPort_port-port-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_provided_port" name="A_provided_port" isDerived="true" memberEnd="Port-provided A_provided_port-port">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_provided_port-port" name="port" type="Port" owningAssociation="A_provided_port" association="A_provided_port">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_provided_port-port-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_provided_port-port-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedPort_encapsulatedClassifier" name="A_ownedPort_encapsulatedClassifier" isDerived="true" memberEnd="EncapsulatedClassifier-ownedPort A_ownedPort_encapsulatedClassifier-encapsulatedClassifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedPort_encapsulatedClassifier-encapsulatedClassifier" name="encapsulatedClassifier" type="EncapsulatedClassifier" owningAssociation="A_ownedPort_encapsulatedClassifier" subsettedProperty="A_ownedAttribute_structuredClassifier-structuredClassifier" association="A_ownedPort_encapsulatedClassifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedPort_encapsulatedClassifier-encapsulatedClassifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_partWithPort_connectorEnd" name="A_partWithPort_connectorEnd" memberEnd="ConnectorEnd-partWithPort A_partWithPort_connectorEnd-connectorEnd">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_partWithPort_connectorEnd-connectorEnd" name="connectorEnd" type="ConnectorEnd" owningAssociation="A_partWithPort_connectorEnd" association="A_partWithPort_connectorEnd">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_partWithPort_connectorEnd-connectorEnd-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_partWithPort_connectorEnd-connectorEnd-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_definingEnd_connectorEnd" name="A_definingEnd_connectorEnd" isDerived="true" memberEnd="ConnectorEnd-definingEnd A_definingEnd_connectorEnd-connectorEnd">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_definingEnd_connectorEnd-connectorEnd" name="connectorEnd" type="ConnectorEnd" owningAssociation="A_definingEnd_connectorEnd" association="A_definingEnd_connectorEnd">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_definingEnd_connectorEnd-connectorEnd-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_definingEnd_connectorEnd-connectorEnd-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_end_connector" name="A_end_connector" memberEnd="Connector-end A_end_connector-connector">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_end_connector-connector" name="connector" type="Connector" owningAssociation="A_end_connector" subsettedProperty="Element-owner" association="A_end_connector"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedConnector_connector" name="A_redefinedConnector_connector" memberEnd="Connector-redefinedConnector A_redefinedConnector_connector-connector">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedConnector_connector-connector" name="connector" type="Connector" owningAssociation="A_redefinedConnector_connector" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedConnector_connector">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedConnector_connector-connector-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedConnector_connector-connector-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_contract_connector" name="A_contract_connector" memberEnd="Connector-contract A_contract_connector-connector">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_contract_connector-connector" name="connector" type="Connector" owningAssociation="A_contract_connector" association="A_contract_connector">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_contract_connector-connector-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_contract_connector-connector-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_type_connector" name="A_type_connector" memberEnd="Connector-type A_type_connector-connector">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_type_connector-connector" name="connector" type="Connector" owningAssociation="A_type_connector" association="A_type_connector">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_connector-connector-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_connector-connector-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_connectableElement_templateParameter_parameteredElement" name="A_connectableElement_templateParameter_parameteredElement" memberEnd="ConnectableElement-templateParameter ConnectableElementTemplateParameter-parameteredElement"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_end_role" name="A_end_role" memberEnd="ConnectableElement-end ConnectorEnd-role"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_realizingClassifier_componentRealization" name="A_realizingClassifier_componentRealization" memberEnd="ComponentRealization-realizingClassifier A_realizingClassifier_componentRealization-componentRealization">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_realizingClassifier_componentRealization-componentRealization" name="componentRealization" type="ComponentRealization" owningAssociation="A_realizingClassifier_componentRealization" subsettedProperty="NamedElement-clientDependency" association="A_realizingClassifier_componentRealization">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingClassifier_componentRealization-componentRealization-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingClassifier_componentRealization-componentRealization-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_required_component" name="A_required_component" isDerived="true" memberEnd="Component-required A_required_component-component">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_required_component-component" name="component" type="Component" owningAssociation="A_required_component" association="A_required_component">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_required_component-component-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_required_component-component-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_packagedElement_component" name="A_packagedElement_component" memberEnd="Component-packagedElement A_packagedElement_component-component">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_packagedElement_component-component" name="component" type="Component" owningAssociation="A_packagedElement_component" subsettedProperty="NamedElement-namespace" association="A_packagedElement_component">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_packagedElement_component-component-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_realization_abstraction_component" name="A_realization_abstraction_component" memberEnd="Component-realization ComponentRealization-abstraction"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_provided_component" name="A_provided_component" isDerived="true" memberEnd="Component-provided A_provided_component-component">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_provided_component-component" name="component" type="Component" owningAssociation="A_provided_component" association="A_provided_component">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_provided_component-component-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_provided_component-component-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_type_collaborationUse" name="A_type_collaborationUse" memberEnd="CollaborationUse-type A_type_collaborationUse-collaborationUse">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_type_collaborationUse-collaborationUse" name="collaborationUse" type="CollaborationUse" owningAssociation="A_type_collaborationUse" association="A_type_collaborationUse">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_collaborationUse-collaborationUse-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_collaborationUse-collaborationUse-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_roleBinding_collaborationUse" name="A_roleBinding_collaborationUse" memberEnd="CollaborationUse-roleBinding A_roleBinding_collaborationUse-collaborationUse">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_roleBinding_collaborationUse-collaborationUse" name="collaborationUse" type="CollaborationUse" owningAssociation="A_roleBinding_collaborationUse" subsettedProperty="Element-owner" association="A_roleBinding_collaborationUse">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_roleBinding_collaborationUse-collaborationUse-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_collaborationRole_collaboration" name="A_collaborationRole_collaboration" memberEnd="Collaboration-collaborationRole A_collaborationRole_collaboration-collaboration">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_collaborationRole_collaboration-collaboration" name="collaboration" type="Collaboration" owningAssociation="A_collaborationRole_collaboration" subsettedProperty="A_role_structuredClassifier-structuredClassifier" association="A_collaborationRole_collaboration">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_collaborationRole_collaboration-collaboration-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_collaborationRole_collaboration-collaboration-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_class" name="A_ownedOperation_class" memberEnd="Class-ownedOperation Operation-class"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_superClass_class" name="A_superClass_class" isDerived="true" memberEnd="Class-superClass A_superClass_class-class">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_superClass_class-class" name="class" type="Class" owningAssociation="A_superClass_class" subsettedProperty="A_general_classifier-classifier" association="A_superClass_class">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_superClass_class-class-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_superClass_class-class-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_extension_metaclass" name="A_extension_metaclass" isDerived="true" memberEnd="Class-extension Extension-metaclass"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_class" name="A_ownedAttribute_class" memberEnd="Class-ownedAttribute Property-class"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_nestedClassifier_nestingClass" name="A_nestedClassifier_nestingClass" memberEnd="Class-nestedClassifier A_nestedClassifier_nestingClass-nestingClass">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_nestedClassifier_nestingClass-nestingClass" name="nestingClass" type="Class" owningAssociation="A_nestedClassifier_nestingClass" subsettedProperty="NamedElement-namespace RedefinableElement-redefinitionContext" association="A_nestedClassifier_nestingClass">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nestedClassifier_nestingClass-nestingClass-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedReception_class" name="A_ownedReception_class" memberEnd="Class-ownedReception A_ownedReception_class-class">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedReception_class-class" name="class" type="Class" owningAssociation="A_ownedReception_class" subsettedProperty="Feature-featuringClassifier NamedElement-namespace" association="A_ownedReception_class">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedReception_class-class-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_memberEnd_association" name="A_memberEnd_association" memberEnd="Association-memberEnd Property-association"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_endType_association" name="A_endType_association" isDerived="true" memberEnd="Association-endType A_endType_association-association">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_endType_association-association" name="association" type="Association" owningAssociation="A_endType_association" subsettedProperty="A_relatedElement_relationship-relationship" association="A_endType_association">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_endType_association-association-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_endType_association-association-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedEnd_owningAssociation" name="A_ownedEnd_owningAssociation" memberEnd="Association-ownedEnd Property-owningAssociation"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_navigableOwnedEnd_association" name="A_navigableOwnedEnd_association" memberEnd="Association-navigableOwnedEnd A_navigableOwnedEnd_association-association">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_navigableOwnedEnd_association-association" name="association" type="Association" owningAssociation="A_navigableOwnedEnd_association" subsettedProperty="Property-owningAssociation" association="A_navigableOwnedEnd_association">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_navigableOwnedEnd_association-association-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="StateMachines" name="StateMachines">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="Classification" importingNamespace="StateMachines"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="SimpleClassifiers" importingNamespace="StateMachines"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.2" importedPackage="CommonStructure" importingNamespace="StateMachines"/>
      <packagedElement xmi:type="uml:Class" xmi:id="ConnectionPointReference" name="ConnectionPointReference">
        <ownedComment xmi:type="uml:Comment" xmi:id="ConnectionPointReference-_ownedComment.0" annotatedElement="ConnectionPointReference">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConnectionPointReference-exit_pseudostates" name="exit_pseudostates" constrainedElement="ConnectionPointReference" context="ConnectionPointReference">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectionPointReference-exit_pseudostates-_ownedComment.0" annotatedElement="ConnectionPointReference-exit_pseudostates">
            <body>The exit Pseudostates must be Pseudostates with kind exitPoint.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectionPointReference-exit_pseudostates-_specification">
            <language>OCL</language>
            <body>exit->forAll(kind = PseudostateKind::exitPoint)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConnectionPointReference-entry_pseudostates" name="entry_pseudostates" constrainedElement="ConnectionPointReference" context="ConnectionPointReference">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectionPointReference-entry_pseudostates-_ownedComment.0" annotatedElement="ConnectionPointReference-entry_pseudostates">
            <body>The entry Pseudostates must be Pseudostates with kind entryPoint.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectionPointReference-entry_pseudostates-_specification">
            <language>OCL</language>
            <body>entry->forAll(kind = PseudostateKind::entryPoint)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ConnectionPointReference-_generalization.0" general="Vertex" specific="ConnectionPointReference"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectionPointReference-entry" name="entry" type="Pseudostate" association="A_entry_connectionPointReference">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectionPointReference-entry-_ownedComment.0" annotatedElement="ConnectionPointReference-entry">
            <body>The entryPoint Pseudostates corresponding to this connection point.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectionPointReference-entry-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectionPointReference-entry-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectionPointReference-exit" name="exit" type="Pseudostate" association="A_exit_connectionPointReference">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectionPointReference-exit-_ownedComment.0" annotatedElement="ConnectionPointReference-exit">
            <body>The exitPoints kind Pseudostates corresponding to this connection point.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectionPointReference-exit-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectionPointReference-exit-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConnectionPointReference-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_connection_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConnectionPointReference-state-_ownedComment.0" annotatedElement="ConnectionPointReference-state">
            <body>The State in which the ConnectionPointReference is defined.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectionPointReference-state-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="FinalState" name="FinalState">
        <ownedComment xmi:type="uml:Comment" xmi:id="FinalState-_ownedComment.0" annotatedElement="FinalState">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FinalState-no_exit_behavior" name="no_exit_behavior" constrainedElement="FinalState" context="FinalState">
          <ownedComment xmi:type="uml:Comment" xmi:id="FinalState-no_exit_behavior-_ownedComment.0" annotatedElement="FinalState-no_exit_behavior">
            <body>A FinalState has no exit Behavior.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_exit_behavior-_specification">
            <language>OCL</language>
            <body>exit->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FinalState-no_outgoing_transitions" name="no_outgoing_transitions" constrainedElement="FinalState" context="FinalState">
          <ownedComment xmi:type="uml:Comment" xmi:id="FinalState-no_outgoing_transitions-_ownedComment.0" annotatedElement="FinalState-no_outgoing_transitions">
            <body>A FinalState cannot have any outgoing Transitions.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_outgoing_transitions-_specification">
            <language>OCL</language>
            <body>outgoing->size() = 0</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FinalState-no_regions" name="no_regions" constrainedElement="FinalState" context="FinalState">
          <ownedComment xmi:type="uml:Comment" xmi:id="FinalState-no_regions-_ownedComment.0" annotatedElement="FinalState-no_regions">
            <body>A FinalState cannot have Regions.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_regions-_specification">
            <language>OCL</language>
            <body>region->size() = 0</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FinalState-cannot_reference_submachine" name="cannot_reference_submachine" constrainedElement="FinalState" context="FinalState">
          <ownedComment xmi:type="uml:Comment" xmi:id="FinalState-cannot_reference_submachine-_ownedComment.0" annotatedElement="FinalState-cannot_reference_submachine">
            <body>A FinalState cannot reference a submachine.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-cannot_reference_submachine-_specification">
            <language>OCL</language>
            <body>submachine->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FinalState-no_entry_behavior" name="no_entry_behavior" constrainedElement="FinalState" context="FinalState">
          <ownedComment xmi:type="uml:Comment" xmi:id="FinalState-no_entry_behavior-_ownedComment.0" annotatedElement="FinalState-no_entry_behavior">
            <body>A FinalState has no entry Behavior.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_entry_behavior-_specification">
            <language>OCL</language>
            <body>entry->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FinalState-no_state_behavior" name="no_state_behavior" constrainedElement="FinalState" context="FinalState">
          <ownedComment xmi:type="uml:Comment" xmi:id="FinalState-no_state_behavior-_ownedComment.0" annotatedElement="FinalState-no_state_behavior">
            <body>A FinalState has no state (doActivity) Behavior.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_state_behavior-_specification">
            <language>OCL</language>
            <body>doActivity->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="FinalState-_generalization.0" general="State" specific="FinalState"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ProtocolConformance" name="ProtocolConformance">
        <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolConformance-_ownedComment.0" annotatedElement="ProtocolConformance">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ProtocolConformance-_generalization.0" general="DirectedRelationship" specific="ProtocolConformance"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProtocolConformance-generalMachine" name="generalMachine" type="ProtocolStateMachine" subsettedProperty="DirectedRelationship-target" association="A_generalMachine_protocolConformance">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolConformance-generalMachine-_ownedComment.0" annotatedElement="ProtocolConformance-generalMachine">
            <body>Specifies the ProtocolStateMachine to which the specific ProtocolStateMachine conforms.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProtocolConformance-specificMachine" name="specificMachine" type="ProtocolStateMachine" subsettedProperty="DirectedRelationship-source Element-owner" association="A_conformance_specificMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolConformance-specificMachine-_ownedComment.0" annotatedElement="ProtocolConformance-specificMachine">
            <body>Specifies the ProtocolStateMachine which conforms to the general ProtocolStateMachine.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ProtocolStateMachine" name="ProtocolStateMachine">
        <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolStateMachine-_ownedComment.0" annotatedElement="ProtocolStateMachine">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ProtocolStateMachine-classifier_context" name="classifier_context" constrainedElement="ProtocolStateMachine" context="ProtocolStateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolStateMachine-classifier_context-_ownedComment.0" annotatedElement="ProtocolStateMachine-classifier_context">
            <body>A ProtocolStateMachine must only have a Classifier context, not a BehavioralFeature context.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolStateMachine-classifier_context-_specification">
            <language>OCL</language>
            <body>_'context' &lt;> null and specification = null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ProtocolStateMachine-deep_or_shallow_history" name="deep_or_shallow_history" constrainedElement="ProtocolStateMachine" context="ProtocolStateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolStateMachine-deep_or_shallow_history-_ownedComment.0" annotatedElement="ProtocolStateMachine-deep_or_shallow_history">
            <body>ProtocolStateMachines cannot have deep or shallow history Pseudostates.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolStateMachine-deep_or_shallow_history-_specification">
            <language>OCL</language>
            <body>region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Pseudostate) implies
((v.oclAsType(Pseudostate).kind &lt;>  PseudostateKind::deepHistory) and (v.oclAsType(Pseudostate).kind &lt;> PseudostateKind::shallowHistory))))
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ProtocolStateMachine-entry_exit_do" name="entry_exit_do" constrainedElement="ProtocolStateMachine" context="ProtocolStateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolStateMachine-entry_exit_do-_ownedComment.0" annotatedElement="ProtocolStateMachine-entry_exit_do">
            <body>The states of a ProtocolStateMachine cannot have entry, exit, or do activity Behaviors.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolStateMachine-entry_exit_do-_specification">
            <language>OCL</language>
            <body>region->forAll(r | r.subvertex->forAll(v | v.oclIsKindOf(State) implies
(v.oclAsType(State).entry->isEmpty() and v.oclAsType(State).exit->isEmpty() and v.oclAsType(State).doActivity->isEmpty())))
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ProtocolStateMachine-protocol_transitions" name="protocol_transitions" constrainedElement="ProtocolStateMachine" context="ProtocolStateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolStateMachine-protocol_transitions-_ownedComment.0" annotatedElement="ProtocolStateMachine-protocol_transitions">
            <body>All Transitions of a ProtocolStateMachine must be ProtocolTransitions.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolStateMachine-protocol_transitions-_specification">
            <language>OCL</language>
            <body>region->forAll(r | r.transition->forAll(t | t.oclIsTypeOf(ProtocolTransition)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ProtocolStateMachine-_generalization.0" general="StateMachine" specific="ProtocolStateMachine"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProtocolStateMachine-conformance" name="conformance" type="ProtocolConformance" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_conformance_specificMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolStateMachine-conformance-_ownedComment.0" annotatedElement="ProtocolStateMachine-conformance">
            <body>Conformance between ProtocolStateMachine </body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolStateMachine-conformance-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProtocolStateMachine-conformance-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ProtocolTransition" name="ProtocolTransition">
        <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolTransition-_ownedComment.0" annotatedElement="ProtocolTransition">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ProtocolTransition-refers_to_operation" name="refers_to_operation" constrainedElement="ProtocolTransition" context="ProtocolTransition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolTransition-refers_to_operation-_ownedComment.0" annotatedElement="ProtocolTransition-refers_to_operation">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolTransition-refers_to_operation-_specification">
            <language>OCL</language>
            <body>if (referred()->notEmpty() and containingStateMachine()._'context'->notEmpty()) then &#xD;
    containingStateMachine()._'context'.oclAsType(BehavioredClassifier).allFeatures()->includesAll(referred())&#xD;
else true endif</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ProtocolTransition-associated_actions" name="associated_actions" constrainedElement="ProtocolTransition" context="ProtocolTransition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolTransition-associated_actions-_ownedComment.0" annotatedElement="ProtocolTransition-associated_actions">
            <body>A ProtocolTransition never has associated Behaviors.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolTransition-associated_actions-_specification">
            <language>OCL</language>
            <body>effect = null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ProtocolTransition-belongs_to_psm" name="belongs_to_psm" constrainedElement="ProtocolTransition" context="ProtocolTransition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolTransition-belongs_to_psm-_ownedComment.0" annotatedElement="ProtocolTransition-belongs_to_psm">
            <body>A ProtocolTransition always belongs to a ProtocolStateMachine.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolTransition-belongs_to_psm-_specification">
            <language>OCL</language>
            <body>container.belongsToPSM()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ProtocolTransition-_generalization.0" general="Transition" specific="ProtocolTransition"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProtocolTransition-postCondition" name="postCondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postCondition_owningTransition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolTransition-postCondition-_ownedComment.0" annotatedElement="ProtocolTransition-postCondition">
            <body>Specifies the post condition of the Transition which is the Condition that should be obtained once the Transition is triggered. This post condition is part of the post condition of the Operation connected to the Transition.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolTransition-postCondition-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProtocolTransition-preCondition" name="preCondition" type="Constraint" aggregation="composite" subsettedProperty="Transition-guard" association="A_preCondition_protocolTransition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolTransition-preCondition-_ownedComment.0" annotatedElement="ProtocolTransition-preCondition">
            <body>Specifies the precondition of the Transition. It specifies the Condition that should be verified before triggering the Transition. This guard condition added to the source State will be evaluated as part of the precondition of the Operation referred by the Transition if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolTransition-preCondition-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProtocolTransition-referred" name="referred" type="Operation" isReadOnly="true" isDerived="true" association="A_referred_protocolTransition">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolTransition-referred-_ownedComment.0" annotatedElement="ProtocolTransition-referred">
            <body>This association refers to the associated Operation. It is derived from the Operation of the CallEvent Trigger when applicable.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolTransition-referred-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProtocolTransition-referred-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ProtocolTransition-referred.1" name="referred" bodyCondition="ProtocolTransition-referred.1-spec" class="ProtocolTransition" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProtocolTransition-referred.1-_ownedComment.0" annotatedElement="ProtocolTransition-referred.1">
            <body>Derivation for ProtocolTransition::/referred</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ProtocolTransition-referred.1-spec" name="spec" constrainedElement="ProtocolTransition-referred.1 ProtocolTransition-referred" context="ProtocolTransition-referred.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolTransition-referred.1-spec-_specification">
              <language>OCL</language>
              <body>result = (trigger->collect(event)->select(oclIsKindOf(CallEvent))->collect(oclAsType(CallEvent).operation)->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ProtocolTransition-referred.1-result" name="result" type="Operation" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolTransition-referred.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProtocolTransition-referred.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Pseudostate" name="Pseudostate">
        <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-_ownedComment.0" annotatedElement="Pseudostate">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-transitions_outgoing" name="transitions_outgoing" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-transitions_outgoing-_ownedComment.0" annotatedElement="Pseudostate-transitions_outgoing">
            <body>All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-transitions_outgoing-_specification">
            <language>OCL</language>
            <body>(kind = PseudostateKind::fork) implies&#xD;
&#xD;
-- for any pair of outgoing transitions there exists an orthogonal state which contains the targets of these transitions &#xD;
-- such that these targets belong to different regions of that orthogonal state &#xD;
&#xD;
outgoing->forAll(t1:Transition, t2:Transition | let contState:State = containingStateMachine().LCAState(t1.target, t2.target) in&#xD;
	((contState &lt;> null) and (contState.region&#xD;
		->exists(r1:Region, r2: Region | (r1 &lt;> r2) and t1.target.isContainedInRegion(r1) and t2.target.isContainedInRegion(r2)))))&#xD;
	</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-choice_vertex" name="choice_vertex" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-choice_vertex-_ownedComment.0" annotatedElement="Pseudostate-choice_vertex">
            <body>In a complete statemachine, a choice Vertex must have at least one incoming and one outgoing Transition.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-choice_vertex-_specification">
            <language>OCL</language>
            <body>(kind = PseudostateKind::choice) implies (incoming->size() >= 1 and outgoing->size() >= 1)
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-outgoing_from_initial" name="outgoing_from_initial" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-outgoing_from_initial-_ownedComment.0" annotatedElement="Pseudostate-outgoing_from_initial">
            <body>The outgoing Transition from an initial vertex may have a behavior, but not a trigger or a guard.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-outgoing_from_initial-_specification">
            <language>OCL</language>
            <body>(kind = PseudostateKind::initial) implies (outgoing.guard = null and outgoing.trigger->isEmpty())</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-join_vertex" name="join_vertex" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-join_vertex-_ownedComment.0" annotatedElement="Pseudostate-join_vertex">
            <body>In a complete StateMachine, a join Vertex must have at least two incoming Transitions and exactly one outgoing Transition.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-join_vertex-_specification">
            <language>OCL</language>
            <body>(kind = PseudostateKind::join) implies (outgoing->size() = 1 and incoming->size() >= 2)
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-junction_vertex" name="junction_vertex" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-junction_vertex-_ownedComment.0" annotatedElement="Pseudostate-junction_vertex">
            <body>In a complete StateMachine, a junction Vertex must have at least one incoming and one outgoing Transition.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-junction_vertex-_specification">
            <language>OCL</language>
            <body>(kind = PseudostateKind::junction) implies (incoming->size() >= 1 and outgoing->size() >= 1)
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-history_vertices" name="history_vertices" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-history_vertices-_ownedComment.0" annotatedElement="Pseudostate-history_vertices">
            <body>History Vertices can have at most one outgoing Transition.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-history_vertices-_specification">
            <language>OCL</language>
            <body>((kind = PseudostateKind::deepHistory) or (kind = PseudostateKind::shallowHistory)) implies (outgoing->size() &lt;= 1)
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-initial_vertex" name="initial_vertex" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-initial_vertex-_ownedComment.0" annotatedElement="Pseudostate-initial_vertex">
            <body>An initial Vertex can have at most one outgoing Transition.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-initial_vertex-_specification">
            <language>OCL</language>
            <body>(kind = PseudostateKind::initial) implies (outgoing->size() &lt;= 1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-fork_vertex" name="fork_vertex" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-fork_vertex-_ownedComment.0" annotatedElement="Pseudostate-fork_vertex">
            <body>In a complete StateMachine, a fork Vertex must have at least two outgoing Transitions and exactly one incoming Transition.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-fork_vertex-_specification">
            <language>OCL</language>
            <body>(kind = PseudostateKind::fork) implies (incoming->size() = 1 and outgoing->size() >= 2)
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pseudostate-transitions_incoming" name="transitions_incoming" constrainedElement="Pseudostate" context="Pseudostate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-transitions_incoming-_ownedComment.0" annotatedElement="Pseudostate-transitions_incoming">
            <body>All Transitions incoming a join Vertex must originate in different Regions of an orthogonal State.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-transitions_incoming-_specification">
            <language>OCL</language>
            <body>(kind = PseudostateKind::join) implies

-- for any pair of incoming transitions there exists an orthogonal state which contains the source vetices of these transitions 
-- such that these source vertices belong to different regions of that orthogonal state 

incoming->forAll(t1:Transition, t2:Transition | let contState:State = containingStateMachine().LCAState(t1.source, t2.source) in
	((contState &lt;> null) and (contState.region
		->exists(r1:Region, r2: Region | (r1 &lt;> r2) and t1.source.isContainedInRegion(r1) and t2.source.isContainedInRegion(r2)))))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Pseudostate-_generalization.0" general="Vertex" specific="Pseudostate"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Pseudostate-kind" name="kind" type="PseudostateKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-kind-_ownedComment.0" annotatedElement="Pseudostate-kind">
            <body>Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="Pseudostate-kind-_defaultValue" type="PseudostateKind" instance="PseudostateKind-initial"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Pseudostate-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_connectionPoint_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-state-_ownedComment.0" annotatedElement="Pseudostate-state">
            <body>The State that owns this Pseudostate and in which it appears.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Pseudostate-state-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Pseudostate-stateMachine" name="stateMachine" type="StateMachine" subsettedProperty="NamedElement-namespace" association="A_connectionPoint_stateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pseudostate-stateMachine-_ownedComment.0" annotatedElement="Pseudostate-stateMachine">
            <body>The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Pseudostate-stateMachine-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Region" name="Region">
        <ownedComment xmi:type="uml:Comment" xmi:id="Region-_ownedComment.0" annotatedElement="Region">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Region-deep_history_vertex" name="deep_history_vertex" constrainedElement="Region" context="Region">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-deep_history_vertex-_ownedComment.0" annotatedElement="Region-deep_history_vertex">
            <body>A Region can have at most one deep history Vertex.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-deep_history_vertex-_specification">
            <language>OCL</language>
            <body>self.subvertex->select (oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->
   select(kind = PseudostateKind::deepHistory)->size() &lt;= 1
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Region-shallow_history_vertex" name="shallow_history_vertex" constrainedElement="Region" context="Region">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-shallow_history_vertex-_ownedComment.0" annotatedElement="Region-shallow_history_vertex">
            <body>A Region can have at most one shallow history Vertex.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-shallow_history_vertex-_specification">
            <language>OCL</language>
            <body>subvertex->select(oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->
  select(kind = PseudostateKind::shallowHistory)->size() &lt;= 1
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Region-owned" name="owned" constrainedElement="Region" context="Region">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-owned-_ownedComment.0" annotatedElement="Region-owned">
            <body>If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-owned-_specification">
            <language>OCL</language>
            <body>(stateMachine &lt;> null implies state = null) and (state &lt;> null implies stateMachine = null)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Region-initial_vertex" name="initial_vertex" constrainedElement="Region" context="Region">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-initial_vertex-_ownedComment.0" annotatedElement="Region-initial_vertex">
            <body>A Region can have at most one initial Vertex.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-initial_vertex-_specification">
            <language>OCL</language>
            <body>self.subvertex->select (oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->
  select(kind = PseudostateKind::initial)->size() &lt;= 1
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Region-_generalization.0" general="Namespace" specific="Region"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Region-_generalization.1" general="RedefinableElement" specific="Region"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Region-extendedRegion" name="extendedRegion" type="Region" subsettedProperty="RedefinableElement-redefinedElement" association="A_extendedRegion_region">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-extendedRegion-_ownedComment.0" annotatedElement="Region-extendedRegion">
            <body>The region of which this region is an extension.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-extendedRegion-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Region-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_region">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-redefinitionContext-_ownedComment.0" annotatedElement="Region-redefinitionContext">
            <body>References the Classifier in which context this element may be redefined.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Region-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_region_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-state-_ownedComment.0" annotatedElement="Region-state">
            <body>The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-state-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Region-stateMachine" name="stateMachine" type="StateMachine" subsettedProperty="NamedElement-namespace" association="A_region_stateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-stateMachine-_ownedComment.0" annotatedElement="Region-stateMachine">
            <body>The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-stateMachine-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Region-subvertex" name="subvertex" type="Vertex" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_subvertex_container">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-subvertex-_ownedComment.0" annotatedElement="Region-subvertex">
            <body>The set of Vertices that are owned by this Region.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-subvertex-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Region-subvertex-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Region-transition" name="transition" type="Transition" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_transition_container">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-transition-_ownedComment.0" annotatedElement="Region-transition">
            <body>The set of Transitions owned by the Region.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-transition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Region-transition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Region-belongsToPSM" name="belongsToPSM" bodyCondition="Region-belongsToPSM-spec" class="Region" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-belongsToPSM-_ownedComment.0" annotatedElement="Region-belongsToPSM">
            <body>The operation belongsToPSM () checks if the Region belongs to a ProtocolStateMachine.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Region-belongsToPSM-spec" name="spec" constrainedElement="Region-belongsToPSM" context="Region-belongsToPSM">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-belongsToPSM-spec-_specification">
              <language>OCL</language>
              <body>result = (if  stateMachine &lt;> null 
then
  stateMachine.oclIsKindOf(ProtocolStateMachine)
else 
  state &lt;> null  implies  state.container.belongsToPSM()
endif )</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Region-belongsToPSM-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Region-containingStateMachine" name="containingStateMachine" bodyCondition="Region-containingStateMachine-spec" class="Region" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-containingStateMachine-_ownedComment.0" annotatedElement="Region-containingStateMachine">
            <body>The operation containingStateMachine() returns the StateMachine in which this Region is defined.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Region-containingStateMachine-spec" name="spec" constrainedElement="Region-containingStateMachine" context="Region-containingStateMachine">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-containingStateMachine-spec-_specification">
              <language>OCL</language>
              <body>result = (if stateMachine = null 
then
  state.containingStateMachine()
else
  stateMachine
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Region-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Region-isConsistentWith" name="isConsistentWith" bodyCondition="Region-isConsistentWith-spec" class="Region" isQuery="true" precondition="Region-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-isConsistentWith-_ownedComment.0" annotatedElement="Region-isConsistentWith">
            <body>The query isConsistentWith() specifies that a redefining Region is consistent with a redefined Region provided that the redefining Region is an extension of the Redefined region, i.e., 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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Region-isConsistentWith-spec" name="spec" constrainedElement="Region-isConsistentWith" context="Region-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;
true)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Region-isConsistentWith-pre" name="pre" constrainedElement="Region-isConsistentWith" context="Region-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-isConsistentWith-pre-_specification">
              <language>OCL</language>
              <body>redefiningElement.isRedefinitionContextValid(self)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Region-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Region-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Region-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="Region-isRedefinitionContextValid-spec" class="Region" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-isRedefinitionContextValid-_ownedComment.0" annotatedElement="Region-isRedefinitionContextValid">
            <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a Region are properly related to the redefinition contexts of the specified Region to allow this element to redefine the other. The containing StateMachine or State of a redefining Region must Redefine the containing StateMachine or State of the redefined Region.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Region-isRedefinitionContextValid-spec" name="spec" constrainedElement="Region-isRedefinitionContextValid" context="Region-isRedefinitionContextValid">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-isRedefinitionContextValid-spec-_specification">
              <language>OCL</language>
              <body>result = (if redefinedElement.oclIsKindOf(Region) then&#xD;
  let redefinedRegion : Region = redefinedElement.oclAsType(Region) in&#xD;
    if stateMachine->isEmpty() then&#xD;
    -- the Region is owned by a State&#xD;
      (state.redefinedState->notEmpty() and state.redefinedState.region->includes(redefinedRegion))&#xD;
    else -- the region is owned by a StateMachine&#xD;
      (stateMachine.extendedStateMachine->notEmpty() and&#xD;
        stateMachine.extendedStateMachine->exists(sm : StateMachine |&#xD;
          sm.region->includes(redefinedRegion)))&#xD;
    endif&#xD;
else&#xD;
  false&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Region-isRedefinitionContextValid-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Region-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Region-redefinitionContext.1" name="redefinitionContext" bodyCondition="Region-redefinitionContext.1-spec" class="Region" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Region-redefinitionContext.1-_ownedComment.0" annotatedElement="Region-redefinitionContext.1">
            <body>The redefinition context of a Region is the nearest containing StateMachine.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Region-redefinitionContext.1-spec" name="spec" constrainedElement="Region-redefinitionContext.1 Region-redefinitionContext" context="Region-redefinitionContext.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-redefinitionContext.1-spec-_specification">
              <language>OCL</language>
              <body>result = (let sm : StateMachine = containingStateMachine() in
if sm._'context' = null or sm.general->notEmpty() then
  sm
else
  sm._'context'
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Region-redefinitionContext.1-result" name="result" type="Classifier" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="State" name="State">
        <ownedComment xmi:type="uml:Comment" xmi:id="State-_ownedComment.0" annotatedElement="State">
          <body>A State models a situation during which some (usually implicit) invariant condition holds.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="State-entry_or_exit" name="entry_or_exit" constrainedElement="State" context="State">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-entry_or_exit-_ownedComment.0" annotatedElement="State-entry_or_exit">
            <body>Only entry or exit Pseudostates can serve as connection points.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-entry_or_exit-_specification">
            <language>OCL</language>
            <body>connectionPoint->forAll(kind = PseudostateKind::entryPoint or kind = PseudostateKind::exitPoint)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="State-submachine_states" name="submachine_states" constrainedElement="State" context="State">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-submachine_states-_ownedComment.0" annotatedElement="State-submachine_states">
            <body>Only submachine States can have connection point references.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-submachine_states-_specification">
            <language>OCL</language>
            <body>isSubmachineState implies connection->notEmpty( )</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="State-composite_states" name="composite_states" constrainedElement="State" context="State">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-composite_states-_ownedComment.0" annotatedElement="State-composite_states">
            <body>Only composite States can have entry or exit Pseudostates defined.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-composite_states-_specification">
            <language>OCL</language>
            <body>connectionPoint->notEmpty() implies isComposite</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="State-destinations_or_sources_of_transitions" name="destinations_or_sources_of_transitions" constrainedElement="State" context="State">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-destinations_or_sources_of_transitions-_ownedComment.0" annotatedElement="State-destinations_or_sources_of_transitions">
            <body>The connection point references used as destinations/sources of Transitions associated with a submachine State must be defined as entry/exit points in the submachine StateMachine.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-destinations_or_sources_of_transitions-_specification">
            <language>OCL</language>
            <body>self.isSubmachineState implies (self.connection->forAll (cp |&#xD;
  cp.entry->forAll (ps | ps.stateMachine = self.submachine) and&#xD;
  cp.exit->forAll (ps | ps.stateMachine = self.submachine)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="State-submachine_or_regions" name="submachine_or_regions" constrainedElement="State" context="State">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-submachine_or_regions-_ownedComment.0" annotatedElement="State-submachine_or_regions">
            <body>A State is not allowed to have both a submachine and Regions.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-submachine_or_regions-_specification">
            <language>OCL</language>
            <body>isComposite implies not isSubmachineState</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="State-_generalization.1" general="RedefinableElement" specific="State"/>
        <generalization xmi:type="uml:Generalization" xmi:id="State-_generalization.0" general="Namespace" specific="State"/>
        <generalization xmi:type="uml:Generalization" xmi:id="State-_generalization.2" general="Vertex" specific="State"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-connection" name="connection" type="ConnectionPointReference" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connection_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-connection-_ownedComment.0" annotatedElement="State-connection">
            <body>The entry and exit connection points used in conjunction with this (submachine) State, i.e., as targets and sources, respectively, in the Region with the submachine State. A connection point reference references the corresponding definition of a connection point Pseudostate in the StateMachine referenced by the submachine State.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-connection-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="State-connection-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-connectionPoint" name="connectionPoint" type="Pseudostate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connectionPoint_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-connectionPoint-_ownedComment.0" annotatedElement="State-connectionPoint">
            <body>The entry and exit Pseudostates of a composite State. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite States.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-connectionPoint-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="State-connectionPoint-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-deferrableTrigger" name="deferrableTrigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_deferrableTrigger_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-deferrableTrigger-_ownedComment.0" annotatedElement="State-deferrableTrigger">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-deferrableTrigger-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="State-deferrableTrigger-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-doActivity" name="doActivity" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_doActivity_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-doActivity-_ownedComment.0" annotatedElement="State-doActivity">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-doActivity-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-entry" name="entry" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_entry_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-entry-_ownedComment.0" annotatedElement="State-entry">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-entry-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-exit" name="exit" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_exit_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-exit-_ownedComment.0" annotatedElement="State-exit">
            <body>An optional Behavior that is executed whenever this State is exited regardless of which Transition was taken out of the State. If defined, exit Behaviors are always executed to completion only after all internal and transition Behaviors have completed execution.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-exit-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-isComposite" name="isComposite" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isComposite-_ownedComment.0" annotatedElement="State-isComposite">
            <body>A state with isComposite=true is said to be a composite State. A composite State is a State that contains at least one Region.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-isOrthogonal" name="isOrthogonal" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isOrthogonal-_ownedComment.0" annotatedElement="State-isOrthogonal">
            <body>A State with isOrthogonal=true is said to be an orthogonal composite State An orthogonal composite State contains two or more Regions.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-isSimple" name="isSimple" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isSimple-_ownedComment.0" annotatedElement="State-isSimple">
            <body>A State with isSimple=true is said to be a simple State A simple State does not have any Regions and it does not refer to any submachine StateMachine.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-isSubmachineState" name="isSubmachineState" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isSubmachineState-_ownedComment.0" annotatedElement="State-isSubmachineState">
            <body>A State with isSubmachineState=true is said to be a submachine State Such a State refers to another StateMachine(submachine).</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-redefinedState" name="redefinedState" type="State" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedState_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-redefinedState-_ownedComment.0" annotatedElement="State-redefinedState">
            <body>The State of which this State is a redefinition.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-redefinedState-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-redefinitionContext-_ownedComment.0" annotatedElement="State-redefinitionContext">
            <body>References the Classifier in which context this element may be redefined.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-region" name="region" type="Region" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_region_state">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-region-_ownedComment.0" annotatedElement="State-region">
            <body>The Regions owned directly by the State.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-region-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="State-region-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-stateInvariant" name="stateInvariant" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_stateInvariant_owningState">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-stateInvariant-_ownedComment.0" annotatedElement="State-stateInvariant">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-stateInvariant-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="State-submachine" name="submachine" type="StateMachine" association="A_submachineState_submachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-submachine-_ownedComment.0" annotatedElement="State-submachine">
            <body>The StateMachine that is to be inserted in place of the (submachine) State.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-submachine-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="State-containingStateMachine" name="containingStateMachine" bodyCondition="State-containingStateMachine-spec" class="State" isQuery="true" redefinedOperation="Vertex-containingStateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-containingStateMachine-_ownedComment.0" annotatedElement="State-containingStateMachine">
            <body>The query containingStateMachine() returns the StateMachine that contains the State either directly or transitively.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-containingStateMachine-spec" name="spec" constrainedElement="State-containingStateMachine" context="State-containingStateMachine">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-containingStateMachine-spec-_specification">
              <language>OCL</language>
              <body>result = (container.containingStateMachine())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="State-isComposite.1" name="isComposite" bodyCondition="State-isComposite.1-spec" class="State" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isComposite.1-_ownedComment.0" annotatedElement="State-isComposite.1">
            <body>A composite State is a State with at least one Region.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-isComposite.1-spec" name="spec" constrainedElement="State-isComposite.1 State-isComposite" context="State-isComposite.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isComposite.1-spec-_specification">
              <language>OCL</language>
              <body>result = (region->notEmpty())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-isComposite.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="State-isConsistentWith" name="isConsistentWith" bodyCondition="State-isConsistentWith-spec" class="State" isQuery="true" precondition="State-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isConsistentWith-_ownedComment.0" annotatedElement="State-isConsistentWith">
            <body>The query isConsistentWith() specifies that a redefining State is consistent with a redefined State provided that the redefining State is an extension of the redefined State A simple State can be redefined (extended) to become a composite State (by adding 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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-isConsistentWith-spec" name="spec" constrainedElement="State-isConsistentWith" context="State-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;
true)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-isConsistentWith-pre" name="pre" constrainedElement="State-isConsistentWith" context="State-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isConsistentWith-pre-_specification">
              <language>OCL</language>
              <body>redefiningElement.isRedefinitionContextValid(self)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="State-isOrthogonal.1" name="isOrthogonal" bodyCondition="State-isOrthogonal.1-spec" class="State" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isOrthogonal.1-_ownedComment.0" annotatedElement="State-isOrthogonal.1">
            <body>An orthogonal State is a composite state with at least 2 regions.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-isOrthogonal.1-spec" name="spec" constrainedElement="State-isOrthogonal.1 State-isOrthogonal" context="State-isOrthogonal.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isOrthogonal.1-spec-_specification">
              <language>OCL</language>
              <body>result = (region->size () > 1)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-isOrthogonal.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="State-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="State-isRedefinitionContextValid-spec" class="State" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isRedefinitionContextValid-_ownedComment.0" annotatedElement="State-isRedefinitionContextValid">
            <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a State are properly related to the redefinition contexts of the specified State to allow this element to redefine the other. This means that the containing Region of a redefining State must redefine the containing Region of the redefined State.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-isRedefinitionContextValid-spec" name="spec" constrainedElement="State-isRedefinitionContextValid" context="State-isRedefinitionContextValid">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isRedefinitionContextValid-spec-_specification">
              <language>OCL</language>
              <body>result = (if redefinedElement.oclIsKindOf(State) then&#xD;
  let redefinedState : State = redefinedElement.oclAsType(State) in&#xD;
    container.redefinedElement.oclAsType(Region)->exists(r:Region |&#xD;
      r.subvertex->includes(redefinedState))&#xD;
else&#xD;
  false&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-isRedefinitionContextValid-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="State-isSimple.1" name="isSimple" bodyCondition="State-isSimple.1-spec" class="State" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isSimple.1-_ownedComment.0" annotatedElement="State-isSimple.1">
            <body>A simple State is a State without any regions.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-isSimple.1-spec" name="spec" constrainedElement="State-isSimple.1 State-isSimple" context="State-isSimple.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isSimple.1-spec-_specification">
              <language>OCL</language>
              <body>result = ((region->isEmpty()) and not isSubmachineState())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-isSimple.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="State-isSubmachineState.1" name="isSubmachineState" bodyCondition="State-isSubmachineState.1-spec" class="State" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-isSubmachineState.1-_ownedComment.0" annotatedElement="State-isSubmachineState.1">
            <body>Only submachine State references another StateMachine.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-isSubmachineState.1-spec" name="spec" constrainedElement="State-isSubmachineState.1 State-isSubmachineState" context="State-isSubmachineState.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isSubmachineState.1-spec-_specification">
              <language>OCL</language>
              <body>result = (submachine &lt;> null)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-isSubmachineState.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="State-redefinitionContext.1" name="redefinitionContext" bodyCondition="State-redefinitionContext.1-spec" class="State" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="State-redefinitionContext.1-_ownedComment.0" annotatedElement="State-redefinitionContext.1">
            <body>The redefinition context of a State is the nearest containing StateMachine.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="State-redefinitionContext.1-spec" name="spec" constrainedElement="State-redefinitionContext.1 State-redefinitionContext" context="State-redefinitionContext.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="State-redefinitionContext.1-spec-_specification">
              <language>OCL</language>
              <body>result = (let sm : StateMachine = containingStateMachine() in
if sm._'context' = null or sm.general->notEmpty() then
  sm
else
  sm._'context'
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="State-redefinitionContext.1-result" name="result" type="Classifier" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StateMachine" name="StateMachine">
        <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-_ownedComment.0" annotatedElement="StateMachine">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-connection_points" name="connection_points" constrainedElement="StateMachine" context="StateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-connection_points-_ownedComment.0" annotatedElement="StateMachine-connection_points">
            <body>The connection points of a StateMachine are Pseudostates of kind entry point or exit point.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-connection_points-_specification">
            <language>OCL</language>
            <body>connectionPoint->forAll (kind = PseudostateKind::entryPoint or kind = PseudostateKind::exitPoint)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-classifier_context" name="classifier_context" constrainedElement="StateMachine" context="StateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-classifier_context-_ownedComment.0" annotatedElement="StateMachine-classifier_context">
            <body>The Classifier context of a StateMachine cannot be an Interface.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-classifier_context-_specification">
            <language>OCL</language>
            <body>_'context' &lt;> null implies not _'context'.oclIsKindOf(Interface)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-method" name="method" constrainedElement="StateMachine" context="StateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-method-_ownedComment.0" annotatedElement="StateMachine-method">
            <body>A StateMachine as the method for a BehavioralFeature cannot have entry/exit connection points.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-method-_specification">
            <language>OCL</language>
            <body>specification &lt;> null implies connectionPoint->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-context_classifier" name="context_classifier" constrainedElement="StateMachine" context="StateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-context_classifier-_ownedComment.0" annotatedElement="StateMachine-context_classifier">
            <body>The context Classifier of the method StateMachine of a BehavioralFeature must be the Classifier that owns the BehavioralFeature.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-context_classifier-_specification">
            <language>OCL</language>
            <body>specification &lt;> null implies ( _'context' &lt;> null and specification.featuringClassifier->exists(c | c = _'context'))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="StateMachine-_generalization.0" general="Behavior" specific="StateMachine"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StateMachine-connectionPoint" name="connectionPoint" type="Pseudostate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connectionPoint_stateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-connectionPoint-_ownedComment.0" annotatedElement="StateMachine-connectionPoint">
            <body>The connection points defined for this StateMachine. They represent the interface of the StateMachine when used as part of submachine State</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StateMachine-connectionPoint-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StateMachine-connectionPoint-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StateMachine-extendedStateMachine" name="extendedStateMachine" type="StateMachine" redefinedProperty="Behavior-redefinedBehavior" association="A_extendedStateMachine_stateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-extendedStateMachine-_ownedComment.0" annotatedElement="StateMachine-extendedStateMachine">
            <body>The StateMachines of which this is an extension.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StateMachine-extendedStateMachine-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StateMachine-extendedStateMachine-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StateMachine-region" name="region" type="Region" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_region_stateMachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-region-_ownedComment.0" annotatedElement="StateMachine-region">
            <body>The Regions owned directly by the StateMachine.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StateMachine-region-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StateMachine-submachineState" name="submachineState" type="State" association="A_submachineState_submachine">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-submachineState-_ownedComment.0" annotatedElement="StateMachine-submachineState">
            <body>References the submachine(s) in case of a submachine State. Multiple machines are referenced in case of a concurrent State.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StateMachine-submachineState-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StateMachine-submachineState-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StateMachine-LCA" name="LCA" bodyCondition="StateMachine-LCA-spec" class="StateMachine" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-LCA-_ownedComment.0" annotatedElement="StateMachine-LCA">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-LCA-spec" name="spec" constrainedElement="StateMachine-LCA" context="StateMachine-LCA">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-LCA-spec-_specification">
              <language>OCL</language>
              <body>result = (if ancestor(s1, s2) then &#xD;
    s2.container&#xD;
else&#xD;
	if ancestor(s2, s1) then&#xD;
	    s1.container &#xD;
	else &#xD;
	    LCA(s1.container.state, s2.container.state)&#xD;
	endif&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-LCA-result" name="result" type="Region" direction="return"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-LCA-s1" name="s1" type="Vertex"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-LCA-s2" name="s2" type="Vertex"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StateMachine-ancestor" name="ancestor" bodyCondition="StateMachine-ancestor-spec" class="StateMachine" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-ancestor-_ownedComment.0" annotatedElement="StateMachine-ancestor">
            <body>The query ancestor(s1, s2) checks whether Vertex s2 is an ancestor of Vertex s1.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-ancestor-spec" name="spec" constrainedElement="StateMachine-ancestor" context="StateMachine-ancestor">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-ancestor-spec-_specification">
              <language>OCL</language>
              <body>result = (if (s2 = s1) then &#xD;
	true &#xD;
else &#xD;
	if s1.container.stateMachine->notEmpty() then &#xD;
	    true&#xD;
	else &#xD;
	    if s2.container.stateMachine->notEmpty() then &#xD;
	        false&#xD;
	    else&#xD;
	        ancestor(s1, s2.container.state)&#xD;
	     endif&#xD;
	 endif&#xD;
endif  )</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-ancestor-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-ancestor-s1" name="s1" type="Vertex"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-ancestor-s2" name="s2" type="Vertex"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StateMachine-isConsistentWith" name="isConsistentWith" bodyCondition="StateMachine-isConsistentWith-spec" class="StateMachine" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-isConsistentWith-_ownedComment.0" annotatedElement="StateMachine-isConsistentWith">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-isConsistentWith-spec" name="spec" constrainedElement="StateMachine-isConsistentWith" context="StateMachine-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;
true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StateMachine-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="StateMachine-isRedefinitionContextValid-spec" class="StateMachine" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-isRedefinitionContextValid-_ownedComment.0" annotatedElement="StateMachine-isRedefinitionContextValid">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-isRedefinitionContextValid-spec" name="spec" constrainedElement="StateMachine-isRedefinitionContextValid" context="StateMachine-isRedefinitionContextValid">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-isRedefinitionContextValid-spec-_specification">
              <language>OCL</language>
              <body>result = (if redefinedElement.oclIsKindOf(StateMachine) then&#xD;
  let redefinedStateMachine : StateMachine = redefinedElement.oclAsType(StateMachine) in&#xD;
    self._'context'().oclAsType(BehavioredClassifier).redefinedClassifier->&#xD;
      includes(redefinedStateMachine._'context'())&#xD;
else&#xD;
  false&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-isRedefinitionContextValid-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StateMachine-LCAState" name="LCAState" bodyCondition="StateMachine-LCAState-spec" class="StateMachine" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateMachine-LCAState-_ownedComment.0" annotatedElement="StateMachine-LCAState">
            <body>This utility funciton is like the LCA, except that it returns the nearest composite State that contains both input Vertices.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StateMachine-LCAState-spec" name="spec" constrainedElement="StateMachine-LCAState" context="StateMachine-LCAState">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-LCAState-spec-_specification">
              <language>OCL</language>
              <body>result = (if v2.oclIsTypeOf(State) and ancestor(v1, v2) then&#xD;
	v2.oclAsType(State)&#xD;
else if v1.oclIsTypeOf(State) and ancestor(v2, v1) then&#xD;
	v1.oclAsType(State)&#xD;
else if (v1.container.state->isEmpty() or v2.container.state->isEmpty()) then &#xD;
	null.oclAsType(State)&#xD;
else LCAState(v1.container.state, v2.container.state)&#xD;
endif endif endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-LCAState-result" name="result" type="State" direction="return"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-LCAState-v1" name="v1" type="Vertex"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StateMachine-LCAState-v2" name="v2" type="Vertex"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Transition" name="Transition">
        <ownedComment xmi:type="uml:Comment" xmi:id="Transition-_ownedComment.0" annotatedElement="Transition">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-state_is_external" name="state_is_external" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-state_is_external-_ownedComment.0" annotatedElement="Transition-state_is_external">
            <body>A Transition with kind external can source any Vertex except entry points.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-state_is_external-_specification">
            <language>OCL</language>
            <body>(kind = TransitionKind::external) implies&#xD;
	not (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-join_segment_guards" name="join_segment_guards" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-join_segment_guards-_ownedComment.0" annotatedElement="Transition-join_segment_guards">
            <body>A join segment must not have Guards or Triggers.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-join_segment_guards-_specification">
            <language>OCL</language>
            <body>(target.oclIsKindOf(Pseudostate) and target.oclAsType(Pseudostate).kind = PseudostateKind::join) implies (guard = null and trigger->isEmpty())</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-state_is_internal" name="state_is_internal" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-state_is_internal-_ownedComment.0" annotatedElement="Transition-state_is_internal">
            <body>A Transition with kind internal must have a State as its source, and its source and target must be equal.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-state_is_internal-_specification">
            <language>OCL</language>
            <body>(kind = TransitionKind::internal) implies&#xD;
		(source.oclIsKindOf (State) and source = target)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-outgoing_pseudostates" name="outgoing_pseudostates" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-outgoing_pseudostates-_ownedComment.0" annotatedElement="Transition-outgoing_pseudostates">
            <body>Transitions outgoing Pseudostates may not have a Trigger.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-outgoing_pseudostates-_specification">
            <language>OCL</language>
            <body>source.oclIsKindOf(Pseudostate) and (source.oclAsType(Pseudostate).kind &lt;> PseudostateKind::initial) implies trigger->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-join_segment_state" name="join_segment_state" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-join_segment_state-_ownedComment.0" annotatedElement="Transition-join_segment_state">
            <body>A join segment must always originate from a State.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-join_segment_state-_specification">
            <language>OCL</language>
            <body>(target.oclIsKindOf(Pseudostate) and target.oclAsType(Pseudostate).kind = PseudostateKind::join) implies (source.oclIsKindOf(State))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-fork_segment_state" name="fork_segment_state" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-fork_segment_state-_ownedComment.0" annotatedElement="Transition-fork_segment_state">
            <body>A fork segment must always target a State.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-fork_segment_state-_specification">
            <language>OCL</language>
            <body>(source.oclIsKindOf(Pseudostate) and  source.oclAsType(Pseudostate).kind = PseudostateKind::fork) implies (target.oclIsKindOf(State))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-state_is_local" name="state_is_local" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-state_is_local-_ownedComment.0" annotatedElement="Transition-state_is_local">
            <body>A Transition with kind local must have a composite State or an entry point as its source.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-state_is_local-_specification">
            <language>OCL</language>
            <body>(kind = TransitionKind::local) implies&#xD;
		((source.oclIsKindOf (State) and source.oclAsType(State).isComposite) or&#xD;
		(source.oclIsKindOf (Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-initial_transition" name="initial_transition" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-initial_transition-_ownedComment.0" annotatedElement="Transition-initial_transition">
            <body>An initial Transition at the topmost level Region of a StateMachine that has no Trigger.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-initial_transition-_specification">
            <language>OCL</language>
            <body>(source.oclIsKindOf(Pseudostate) and container.stateMachine->notEmpty()) implies
	trigger->isEmpty()
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-fork_segment_guards" name="fork_segment_guards" constrainedElement="Transition" context="Transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-fork_segment_guards-_ownedComment.0" annotatedElement="Transition-fork_segment_guards">
            <body>A fork segment must not have Guards or Triggers.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-fork_segment_guards-_specification">
            <language>OCL</language>
            <body>(source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::fork) implies (guard = null and trigger->isEmpty())</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Transition-_generalization.0" general="Namespace" specific="Transition"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Transition-_generalization.1" general="RedefinableElement" specific="Transition"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-container" name="container" type="Region" subsettedProperty="NamedElement-namespace" association="A_transition_container">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-container-_ownedComment.0" annotatedElement="Transition-container">
            <body>Designates the Region that owns this Transition.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-effect" name="effect" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_effect_transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-effect-_ownedComment.0" annotatedElement="Transition-effect">
            <body>Specifies an optional behavior to be performed when the Transition fires.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-effect-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-guard" name="guard" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_guard_transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-guard-_ownedComment.0" annotatedElement="Transition-guard">
            <body>A guard is a Constraint that provides a fine-grained control over the firing of the Transition. The guard is evaluated when an Event occurrence is dispatched by the 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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-guard-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-kind" name="kind" type="TransitionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-kind-_ownedComment.0" annotatedElement="Transition-kind">
            <body>Indicates the precise type of the Transition.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="Transition-kind-_defaultValue" type="TransitionKind" instance="TransitionKind-external"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-redefinedTransition" name="redefinedTransition" type="Transition" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedTransition_transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-redefinedTransition-_ownedComment.0" annotatedElement="Transition-redefinedTransition">
            <body>The Transition that is redefined by this Transition.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-redefinedTransition-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-redefinitionContext-_ownedComment.0" annotatedElement="Transition-redefinitionContext">
            <body>References the Classifier in which context this element may be redefined.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-source" name="source" type="Vertex" association="A_outgoing_source_vertex">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-source-_ownedComment.0" annotatedElement="Transition-source">
            <body>Designates the originating Vertex (State or Pseudostate) of the Transition.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-target" name="target" type="Vertex" association="A_incoming_target_vertex">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-target-_ownedComment.0" annotatedElement="Transition-target">
            <body>Designates the target Vertex that is reached when the Transition is taken.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Transition-trigger" name="trigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_trigger_transition">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-trigger-_ownedComment.0" annotatedElement="Transition-trigger">
            <body>Specifies the Triggers that may fire the transition.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-trigger-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Transition-trigger-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Transition-containingStateMachine" name="containingStateMachine" bodyCondition="Transition-containingStateMachine-spec" class="Transition" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-containingStateMachine-_ownedComment.0" annotatedElement="Transition-containingStateMachine">
            <body>The query containingStateMachine() returns the StateMachine that contains the Transition either directly or transitively.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-containingStateMachine-spec" name="spec" constrainedElement="Transition-containingStateMachine" context="Transition-containingStateMachine">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-containingStateMachine-spec-_specification">
              <language>OCL</language>
              <body>result = (container.containingStateMachine())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Transition-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Transition-isConsistentWith" name="isConsistentWith" bodyCondition="Transition-isConsistentWith-spec" class="Transition" isQuery="true" precondition="Transition-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-isConsistentWith-_ownedComment.0" annotatedElement="Transition-isConsistentWith">
            <body>The query isConsistentWith() specifies that a redefining Transition is consistent with a redefined Transition provided that the redefining Transition has the following relation to the redefined Transition: A redefining Transition redefines all properties of the corresponding redefined Transition except the source State and the Trigger.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-isConsistentWith-spec" name="spec" constrainedElement="Transition-isConsistentWith" context="Transition-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;
true)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-isConsistentWith-pre" name="pre" constrainedElement="Transition-isConsistentWith" context="Transition-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-isConsistentWith-pre-_specification">
              <language>OCL</language>
              <body>redefiningElement.isRedefinitionContextValid(self)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Transition-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Transition-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Transition-redefinitionContext.1" name="redefinitionContext" bodyCondition="Transition-redefinitionContext.1-spec" class="Transition" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Transition-redefinitionContext.1-_ownedComment.0" annotatedElement="Transition-redefinitionContext.1">
            <body>The redefinition context of a Transition is the nearest containing StateMachine.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Transition-redefinitionContext.1-spec" name="spec" constrainedElement="Transition-redefinitionContext.1 Transition-redefinitionContext" context="Transition-redefinitionContext.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-redefinitionContext.1-spec-_specification">
              <language>OCL</language>
              <body>result = (let sm : StateMachine = containingStateMachine() in
if sm._'context' = null or sm.general->notEmpty() then
  sm
else
  sm._'context'
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Transition-redefinitionContext.1-result" name="result" type="Classifier" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Vertex" name="Vertex" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-_ownedComment.0" annotatedElement="Vertex">
          <body>A Vertex is an abstraction of a node in a StateMachine graph. It can be the source or destination of any number of Transitions.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Vertex-_generalization.0" general="NamedElement" specific="Vertex"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Vertex-container" name="container" type="Region" subsettedProperty="NamedElement-namespace" association="A_subvertex_container">
          <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-container-_ownedComment.0" annotatedElement="Vertex-container">
            <body>The Region that contains this Vertex.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-container-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Vertex-incoming" name="incoming" type="Transition" isReadOnly="true" isDerived="true" association="A_incoming_target_vertex">
          <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-incoming-_ownedComment.0" annotatedElement="Vertex-incoming">
            <body>Specifies the Transitions entering this Vertex.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-incoming-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Vertex-incoming-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Vertex-outgoing" name="outgoing" type="Transition" isReadOnly="true" isDerived="true" association="A_outgoing_source_vertex">
          <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-outgoing-_ownedComment.0" annotatedElement="Vertex-outgoing">
            <body>Specifies the Transitions departing from this Vertex.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-outgoing-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Vertex-outgoing-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Vertex-containingStateMachine" name="containingStateMachine" bodyCondition="Vertex-containingStateMachine-spec" class="Vertex" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-containingStateMachine-_ownedComment.0" annotatedElement="Vertex-containingStateMachine">
            <body>The operation containingStateMachine() returns the StateMachine in which this Vertex is defined.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Vertex-containingStateMachine-spec" name="spec" constrainedElement="Vertex-containingStateMachine" context="Vertex-containingStateMachine">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-containingStateMachine-spec-_specification">
              <language>OCL</language>
              <body>result = (if container &lt;> null
then
-- the container is a region
   container.containingStateMachine()
else 
   if (self.oclIsKindOf(Pseudostate)) and ((self.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint) or (self.oclAsType(Pseudostate).kind = PseudostateKind::exitPoint)) then
      self.oclAsType(Pseudostate).stateMachine
   else 
      if (self.oclIsKindOf(ConnectionPointReference)) then
          self.oclAsType(ConnectionPointReference).state.containingStateMachine() -- no other valid cases possible
      else 
          null
      endif
   endif
endif

)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Vertex-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Vertex-incoming.1" name="incoming" bodyCondition="Vertex-incoming.1-spec" class="Vertex" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-incoming.1-_ownedComment.0" annotatedElement="Vertex-incoming.1">
            <body>Derivation for Vertex::/incoming.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Vertex-incoming.1-spec" name="spec" constrainedElement="Vertex-incoming.1 Vertex-incoming" context="Vertex-incoming.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-incoming.1-spec-_specification">
              <language>OCL</language>
              <body>result = (Transition.allInstances()->select(target=self))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Vertex-incoming.1-result" name="result" type="Transition" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-incoming.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Vertex-incoming.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Vertex-outgoing.1" name="outgoing" bodyCondition="Vertex-outgoing.1-spec" class="Vertex" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-outgoing.1-_ownedComment.0" annotatedElement="Vertex-outgoing.1">
            <body>Derivation for Vertex::/outgoing</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Vertex-outgoing.1-spec" name="spec" constrainedElement="Vertex-outgoing.1 Vertex-outgoing" context="Vertex-outgoing.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-outgoing.1-spec-_specification">
              <language>OCL</language>
              <body>result = (Transition.allInstances()->select(source=self))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Vertex-outgoing.1-result" name="result" type="Transition" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-outgoing.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Vertex-outgoing.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Vertex-isContainedInState" name="isContainedInState" bodyCondition="Vertex-isContainedInState-spec" class="Vertex" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-isContainedInState-_ownedComment.0" annotatedElement="Vertex-isContainedInState">
            <body>This utility operation returns true if the Vertex is contained in the State s (input argument).</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Vertex-isContainedInState-spec" name="spec" constrainedElement="Vertex-isContainedInState" context="Vertex-isContainedInState">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-isContainedInState-spec-_specification">
              <language>OCL</language>
              <body>result = (if not s.isComposite() or container->isEmpty() then&#xD;
	false&#xD;
else&#xD;
	if container.state = s then &#xD;
		true&#xD;
	else&#xD;
		container.state.isContainedInState(s)&#xD;
	endif&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Vertex-isContainedInState-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Vertex-isContainedInState-s" name="s" type="State"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Vertex-isContainedInRegion" name="isContainedInRegion" bodyCondition="Vertex-isContainedInRegion-spec" class="Vertex" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Vertex-isContainedInRegion-_ownedComment.0" annotatedElement="Vertex-isContainedInRegion">
            <body>This utility query returns true if the Vertex is contained in the Region r (input argument).</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Vertex-isContainedInRegion-spec" name="spec" constrainedElement="Vertex-isContainedInRegion" context="Vertex-isContainedInRegion">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-isContainedInRegion-spec-_specification">
              <language>OCL</language>
              <body>result = (if (container = r) then&#xD;
	true&#xD;
else&#xD;
	if (r.state->isEmpty()) then&#xD;
		false&#xD;
	else&#xD;
		container.state.isContainedInRegion(r)&#xD;
	endif&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Vertex-isContainedInRegion-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Vertex-isContainedInRegion-r" name="r" type="Region"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="PseudostateKind" name="PseudostateKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="PseudostateKind-_ownedComment.0" annotatedElement="PseudostateKind">
          <body>PseudostateKind is an Enumeration type that is used to differentiate various kinds of Pseudostates.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-initial" name="initial" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-deepHistory" name="deepHistory" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-shallowHistory" name="shallowHistory" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-join" name="join" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-fork" name="fork" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-junction" name="junction" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-choice" name="choice" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-entryPoint" name="entryPoint" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-exitPoint" name="exitPoint" enumeration="PseudostateKind"/>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="PseudostateKind-terminate" name="terminate" enumeration="PseudostateKind"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="TransitionKind" name="TransitionKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="TransitionKind-_ownedComment.0" annotatedElement="TransitionKind">
          <body>TransitionKind is an Enumeration type used to differentiate the various kinds of Transitions.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="TransitionKind-internal" name="internal" enumeration="TransitionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="TransitionKind-internal-_ownedComment.0" annotatedElement="TransitionKind-internal">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="TransitionKind-local" name="local" enumeration="TransitionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="TransitionKind-local-_ownedComment.0" annotatedElement="TransitionKind-local">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="TransitionKind-external" name="external" enumeration="TransitionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="TransitionKind-external-_ownedComment.0" annotatedElement="TransitionKind-external">
            <body>Implies that the Transition, if triggered, will exit the composite (source) State.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_incoming_target_vertex" name="A_incoming_target_vertex" memberEnd="Vertex-incoming Transition-target"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_vertex" name="A_outgoing_source_vertex" memberEnd="Vertex-outgoing Transition-source"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_trigger_transition" name="A_trigger_transition" memberEnd="Transition-trigger A_trigger_transition-transition">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_trigger_transition-transition" name="transition" type="Transition" owningAssociation="A_trigger_transition" subsettedProperty="Element-owner" association="A_trigger_transition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_trigger_transition-transition-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_guard_transition" name="A_guard_transition" memberEnd="Transition-guard A_guard_transition-transition">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_guard_transition-transition" name="transition" type="Transition" owningAssociation="A_guard_transition" subsettedProperty="Constraint-context" association="A_guard_transition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_guard_transition-transition-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedTransition_transition" name="A_redefinedTransition_transition" memberEnd="Transition-redefinedTransition A_redefinedTransition_transition-transition">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedTransition_transition-transition" name="transition" type="Transition" owningAssociation="A_redefinedTransition_transition" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedTransition_transition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedTransition_transition-transition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedTransition_transition-transition-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_transition" name="A_redefinitionContext_transition" isDerived="true" memberEnd="Transition-redefinitionContext A_redefinitionContext_transition-transition">
        <generalization xmi:type="uml:Generalization" xmi:id="A_redefinitionContext_transition-_generalization.0" general="A_redefinitionContext_redefinableElement" specific="A_redefinitionContext_transition"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinitionContext_transition-transition" name="transition" type="Transition" owningAssociation="A_redefinitionContext_transition" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_redefinitionContext_transition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinitionContext_transition-transition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinitionContext_transition-transition-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_effect_transition" name="A_effect_transition" memberEnd="Transition-effect A_effect_transition-transition">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_effect_transition-transition" name="transition" type="Transition" owningAssociation="A_effect_transition" subsettedProperty="Element-owner" association="A_effect_transition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_effect_transition-transition-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_submachineState_submachine" name="A_submachineState_submachine" memberEnd="StateMachine-submachineState State-submachine"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_connectionPoint_stateMachine" name="A_connectionPoint_stateMachine" memberEnd="StateMachine-connectionPoint Pseudostate-stateMachine"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_region_stateMachine" name="A_region_stateMachine" memberEnd="StateMachine-region Region-stateMachine"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_extendedStateMachine_stateMachine" name="A_extendedStateMachine_stateMachine" memberEnd="StateMachine-extendedStateMachine A_extendedStateMachine_stateMachine-stateMachine">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_extendedStateMachine_stateMachine-stateMachine" name="stateMachine" type="StateMachine" owningAssociation="A_extendedStateMachine_stateMachine" subsettedProperty="A_redefinedBehavior_behavior-behavior" association="A_extendedStateMachine_stateMachine">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extendedStateMachine_stateMachine-stateMachine-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extendedStateMachine_stateMachine-stateMachine-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_state" name="A_redefinitionContext_state" isDerived="true" memberEnd="State-redefinitionContext A_redefinitionContext_state-state">
        <generalization xmi:type="uml:Generalization" xmi:id="A_redefinitionContext_state-_generalization.0" general="A_redefinitionContext_redefinableElement" specific="A_redefinitionContext_state"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinitionContext_state-state" name="state" type="State" owningAssociation="A_redefinitionContext_state" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_redefinitionContext_state">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinitionContext_state-state-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinitionContext_state-state-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_region_state" name="A_region_state" memberEnd="State-region Region-state"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_stateInvariant_owningState" name="A_stateInvariant_owningState" memberEnd="State-stateInvariant A_stateInvariant_owningState-owningState">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_stateInvariant_owningState-owningState" name="owningState" type="State" owningAssociation="A_stateInvariant_owningState" subsettedProperty="Constraint-context" association="A_stateInvariant_owningState">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_stateInvariant_owningState-owningState-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedState_state" name="A_redefinedState_state" memberEnd="State-redefinedState A_redefinedState_state-state">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedState_state-state" name="state" type="State" owningAssociation="A_redefinedState_state" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedState_state">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedState_state-state-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedState_state-state-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_deferrableTrigger_state" name="A_deferrableTrigger_state" memberEnd="State-deferrableTrigger A_deferrableTrigger_state-state">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_deferrableTrigger_state-state" name="state" type="State" owningAssociation="A_deferrableTrigger_state" subsettedProperty="Element-owner" association="A_deferrableTrigger_state">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_deferrableTrigger_state-state-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_connection_state" name="A_connection_state" memberEnd="State-connection ConnectionPointReference-state"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_entry_state" name="A_entry_state" memberEnd="State-entry A_entry_state-state">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_entry_state-state" name="state" type="State" owningAssociation="A_entry_state" subsettedProperty="Element-owner" association="A_entry_state">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_entry_state-state-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_connectionPoint_state" name="A_connectionPoint_state" memberEnd="State-connectionPoint Pseudostate-state"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_doActivity_state" name="A_doActivity_state" memberEnd="State-doActivity A_doActivity_state-state">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_doActivity_state-state" name="state" type="State" owningAssociation="A_doActivity_state" subsettedProperty="Element-owner" association="A_doActivity_state">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_doActivity_state-state-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_exit_state" name="A_exit_state" memberEnd="State-exit A_exit_state-state">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_exit_state-state" name="state" type="State" owningAssociation="A_exit_state" subsettedProperty="Element-owner" association="A_exit_state">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exit_state-state-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_extendedRegion_region" name="A_extendedRegion_region" memberEnd="Region-extendedRegion A_extendedRegion_region-region">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_extendedRegion_region-region" name="region" type="Region" owningAssociation="A_extendedRegion_region" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_extendedRegion_region">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extendedRegion_region-region-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extendedRegion_region-region-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_subvertex_container" name="A_subvertex_container" memberEnd="Region-subvertex Vertex-container"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_region" name="A_redefinitionContext_region" isDerived="true" memberEnd="Region-redefinitionContext A_redefinitionContext_region-region">
        <generalization xmi:type="uml:Generalization" xmi:id="A_redefinitionContext_region-_generalization.0" general="A_redefinitionContext_redefinableElement" specific="A_redefinitionContext_region"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinitionContext_region-region" name="region" type="Region" owningAssociation="A_redefinitionContext_region" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_redefinitionContext_region">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinitionContext_region-region-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinitionContext_region-region-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_transition_container" name="A_transition_container" memberEnd="Region-transition Transition-container"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_referred_protocolTransition" name="A_referred_protocolTransition" isDerived="true" memberEnd="ProtocolTransition-referred A_referred_protocolTransition-protocolTransition">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_referred_protocolTransition-protocolTransition" name="protocolTransition" type="ProtocolTransition" owningAssociation="A_referred_protocolTransition" association="A_referred_protocolTransition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_referred_protocolTransition-protocolTransition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_referred_protocolTransition-protocolTransition-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_preCondition_protocolTransition" name="A_preCondition_protocolTransition" memberEnd="ProtocolTransition-preCondition A_preCondition_protocolTransition-protocolTransition">
        <generalization xmi:type="uml:Generalization" xmi:id="A_preCondition_protocolTransition-_generalization.0" general="A_guard_transition" specific="A_preCondition_protocolTransition"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_preCondition_protocolTransition-protocolTransition" name="protocolTransition" type="ProtocolTransition" owningAssociation="A_preCondition_protocolTransition" redefinedProperty="A_guard_transition-transition" association="A_preCondition_protocolTransition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_preCondition_protocolTransition-protocolTransition-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_postCondition_owningTransition" name="A_postCondition_owningTransition" memberEnd="ProtocolTransition-postCondition A_postCondition_owningTransition-owningTransition">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_postCondition_owningTransition-owningTransition" name="owningTransition" type="ProtocolTransition" owningAssociation="A_postCondition_owningTransition" subsettedProperty="Constraint-context" association="A_postCondition_owningTransition">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_postCondition_owningTransition-owningTransition-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_conformance_specificMachine" name="A_conformance_specificMachine" memberEnd="ProtocolStateMachine-conformance ProtocolConformance-specificMachine"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_generalMachine_protocolConformance" name="A_generalMachine_protocolConformance" memberEnd="ProtocolConformance-generalMachine A_generalMachine_protocolConformance-protocolConformance">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_generalMachine_protocolConformance-protocolConformance" name="protocolConformance" type="ProtocolConformance" owningAssociation="A_generalMachine_protocolConformance" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_generalMachine_protocolConformance">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_generalMachine_protocolConformance-protocolConformance-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_generalMachine_protocolConformance-protocolConformance-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_entry_connectionPointReference" name="A_entry_connectionPointReference" memberEnd="ConnectionPointReference-entry A_entry_connectionPointReference-connectionPointReference">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_entry_connectionPointReference-connectionPointReference" name="connectionPointReference" type="ConnectionPointReference" owningAssociation="A_entry_connectionPointReference" association="A_entry_connectionPointReference">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_entry_connectionPointReference-connectionPointReference-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_exit_connectionPointReference" name="A_exit_connectionPointReference" memberEnd="ConnectionPointReference-exit A_exit_connectionPointReference-connectionPointReference">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_exit_connectionPointReference-connectionPointReference" name="connectionPointReference" type="ConnectionPointReference" owningAssociation="A_exit_connectionPointReference" association="A_exit_connectionPointReference">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exit_connectionPointReference-connectionPointReference-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="SimpleClassifiers" name="SimpleClassifiers">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="Classification" importingNamespace="SimpleClassifiers"/>
      <packagedElement xmi:type="uml:Class" xmi:id="BehavioredClassifier" name="BehavioredClassifier" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="BehavioredClassifier-_ownedComment.0" annotatedElement="BehavioredClassifier">
          <body>A BehavioredClassifier may have InterfaceRealizations, and owns a set of Behaviors one of which may specify the behavior of the BehavioredClassifier itself.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="BehavioredClassifier-class_behavior" name="class_behavior" constrainedElement="BehavioredClassifier" context="BehavioredClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioredClassifier-class_behavior-_ownedComment.0" annotatedElement="BehavioredClassifier-class_behavior">
            <body>If a behavior is classifier behavior, it does not have a specification.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioredClassifier-class_behavior-_specification">
            <language>OCL</language>
            <body>classifierBehavior->notEmpty() implies classifierBehavior.specification->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="BehavioredClassifier-_generalization.0" general="Classifier" specific="BehavioredClassifier"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioredClassifier-classifierBehavior" name="classifierBehavior" type="Behavior" subsettedProperty="BehavioredClassifier-ownedBehavior" association="A_classifierBehavior_behavioredClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioredClassifier-classifierBehavior-_ownedComment.0" annotatedElement="BehavioredClassifier-classifierBehavior">
            <body>A Behavior that specifies the behavior of the BehavioredClassifier itself.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-classifierBehavior-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioredClassifier-interfaceRealization" name="interfaceRealization" type="InterfaceRealization" aggregation="composite" subsettedProperty="Element-ownedElement NamedElement-clientDependency" association="A_interfaceRealization_implementingClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioredClassifier-interfaceRealization-_ownedComment.0" annotatedElement="BehavioredClassifier-interfaceRealization">
            <body>The set of InterfaceRealizations owned by the BehavioredClassifier. Interface realizations reference the Interfaces of which the BehavioredClassifier is an implementation.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-interfaceRealization-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-interfaceRealization-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioredClassifier-ownedBehavior" name="ownedBehavior" type="Behavior" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedBehavior_behavioredClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioredClassifier-ownedBehavior-_ownedComment.0" annotatedElement="BehavioredClassifier-ownedBehavior">
            <body>Behaviors owned by a BehavioredClassifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-ownedBehavior-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-ownedBehavior-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DataType" name="DataType">
        <ownedComment xmi:type="uml:Comment" xmi:id="DataType-_ownedComment.0" annotatedElement="DataType">
          <body>A DataType is a type whose instances are identified only by their value.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="DataType-_generalization.0" general="Classifier" specific="DataType"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DataType-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_datatype">
          <ownedComment xmi:type="uml:Comment" xmi:id="DataType-ownedAttribute-_ownedComment.0" annotatedElement="DataType-ownedAttribute">
            <body>The attributes owned by the DataType.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-ownedAttribute-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-ownedAttribute-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DataType-ownedOperation" name="ownedOperation" type="Operation" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedOperation_datatype">
          <ownedComment xmi:type="uml:Comment" xmi:id="DataType-ownedOperation-_ownedComment.0" annotatedElement="DataType-ownedOperation">
            <body>The Operations owned by the DataType.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-ownedOperation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-ownedOperation-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Enumeration" name="Enumeration">
        <ownedComment xmi:type="uml:Comment" xmi:id="Enumeration-_ownedComment.0" annotatedElement="Enumeration">
          <body>An Enumeration is a DataType whose values are enumerated in the model as EnumerationLiterals.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Enumeration-immutable" name="immutable" constrainedElement="Enumeration" context="Enumeration">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Enumeration-immutable-_specification">
            <language>OCL</language>
            <body>ownedAttribute->forAll(isReadOnly)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Enumeration-_generalization.0" general="DataType" specific="Enumeration"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Enumeration-ownedLiteral" name="ownedLiteral" type="EnumerationLiteral" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedLiteral_enumeration">
          <ownedComment xmi:type="uml:Comment" xmi:id="Enumeration-ownedLiteral-_ownedComment.0" annotatedElement="Enumeration-ownedLiteral">
            <body>The ordered set of literals owned by this Enumeration.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Enumeration-ownedLiteral-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Enumeration-ownedLiteral-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="EnumerationLiteral" name="EnumerationLiteral">
        <ownedComment xmi:type="uml:Comment" xmi:id="EnumerationLiteral-_ownedComment.0" annotatedElement="EnumerationLiteral">
          <body>An EnumerationLiteral is a user-defined data value for an Enumeration.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="EnumerationLiteral-_generalization.0" general="InstanceSpecification" specific="EnumerationLiteral"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="EnumerationLiteral-classifier" name="classifier" type="Enumeration" isReadOnly="true" isDerived="true" redefinedProperty="InstanceSpecification-classifier" association="A_classifier_enumerationLiteral">
          <ownedComment xmi:type="uml:Comment" xmi:id="EnumerationLiteral-classifier-_ownedComment.0" annotatedElement="EnumerationLiteral-classifier">
            <body>The classifier of this EnumerationLiteral derived to be equal to its Enumeration.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="EnumerationLiteral-enumeration" name="enumeration" type="Enumeration" subsettedProperty="NamedElement-namespace" association="A_ownedLiteral_enumeration">
          <ownedComment xmi:type="uml:Comment" xmi:id="EnumerationLiteral-enumeration-_ownedComment.0" annotatedElement="EnumerationLiteral-enumeration">
            <body>The Enumeration that this EnumerationLiteral is a member of.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="EnumerationLiteral-classifier.1" name="classifier" bodyCondition="EnumerationLiteral-classifier.1-spec" class="EnumerationLiteral" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="EnumerationLiteral-classifier.1-_ownedComment.0" annotatedElement="EnumerationLiteral-classifier.1">
            <body>Derivation of Enumeration::/classifier</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="EnumerationLiteral-classifier.1-spec" name="spec" constrainedElement="EnumerationLiteral-classifier.1 EnumerationLiteral-classifier" context="EnumerationLiteral-classifier.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="EnumerationLiteral-classifier.1-spec-_specification">
              <language>OCL</language>
              <body>result = (enumeration)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="EnumerationLiteral-classifier.1-result" name="result" type="Enumeration" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Interface" name="Interface">
        <ownedComment xmi:type="uml:Comment" xmi:id="Interface-_ownedComment.0" annotatedElement="Interface">
          <body>Interfaces declare coherent services that are implemented by BehavioredClassifiers that implement the Interfaces via InterfaceRealizations.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Interface-visibility" name="visibility" constrainedElement="Interface" context="Interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interface-visibility-_ownedComment.0" annotatedElement="Interface-visibility">
            <body>The visibility of all Features owned by an Interface must be public.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Interface-visibility-_specification">
            <language>OCL</language>
            <body>feature->forAll(visibility = VisibilityKind::public)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Interface-_generalization.0" general="Classifier" specific="Interface"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interface-nestedClassifier" name="nestedClassifier" type="Classifier" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Namespace-ownedMember" association="A_nestedClassifier_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interface-nestedClassifier-_ownedComment.0" annotatedElement="Interface-nestedClassifier">
            <body>References all the Classifiers that are defined (nested) within the Interface.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-nestedClassifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-nestedClassifier-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interface-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interface-ownedAttribute-_ownedComment.0" annotatedElement="Interface-ownedAttribute">
            <body>The attributes (i.e., the Properties) owned by the Interface.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-ownedAttribute-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-ownedAttribute-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interface-ownedOperation" name="ownedOperation" type="Operation" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedOperation_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interface-ownedOperation-_ownedComment.0" annotatedElement="Interface-ownedOperation">
            <body>The Operations owned by the Interface.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-ownedOperation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-ownedOperation-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interface-ownedReception" name="ownedReception" type="Reception" aggregation="composite" subsettedProperty="Classifier-feature Namespace-ownedMember" association="A_ownedReception_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interface-ownedReception-_ownedComment.0" annotatedElement="Interface-ownedReception">
            <body>Receptions that objects providing this Interface are willing to accept.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-ownedReception-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-ownedReception-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interface-protocol" name="protocol" type="ProtocolStateMachine" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_protocol_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interface-protocol-_ownedComment.0" annotatedElement="Interface-protocol">
            <body>References a ProtocolStateMachine specifying the legal sequences of the invocation of the BehavioralFeatures described in the Interface.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-protocol-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interface-redefinedInterface" name="redefinedInterface" type="Interface" subsettedProperty="Classifier-redefinedClassifier" association="A_redefinedInterface_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interface-redefinedInterface-_ownedComment.0" annotatedElement="Interface-redefinedInterface">
            <body>References all the Interfaces redefined by this Interface.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-redefinedInterface-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-redefinedInterface-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InterfaceRealization" name="InterfaceRealization">
        <ownedComment xmi:type="uml:Comment" xmi:id="InterfaceRealization-_ownedComment.0" annotatedElement="InterfaceRealization">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="InterfaceRealization-_generalization.0" general="Realization" specific="InterfaceRealization"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InterfaceRealization-contract" name="contract" type="Interface" subsettedProperty="Dependency-supplier" association="A_contract_interfaceRealization">
          <ownedComment xmi:type="uml:Comment" xmi:id="InterfaceRealization-contract-_ownedComment.0" annotatedElement="InterfaceRealization-contract">
            <body>References the Interface specifying the conformance contract.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InterfaceRealization-implementingClassifier" name="implementingClassifier" type="BehavioredClassifier" subsettedProperty="Dependency-client Element-owner" association="A_interfaceRealization_implementingClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="InterfaceRealization-implementingClassifier-_ownedComment.0" annotatedElement="InterfaceRealization-implementingClassifier">
            <body>References the BehavioredClassifier that owns this InterfaceRealization, i.e., the BehavioredClassifier that realizes the Interface to which it refers.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="PrimitiveType" name="PrimitiveType">
        <ownedComment xmi:type="uml:Comment" xmi:id="PrimitiveType-_ownedComment.0" annotatedElement="PrimitiveType">
          <body>A PrimitiveType defines a predefined DataType, without any substructure. A PrimitiveType may have an algebra and operations defined outside of UML, for example, mathematically.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="PrimitiveType-_generalization.0" general="DataType" specific="PrimitiveType"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Reception" name="Reception">
        <ownedComment xmi:type="uml:Comment" xmi:id="Reception-_ownedComment.0" annotatedElement="Reception">
          <body>A Reception is a declaration stating that a Classifier is prepared to react to the receipt of a Signal.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Reception-same_name_as_signal" name="same_name_as_signal" constrainedElement="Reception" context="Reception">
          <ownedComment xmi:type="uml:Comment" xmi:id="Reception-same_name_as_signal-_ownedComment.0" annotatedElement="Reception-same_name_as_signal">
            <body>A Reception has the same name as its signal</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Reception-same_name_as_signal-_specification">
            <language>OCL</language>
            <body>name = signal.name</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Reception-same_structure_as_signal" name="same_structure_as_signal" constrainedElement="Reception" context="Reception">
          <ownedComment xmi:type="uml:Comment" xmi:id="Reception-same_structure_as_signal-_ownedComment.0" annotatedElement="Reception-same_structure_as_signal">
            <body>A Reception's parameters match the ownedAttributes of its signal by name, type, and multiplicity</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Reception-same_structure_as_signal-_specification">
            <language>OCL</language>
            <body>signal.ownedAttribute->size() = ownedParameter->size() and&#xD;
Sequence{1..signal.ownedAttribute->size()}->forAll( i | &#xD;
    ownedParameter->at(i).direction = ParameterDirectionKind::_'in' and &#xD;
    ownedParameter->at(i).name = signal.ownedAttribute->at(i).name and&#xD;
    ownedParameter->at(i).type = signal.ownedAttribute->at(i).type and&#xD;
    ownedParameter->at(i).lowerBound() = signal.ownedAttribute->at(i).lowerBound() and&#xD;
    ownedParameter->at(i).upperBound() = signal.ownedAttribute->at(i).upperBound()&#xD;
)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Reception-_generalization.0" general="BehavioralFeature" specific="Reception"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Reception-signal" name="signal" type="Signal" association="A_signal_reception">
          <ownedComment xmi:type="uml:Comment" xmi:id="Reception-signal-_ownedComment.0" annotatedElement="Reception-signal">
            <body>The Signal that this Reception handles.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Signal" name="Signal">
        <ownedComment xmi:type="uml:Comment" xmi:id="Signal-_ownedComment.0" annotatedElement="Signal">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Signal-_generalization.0" general="Classifier" specific="Signal"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Signal-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_owningSignal">
          <ownedComment xmi:type="uml:Comment" xmi:id="Signal-ownedAttribute-_ownedComment.0" annotatedElement="Signal-ownedAttribute">
            <body>The attributes owned by the Signal.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-ownedAttribute-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-ownedAttribute-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_owningSignal" name="A_ownedAttribute_owningSignal" memberEnd="Signal-ownedAttribute A_ownedAttribute_owningSignal-owningSignal">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedAttribute_owningSignal-owningSignal" name="owningSignal" type="Signal" owningAssociation="A_ownedAttribute_owningSignal" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_owningSignal">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedAttribute_owningSignal-owningSignal-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_signal_reception" name="A_signal_reception" memberEnd="Reception-signal A_signal_reception-reception">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_signal_reception-reception" name="reception" type="Reception" owningAssociation="A_signal_reception" association="A_signal_reception">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signal_reception-reception-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signal_reception-reception-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_contract_interfaceRealization" name="A_contract_interfaceRealization" memberEnd="InterfaceRealization-contract A_contract_interfaceRealization-interfaceRealization">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_contract_interfaceRealization-interfaceRealization" name="interfaceRealization" type="InterfaceRealization" owningAssociation="A_contract_interfaceRealization" subsettedProperty="A_supplier_supplierDependency-supplierDependency" association="A_contract_interfaceRealization">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_contract_interfaceRealization-interfaceRealization-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_contract_interfaceRealization-interfaceRealization-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_protocol_interface" name="A_protocol_interface" memberEnd="Interface-protocol A_protocol_interface-interface">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_protocol_interface-interface" name="interface" type="Interface" owningAssociation="A_protocol_interface" subsettedProperty="NamedElement-namespace" association="A_protocol_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="A_protocol_interface-interface-_ownedComment.0" annotatedElement="A_protocol_interface-interface">
            <body>Specifies the namespace in which the protocol state machine is defined.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_protocol_interface-interface-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedReception_interface" name="A_ownedReception_interface" memberEnd="Interface-ownedReception A_ownedReception_interface-interface">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedReception_interface-interface" name="interface" type="Interface" owningAssociation="A_ownedReception_interface" subsettedProperty="Feature-featuringClassifier NamedElement-namespace" association="A_ownedReception_interface">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedReception_interface-interface-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedInterface_interface" name="A_redefinedInterface_interface" memberEnd="Interface-redefinedInterface A_redefinedInterface_interface-interface">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedInterface_interface-interface" name="interface" type="Interface" owningAssociation="A_redefinedInterface_interface" subsettedProperty="A_redefinedClassifier_classifier-classifier" association="A_redefinedInterface_interface">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedInterface_interface-interface-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedInterface_interface-interface-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_nestedClassifier_interface" name="A_nestedClassifier_interface" memberEnd="Interface-nestedClassifier A_nestedClassifier_interface-interface">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_nestedClassifier_interface-interface" name="interface" type="Interface" owningAssociation="A_nestedClassifier_interface" subsettedProperty="NamedElement-namespace RedefinableElement-redefinitionContext" association="A_nestedClassifier_interface">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nestedClassifier_interface-interface-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_interface" name="A_ownedOperation_interface" memberEnd="Interface-ownedOperation Operation-interface"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_interface" name="A_ownedAttribute_interface" memberEnd="Interface-ownedAttribute Property-interface"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_enumerationLiteral" name="A_classifier_enumerationLiteral" isDerived="true" memberEnd="EnumerationLiteral-classifier A_classifier_enumerationLiteral-enumerationLiteral">
        <generalization xmi:type="uml:Generalization" xmi:id="A_classifier_enumerationLiteral-_generalization.0" general="A_classifier_instanceSpecification" specific="A_classifier_enumerationLiteral"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_classifier_enumerationLiteral-enumerationLiteral" name="enumerationLiteral" type="EnumerationLiteral" owningAssociation="A_classifier_enumerationLiteral" redefinedProperty="A_classifier_instanceSpecification-instanceSpecification" association="A_classifier_enumerationLiteral">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_enumerationLiteral-enumerationLiteral-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_classifier_enumerationLiteral-enumerationLiteral-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedLiteral_enumeration" name="A_ownedLiteral_enumeration" memberEnd="Enumeration-ownedLiteral EnumerationLiteral-enumeration"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_datatype" name="A_ownedAttribute_datatype" memberEnd="DataType-ownedAttribute Property-datatype"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_datatype" name="A_ownedOperation_datatype" memberEnd="DataType-ownedOperation Operation-datatype"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedBehavior_behavioredClassifier" name="A_ownedBehavior_behavioredClassifier" memberEnd="BehavioredClassifier-ownedBehavior A_ownedBehavior_behavioredClassifier-behavioredClassifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedBehavior_behavioredClassifier-behavioredClassifier" name="behavioredClassifier" type="BehavioredClassifier" owningAssociation="A_ownedBehavior_behavioredClassifier" subsettedProperty="NamedElement-namespace" association="A_ownedBehavior_behavioredClassifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedBehavior_behavioredClassifier-behavioredClassifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_classifierBehavior_behavioredClassifier" name="A_classifierBehavior_behavioredClassifier" memberEnd="BehavioredClassifier-classifierBehavior A_classifierBehavior_behavioredClassifier-behavioredClassifier">
        <generalization xmi:type="uml:Generalization" xmi:id="A_classifierBehavior_behavioredClassifier-_generalization.0" general="A_ownedBehavior_behavioredClassifier" specific="A_classifierBehavior_behavioredClassifier"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_classifierBehavior_behavioredClassifier-behavioredClassifier" name="behavioredClassifier" type="BehavioredClassifier" owningAssociation="A_classifierBehavior_behavioredClassifier" redefinedProperty="A_ownedBehavior_behavioredClassifier-behavioredClassifier" association="A_classifierBehavior_behavioredClassifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifierBehavior_behavioredClassifier-behavioredClassifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_interfaceRealization_implementingClassifier" name="A_interfaceRealization_implementingClassifier" memberEnd="BehavioredClassifier-interfaceRealization InterfaceRealization-implementingClassifier"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="Packages" name="Packages">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="StructuredClassifiers" importingNamespace="Packages"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="Classification" importingNamespace="Packages"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.2" importedPackage="CommonStructure" importingNamespace="Packages"/>
      <packagedElement xmi:type="uml:Class" xmi:id="Extension" name="Extension">
        <ownedComment xmi:type="uml:Comment" xmi:id="Extension-_ownedComment.0" annotatedElement="Extension">
          <body>An extension is used to indicate that the properties of a metaclass are extended through a stereotype, and gives the ability to flexibly add (and later remove) stereotypes to classes.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Extension-non_owned_end" name="non_owned_end" constrainedElement="Extension" context="Extension">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extension-non_owned_end-_ownedComment.0" annotatedElement="Extension-non_owned_end">
            <body>The non-owned end of an Extension is typed by a Class.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-non_owned_end-_specification">
            <language>OCL</language>
            <body>metaclassEnd()->notEmpty() and metaclassEnd().type.oclIsKindOf(Class)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Extension-is_binary" name="is_binary" constrainedElement="Extension" context="Extension">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extension-is_binary-_ownedComment.0" annotatedElement="Extension-is_binary">
            <body>An Extension is binary, i.e., it has only two memberEnds.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-is_binary-_specification">
            <language>OCL</language>
            <body>memberEnd->size() = 2</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Extension-_generalization.0" general="Association" specific="Extension"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Extension-isRequired" name="isRequired" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extension-isRequired-_ownedComment.0" annotatedElement="Extension-isRequired">
            <body>Indicates whether an instance of the extending stereotype must be created when an instance of the extended class is created. The attribute value is derived from the value of the lower property of the ExtensionEnd referenced by Extension::ownedEnd; a lower value of 1 means that isRequired is true, but otherwise it is false. Since the default value of ExtensionEnd::lower is 0, the default value of isRequired is false.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Extension-metaclass" name="metaclass" type="Class" isReadOnly="true" isDerived="true" association="A_extension_metaclass">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extension-metaclass-_ownedComment.0" annotatedElement="Extension-metaclass">
            <body>References the Class that is extended through an Extension. The property is derived from the type of the memberEnd that is not the ownedEnd.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Extension-ownedEnd" name="ownedEnd" type="ExtensionEnd" aggregation="composite" redefinedProperty="Association-ownedEnd" association="A_ownedEnd_extension">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extension-ownedEnd-_ownedComment.0" annotatedElement="Extension-ownedEnd">
            <body>References the end of the extension that is typed by a Stereotype.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Extension-isRequired.1" name="isRequired" bodyCondition="Extension-isRequired.1-spec" class="Extension" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extension-isRequired.1-_ownedComment.0" annotatedElement="Extension-isRequired.1">
            <body>The query isRequired() is true if the owned end has a multiplicity with the lower bound of 1.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Extension-isRequired.1-spec" name="spec" constrainedElement="Extension-isRequired.1 Extension-isRequired" context="Extension-isRequired.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-isRequired.1-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedEnd.lowerBound() = 1)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Extension-isRequired.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Extension-metaclass.1" name="metaclass" bodyCondition="Extension-metaclass.1-spec" class="Extension" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extension-metaclass.1-_ownedComment.0" annotatedElement="Extension-metaclass.1">
            <body>The query metaclass() returns the metaclass that is being extended (as opposed to the extending stereotype).</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Extension-metaclass.1-spec" name="spec" constrainedElement="Extension-metaclass.1 Extension-metaclass" context="Extension-metaclass.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-metaclass.1-spec-_specification">
              <language>OCL</language>
              <body>result = (metaclassEnd().type.oclAsType(Class))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Extension-metaclass.1-result" name="result" type="Class" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Extension-metaclassEnd" name="metaclassEnd" bodyCondition="Extension-metaclassEnd-spec" class="Extension" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Extension-metaclassEnd-_ownedComment.0" annotatedElement="Extension-metaclassEnd">
            <body>The query metaclassEnd() returns the Property that is typed by a metaclass (as opposed to a stereotype).</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Extension-metaclassEnd-spec" name="spec" constrainedElement="Extension-metaclassEnd" context="Extension-metaclassEnd">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-metaclassEnd-spec-_specification">
              <language>OCL</language>
              <body>result = (memberEnd->reject(p | ownedEnd->includes(p.oclAsType(ExtensionEnd)))->any(true))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Extension-metaclassEnd-result" name="result" type="Property" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExtensionEnd" name="ExtensionEnd">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionEnd-_ownedComment.0" annotatedElement="ExtensionEnd">
          <body>An extension end is used to tie an extension to a stereotype when extending a metaclass.
The default multiplicity of an extension end is 0..1.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExtensionEnd-multiplicity" name="multiplicity" constrainedElement="ExtensionEnd" context="ExtensionEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionEnd-multiplicity-_ownedComment.0" annotatedElement="ExtensionEnd-multiplicity">
            <body>The multiplicity of ExtensionEnd is 0..1 or 1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExtensionEnd-multiplicity-_specification">
            <language>OCL</language>
            <body>(lowerBound() = 0 or lowerBound() = 1) and upperBound() = 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExtensionEnd-aggregation" name="aggregation" constrainedElement="ExtensionEnd" context="ExtensionEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionEnd-aggregation-_ownedComment.0" annotatedElement="ExtensionEnd-aggregation">
            <body>The aggregation of an ExtensionEnd is composite.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExtensionEnd-aggregation-_specification">
            <language>OCL</language>
            <body>self.aggregation = AggregationKind::composite</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ExtensionEnd-_generalization.0" general="Property" specific="ExtensionEnd"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExtensionEnd-lower" name="lower" isDerived="true" redefinedProperty="MultiplicityElement-lower">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionEnd-lower-_ownedComment.0" annotatedElement="ExtensionEnd-lower">
            <body>This redefinition changes the default multiplicity of association ends, since model elements are usually extended by 0 or 1 instance of the extension stereotype.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExtensionEnd-type" name="type" type="Stereotype" redefinedProperty="TypedElement-type" association="A_type_extensionEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionEnd-type-_ownedComment.0" annotatedElement="ExtensionEnd-type">
            <body>References the type of the ExtensionEnd. Note that this association restricts the possible types of an ExtensionEnd to only be Stereotypes.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ExtensionEnd-lowerBound" name="lowerBound" bodyCondition="ExtensionEnd-lowerBound-spec" class="ExtensionEnd" isQuery="true" redefinedOperation="MultiplicityElement-lowerBound">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExtensionEnd-lowerBound-_ownedComment.0" annotatedElement="ExtensionEnd-lowerBound">
            <body>The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default lower bound, which normally, for MultiplicityElements, evaluates to 1 if empty.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ExtensionEnd-lowerBound-spec" name="spec" constrainedElement="ExtensionEnd-lowerBound" context="ExtensionEnd-lowerBound">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ExtensionEnd-lowerBound-spec-_specification">
              <language>OCL</language>
              <body>result = (if lowerValue=null then 0 else lowerValue.integerValue() endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ExtensionEnd-lowerBound-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExtensionEnd-lowerBound-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Image" name="Image">
        <ownedComment xmi:type="uml:Comment" xmi:id="Image-_ownedComment.0" annotatedElement="Image">
          <body>Physical definition of a graphical image.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Image-_generalization.0" general="Element" specific="Image"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Image-content" name="content">
          <ownedComment xmi:type="uml:Comment" xmi:id="Image-content-_ownedComment.0" annotatedElement="Image-content">
            <body>This contains the serialization of the image according to the format. The value could represent a bitmap, image such as a GIF file, or drawing 'instructions' using a standard such as Scalable Vector Graphic (SVG) (which is XML based).</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Image-content-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Image-format" name="format">
          <ownedComment xmi:type="uml:Comment" xmi:id="Image-format-_ownedComment.0" annotatedElement="Image-format">
            <body>This indicates the format of the content, which is how the string content should be interpreted. The following values are reserved: SVG, GIF, PNG, JPG, WMF, EMF, BMP. In addition the prefix 'MIME: ' is also reserved. This option can be used as an alternative to express the reserved values above, for example &quot;SVG&quot; could instead be expressed as &quot;MIME: image/svg+xml&quot;.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Image-format-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Image-location" name="location">
          <ownedComment xmi:type="uml:Comment" xmi:id="Image-location-_ownedComment.0" annotatedElement="Image-location">
            <body>This contains a location that can be used by a tool to locate the image as an alternative to embedding it in the stereotype.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Image-location-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Model" name="Model">
        <ownedComment xmi:type="uml:Comment" xmi:id="Model-_ownedComment.0" annotatedElement="Model">
          <body>A model captures a view of a physical system. It is an abstraction of the physical system, with a certain purpose. This purpose determines what is to be included in the model and what is irrelevant. Thus the model completely describes those aspects of the physical system that are relevant to the purpose of the model, at the appropriate level of detail.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Model-_generalization.0" general="Package" specific="Model"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Model-viewpoint" name="viewpoint">
          <ownedComment xmi:type="uml:Comment" xmi:id="Model-viewpoint-_ownedComment.0" annotatedElement="Model-viewpoint">
            <body>The name of the viewpoint that is expressed by a model (this name may refer to a profile definition).</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Model-viewpoint-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Package" name="Package">
        <ownedComment xmi:type="uml:Comment" xmi:id="Package-_ownedComment.0" annotatedElement="Package">
          <body>A package can have one or more profile applications to indicate which profiles have been applied. Because a profile is a package, it is possible to apply a profile not only to packages, but also to profiles.
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.
A package is used to group elements, and provides a namespace for the grouped elements.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Package-elements_public_or_private" name="elements_public_or_private" constrainedElement="Package" context="Package">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-elements_public_or_private-_ownedComment.0" annotatedElement="Package-elements_public_or_private">
            <body>If an element that is owned by a package has visibility, it is public or private.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-elements_public_or_private-_specification">
            <language>OCL</language>
            <body>packagedElement->forAll(e | e.visibility&lt;> null implies e.visibility = VisibilityKind::public or e.visibility = VisibilityKind::private)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Package-_generalization.2" general="PackageableElement" specific="Package"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Package-_generalization.0" general="TemplateableElement" specific="Package"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Package-_generalization.1" general="Namespace" specific="Package"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Package-URI" name="URI">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-URI-_ownedComment.0" annotatedElement="Package-URI">
            <body>Provides an identifier for the package that can be used for many purposes. A URI is the universally unique identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-URI-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Package-nestedPackage" name="nestedPackage" type="Package" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_nestedPackage_nestingPackage">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-nestedPackage-_ownedComment.0" annotatedElement="Package-nestedPackage">
            <body>References the packaged elements that are Packages.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-nestedPackage-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-nestedPackage-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Package-nestingPackage" name="nestingPackage" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage" association="A_nestedPackage_nestingPackage">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-nestingPackage-_ownedComment.0" annotatedElement="Package-nestingPackage">
            <body>References the Package that owns this Package.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-nestingPackage-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Package-ownedStereotype" name="ownedStereotype" type="Stereotype" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_ownedStereotype_owningPackage">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-ownedStereotype-_ownedComment.0" annotatedElement="Package-ownedStereotype">
            <body>References the Stereotypes that are owned by the Package.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-ownedStereotype-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-ownedStereotype-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Package-ownedType" name="ownedType" type="Type" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_ownedType_package">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-ownedType-_ownedComment.0" annotatedElement="Package-ownedType">
            <body>References the packaged elements that are Types.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-ownedType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-ownedType-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Package-packageMerge" name="packageMerge" type="PackageMerge" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_packageMerge_receivingPackage">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-packageMerge-_ownedComment.0" annotatedElement="Package-packageMerge">
            <body>References the PackageMerges that are owned by this Package.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-packageMerge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-packageMerge-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Package-packagedElement" name="packagedElement" type="PackageableElement" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_packagedElement_owningPackage">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-packagedElement-_ownedComment.0" annotatedElement="Package-packagedElement">
            <body>Specifies the packageable elements that are owned by this Package.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-packagedElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-packagedElement-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Package-profileApplication" name="profileApplication" type="ProfileApplication" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_profileApplication_applyingPackage">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-profileApplication-_ownedComment.0" annotatedElement="Package-profileApplication">
            <body>References the ProfileApplications that indicate which profiles have been applied to the Package.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-profileApplication-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-profileApplication-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Package-allApplicableStereotypes" name="allApplicableStereotypes" bodyCondition="Package-allApplicableStereotypes-spec" class="Package" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-allApplicableStereotypes-_ownedComment.0" annotatedElement="Package-allApplicableStereotypes">
            <body>The query allApplicableStereotypes() returns all the directly or indirectly owned stereotypes, including stereotypes contained in sub-profiles.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-allApplicableStereotypes-spec" name="spec" constrainedElement="Package-allApplicableStereotypes" context="Package-allApplicableStereotypes">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-allApplicableStereotypes-spec-_specification">
              <language>OCL</language>
              <body>result = (let ownedPackages : Bag(Package) = ownedMember->select(oclIsKindOf(Package))->collect(oclAsType(Package)) in&#xD;
 ownedStereotype->union(ownedPackages.allApplicableStereotypes())->flatten()->asSet()&#xD;
)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-allApplicableStereotypes-result" name="result" type="Stereotype" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-allApplicableStereotypes-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-allApplicableStereotypes-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Package-containingProfile" name="containingProfile" bodyCondition="Package-containingProfile-spec" class="Package" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-containingProfile-_ownedComment.0" annotatedElement="Package-containingProfile">
            <body>The query containingProfile() returns the closest profile directly or indirectly containing this package (or this package itself, if it is a profile).</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-containingProfile-spec" name="spec" constrainedElement="Package-containingProfile" context="Package-containingProfile">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-containingProfile-spec-_specification">
              <language>OCL</language>
              <body>result = (if self.oclIsKindOf(Profile) then &#xD;
	self.oclAsType(Profile)&#xD;
else&#xD;
	self.namespace.oclAsType(Package).containingProfile()&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-containingProfile-result" name="result" type="Profile" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-containingProfile-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Package-makesVisible" name="makesVisible" bodyCondition="Package-makesVisible-spec" class="Package" isQuery="true" precondition="Package-makesVisible-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-makesVisible-_ownedComment.0" annotatedElement="Package-makesVisible">
            <body>The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-makesVisible-pre" name="pre" constrainedElement="Package-makesVisible" context="Package-makesVisible">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-makesVisible-pre-_specification">
              <language>OCL</language>
              <body>member->includes(el)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-makesVisible-spec" name="spec" constrainedElement="Package-makesVisible" context="Package-makesVisible">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-makesVisible-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedMember->includes(el) or
(elementImport->select(ei|ei.importedElement = VisibilityKind::public)->collect(importedElement.oclAsType(NamedElement))->includes(el)) or
(packageImport->select(visibility = VisibilityKind::public)->collect(importedPackage.member->includes(el))->notEmpty()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-makesVisible-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-makesVisible-el" name="el" type="NamedElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Package-mustBeOwned" name="mustBeOwned" bodyCondition="Package-mustBeOwned-spec" class="Package" isQuery="true" redefinedOperation="Element-mustBeOwned">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-mustBeOwned-_ownedComment.0" annotatedElement="Package-mustBeOwned">
            <body>The query mustBeOwned() indicates whether elements of this type must have an owner.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-mustBeOwned-spec" name="spec" constrainedElement="Package-mustBeOwned" context="Package-mustBeOwned">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-mustBeOwned-spec-_specification">
              <language>OCL</language>
              <body>result = (false)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-mustBeOwned-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Package-nestedPackage.1" name="nestedPackage" bodyCondition="Package-nestedPackage.1-spec" class="Package" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-nestedPackage.1-_ownedComment.0" annotatedElement="Package-nestedPackage.1">
            <body>Derivation for Package::/nestedPackage </body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-nestedPackage.1-spec" name="spec" constrainedElement="Package-nestedPackage.1 Package-nestedPackage" context="Package-nestedPackage.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-nestedPackage.1-spec-_specification">
              <language>OCL</language>
              <body>result = (packagedElement->select(oclIsKindOf(Package))->collect(oclAsType(Package))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-nestedPackage.1-result" name="result" type="Package" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-nestedPackage.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-nestedPackage.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Package-ownedStereotype.1" name="ownedStereotype" bodyCondition="Package-ownedStereotype.1-spec" class="Package" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-ownedStereotype.1-_ownedComment.0" annotatedElement="Package-ownedStereotype.1">
            <body>Derivation for Package::/ownedStereotype </body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-ownedStereotype.1-spec" name="spec" constrainedElement="Package-ownedStereotype.1 Package-ownedStereotype" context="Package-ownedStereotype.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-ownedStereotype.1-spec-_specification">
              <language>OCL</language>
              <body>result = (packagedElement->select(oclIsKindOf(Stereotype))->collect(oclAsType(Stereotype))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-ownedStereotype.1-result" name="result" type="Stereotype" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-ownedStereotype.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-ownedStereotype.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Package-ownedType.1" name="ownedType" bodyCondition="Package-ownedType.1-spec" class="Package" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-ownedType.1-_ownedComment.0" annotatedElement="Package-ownedType.1">
            <body>Derivation for Package::/ownedType</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-ownedType.1-spec" name="spec" constrainedElement="Package-ownedType.1 Package-ownedType" context="Package-ownedType.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-ownedType.1-spec-_specification">
              <language>OCL</language>
              <body>result = (packagedElement->select(oclIsKindOf(Type))->collect(oclAsType(Type))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-ownedType.1-result" name="result" type="Type" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-ownedType.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-ownedType.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Package-visibleMembers" name="visibleMembers" bodyCondition="Package-visibleMembers-spec" class="Package" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Package-visibleMembers-_ownedComment.0" annotatedElement="Package-visibleMembers">
            <body>The query visibleMembers() defines which members of a Package can be accessed outside it.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Package-visibleMembers-spec" name="spec" constrainedElement="Package-visibleMembers" context="Package-visibleMembers">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-visibleMembers-spec-_specification">
              <language>OCL</language>
              <body>result = (member->select( m | m.oclIsKindOf(PackageableElement) and self.makesVisible(m))->collect(oclAsType(PackageableElement))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Package-visibleMembers-result" name="result" type="PackageableElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-visibleMembers-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-visibleMembers-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="PackageMerge" name="PackageMerge">
        <ownedComment xmi:type="uml:Comment" xmi:id="PackageMerge-_ownedComment.0" annotatedElement="PackageMerge">
          <body>A package merge defines how the contents of one package are extended by the contents of another package.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="PackageMerge-_generalization.0" general="DirectedRelationship" specific="PackageMerge"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="PackageMerge-mergedPackage" name="mergedPackage" type="Package" subsettedProperty="DirectedRelationship-target" association="A_mergedPackage_packageMerge">
          <ownedComment xmi:type="uml:Comment" xmi:id="PackageMerge-mergedPackage-_ownedComment.0" annotatedElement="PackageMerge-mergedPackage">
            <body>References the Package that is to be merged with the receiving package of the PackageMerge.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="PackageMerge-receivingPackage" name="receivingPackage" type="Package" subsettedProperty="DirectedRelationship-source Element-owner" association="A_packageMerge_receivingPackage">
          <ownedComment xmi:type="uml:Comment" xmi:id="PackageMerge-receivingPackage-_ownedComment.0" annotatedElement="PackageMerge-receivingPackage">
            <body>References the Package that is being extended with the contents of the merged package of the PackageMerge.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Profile" name="Profile">
        <ownedComment xmi:type="uml:Comment" xmi:id="Profile-_ownedComment.0" annotatedElement="Profile">
          <body>A profile defines limited extensions to a reference metamodel with the purpose of adapting the metamodel to a specific platform or domain.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Profile-metaclass_reference_not_specialized" name="metaclass_reference_not_specialized" constrainedElement="Profile" context="Profile">
          <ownedComment xmi:type="uml:Comment" xmi:id="Profile-metaclass_reference_not_specialized-_ownedComment.0" annotatedElement="Profile-metaclass_reference_not_specialized">
            <body>An element imported as a metaclassReference is not specialized or generalized in a Profile.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Profile-metaclass_reference_not_specialized-_specification">
            <language>OCL</language>
            <body>metaclassReference.importedElement->&#xD;
	select(c | c.oclIsKindOf(Classifier) and&#xD;
		(c.oclAsType(Classifier).allParents()->collect(namespace)->includes(self)))->isEmpty()&#xD;
and &#xD;
packagedElement->&#xD;
    select(oclIsKindOf(Classifier))->collect(oclAsType(Classifier).allParents())->&#xD;
       intersection(metaclassReference.importedElement->select(oclIsKindOf(Classifier))->collect(oclAsType(Classifier)))->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Profile-references_same_metamodel" name="references_same_metamodel" constrainedElement="Profile" context="Profile">
          <ownedComment xmi:type="uml:Comment" xmi:id="Profile-references_same_metamodel-_ownedComment.0" annotatedElement="Profile-references_same_metamodel">
            <body>All elements imported either as metaclassReferences or through metamodelReferences are members of the same base reference metamodel.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Profile-references_same_metamodel-_specification">
            <language>OCL</language>
            <body>metamodelReference.importedPackage.elementImport.importedElement.allOwningPackages()->&#xD;
  union(metaclassReference.importedElement.allOwningPackages() )->notEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Profile-_generalization.0" general="Package" specific="Profile"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Profile-metaclassReference" name="metaclassReference" type="ElementImport" aggregation="composite" subsettedProperty="Namespace-elementImport" association="A_metaclassReference_profile">
          <ownedComment xmi:type="uml:Comment" xmi:id="Profile-metaclassReference-_ownedComment.0" annotatedElement="Profile-metaclassReference">
            <body>References a metaclass that may be extended.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-metaclassReference-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-metaclassReference-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Profile-metamodelReference" name="metamodelReference" type="PackageImport" aggregation="composite" subsettedProperty="Namespace-packageImport" association="A_metamodelReference_profile">
          <ownedComment xmi:type="uml:Comment" xmi:id="Profile-metamodelReference-_ownedComment.0" annotatedElement="Profile-metamodelReference">
            <body>References a package containing (directly or indirectly) metaclasses that may be extended.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-metamodelReference-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-metamodelReference-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ProfileApplication" name="ProfileApplication">
        <ownedComment xmi:type="uml:Comment" xmi:id="ProfileApplication-_ownedComment.0" annotatedElement="ProfileApplication">
          <body>A profile application is used to show which profiles have been applied to a package.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ProfileApplication-_generalization.0" general="DirectedRelationship" specific="ProfileApplication"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProfileApplication-appliedProfile" name="appliedProfile" type="Profile" subsettedProperty="DirectedRelationship-target" association="A_appliedProfile_profileApplication">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProfileApplication-appliedProfile-_ownedComment.0" annotatedElement="ProfileApplication-appliedProfile">
            <body>References the Profiles that are applied to a Package through this ProfileApplication.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProfileApplication-applyingPackage" name="applyingPackage" type="Package" subsettedProperty="DirectedRelationship-source Element-owner" association="A_profileApplication_applyingPackage">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProfileApplication-applyingPackage-_ownedComment.0" annotatedElement="ProfileApplication-applyingPackage">
            <body>The package that owns the profile application.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ProfileApplication-isStrict" name="isStrict">
          <ownedComment xmi:type="uml:Comment" xmi:id="ProfileApplication-isStrict-_ownedComment.0" annotatedElement="ProfileApplication-isStrict">
            <body>Specifies that the Profile filtering rules for the metaclasses of the referenced metamodel shall be strictly applied.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ProfileApplication-isStrict-_defaultValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Stereotype" name="Stereotype">
        <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-_ownedComment.0" annotatedElement="Stereotype">
          <body>A stereotype defines how an existing metaclass may be extended, and enables the use of platform or domain specific terminology or notation in place of, or in addition to, the ones used for the extended metaclass.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-binaryAssociationsOnly" name="binaryAssociationsOnly" constrainedElement="Stereotype" context="Stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-binaryAssociationsOnly-_ownedComment.0" annotatedElement="Stereotype-binaryAssociationsOnly">
            <body>Stereotypes may only participate in binary associations.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-binaryAssociationsOnly-_specification">
            <language>OCL</language>
            <body>ownedAttribute.association->forAll(memberEnd->size()=2)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-generalize" name="generalize" constrainedElement="Stereotype" context="Stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-generalize-_ownedComment.0" annotatedElement="Stereotype-generalize">
            <body>A Stereotype may only generalize or specialize another Stereotype.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-generalize-_specification">
            <language>OCL</language>
            <body>allParents()->forAll(oclIsKindOf(Stereotype)) &#xD;
and Classifier.allInstances()->forAll(c | c.allParents()->exists(oclIsKindOf(Stereotype)) implies c.oclIsKindOf(Stereotype))&#xD;
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-name_not_clash" name="name_not_clash" constrainedElement="Stereotype" context="Stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-name_not_clash-_ownedComment.0" annotatedElement="Stereotype-name_not_clash">
            <body>Stereotype names should not clash with keyword names for the extended model element.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-name_not_clash-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-associationEndOwnership" name="associationEndOwnership" constrainedElement="Stereotype" context="Stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-associationEndOwnership-_ownedComment.0" annotatedElement="Stereotype-associationEndOwnership">
            <body>Where a stereotype’s property is an association end for an association other than a kind of extension, and the other end is not a stereotype, the other end must be owned by the association itself.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-associationEndOwnership-_specification">
            <language>OCL</language>
            <body>ownedAttribute&#xD;
->select(association->notEmpty() and not association.oclIsKindOf(Extension) and not type.oclIsKindOf(Stereotype))&#xD;
->forAll(opposite.owner = association)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-base_property_upper_bound" name="base_property_upper_bound" constrainedElement="Stereotype" context="Stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-base_property_upper_bound-_ownedComment.0" annotatedElement="Stereotype-base_property_upper_bound">
            <body>The upper bound of base-properties is exactly 1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-base_property_upper_bound-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-base_property_multiplicity_single_extension" name="base_property_multiplicity_single_extension" constrainedElement="Stereotype" context="Stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-base_property_multiplicity_single_extension-_ownedComment.0" annotatedElement="Stereotype-base_property_multiplicity_single_extension">
            <body>If a Stereotype extends only one metaclass, the multiplicity of the corresponding base-property shall be 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-base_property_multiplicity_single_extension-_specification"/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-base_property_multiplicity_multiple_extension" name="base_property_multiplicity_multiple_extension" constrainedElement="Stereotype" context="Stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-base_property_multiplicity_multiple_extension-_ownedComment.0" annotatedElement="Stereotype-base_property_multiplicity_multiple_extension">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-base_property_multiplicity_multiple_extension-_specification"/>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Stereotype-_generalization.0" general="Class" specific="Stereotype"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Stereotype-icon" name="icon" type="Image" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_icon_stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-icon-_ownedComment.0" annotatedElement="Stereotype-icon">
            <body>Stereotype can change the graphical appearance of the extended model element by using attached icons. When this association is not null, it references the location of the icon content to be displayed within diagrams presenting the extended model elements.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-icon-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-icon-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Stereotype-profile" name="profile" type="Profile" isReadOnly="true" isDerived="true" association="A_profile_stereotype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-profile-_ownedComment.0" annotatedElement="Stereotype-profile">
            <body>The profile that directly or indirectly contains this stereotype.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Stereotype-containingProfile" name="containingProfile" bodyCondition="Stereotype-containingProfile-spec" class="Stereotype" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-containingProfile-_ownedComment.0" annotatedElement="Stereotype-containingProfile">
            <body>The query containingProfile returns the closest profile directly or indirectly containing this stereotype.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-containingProfile-spec" name="spec" constrainedElement="Stereotype-containingProfile" context="Stereotype-containingProfile">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-containingProfile-spec-_specification">
              <language>OCL</language>
              <body>result = (self.namespace.oclAsType(Package).containingProfile())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Stereotype-containingProfile-result" name="result" type="Profile" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Stereotype-profile.1" name="profile" bodyCondition="Stereotype-profile.1-spec" class="Stereotype" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Stereotype-profile.1-_ownedComment.0" annotatedElement="Stereotype-profile.1">
            <body>A stereotype must be contained, directly or indirectly, in a profile.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Stereotype-profile.1-spec" name="spec" constrainedElement="Stereotype-profile.1 Stereotype-profile" context="Stereotype-profile.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-profile.1-spec-_specification">
              <language>OCL</language>
              <body>result = (self.containingProfile())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Stereotype-profile.1-result" name="result" type="Profile" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_profile_stereotype" name="A_profile_stereotype" isDerived="true" memberEnd="Stereotype-profile A_profile_stereotype-stereotype">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_profile_stereotype-stereotype" name="stereotype" type="Stereotype" owningAssociation="A_profile_stereotype" association="A_profile_stereotype">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_profile_stereotype-stereotype-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_profile_stereotype-stereotype-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_icon_stereotype" name="A_icon_stereotype" memberEnd="Stereotype-icon A_icon_stereotype-stereotype">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_icon_stereotype-stereotype" name="stereotype" type="Stereotype" owningAssociation="A_icon_stereotype" subsettedProperty="Element-owner" association="A_icon_stereotype">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_icon_stereotype-stereotype-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_appliedProfile_profileApplication" name="A_appliedProfile_profileApplication" memberEnd="ProfileApplication-appliedProfile A_appliedProfile_profileApplication-profileApplication">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_appliedProfile_profileApplication-profileApplication" name="profileApplication" type="ProfileApplication" owningAssociation="A_appliedProfile_profileApplication" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_appliedProfile_profileApplication">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_appliedProfile_profileApplication-profileApplication-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_appliedProfile_profileApplication-profileApplication-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_metaclassReference_profile" name="A_metaclassReference_profile" memberEnd="Profile-metaclassReference A_metaclassReference_profile-profile">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_metaclassReference_profile-profile" name="profile" type="Profile" owningAssociation="A_metaclassReference_profile" subsettedProperty="ElementImport-importingNamespace" association="A_metaclassReference_profile">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_metaclassReference_profile-profile-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_metamodelReference_profile" name="A_metamodelReference_profile" memberEnd="Profile-metamodelReference A_metamodelReference_profile-profile">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_metamodelReference_profile-profile" name="profile" type="Profile" owningAssociation="A_metamodelReference_profile" subsettedProperty="PackageImport-importingNamespace" association="A_metamodelReference_profile">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_metamodelReference_profile-profile-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_mergedPackage_packageMerge" name="A_mergedPackage_packageMerge" memberEnd="PackageMerge-mergedPackage A_mergedPackage_packageMerge-packageMerge">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_mergedPackage_packageMerge-packageMerge" name="packageMerge" type="PackageMerge" owningAssociation="A_mergedPackage_packageMerge" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_mergedPackage_packageMerge">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_mergedPackage_packageMerge-packageMerge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_mergedPackage_packageMerge-packageMerge-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_packagedElement_owningPackage" name="A_packagedElement_owningPackage" memberEnd="Package-packagedElement A_packagedElement_owningPackage-owningPackage">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_packagedElement_owningPackage-owningPackage" name="owningPackage" type="Package" owningAssociation="A_packagedElement_owningPackage" subsettedProperty="NamedElement-namespace" association="A_packagedElement_owningPackage">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_packagedElement_owningPackage-owningPackage-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_packageMerge_receivingPackage" name="A_packageMerge_receivingPackage" memberEnd="Package-packageMerge PackageMerge-receivingPackage"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_nestedPackage_nestingPackage" name="A_nestedPackage_nestingPackage" memberEnd="Package-nestedPackage Package-nestingPackage"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_profileApplication_applyingPackage" name="A_profileApplication_applyingPackage" memberEnd="Package-profileApplication ProfileApplication-applyingPackage"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedType_package" name="A_ownedType_package" memberEnd="Package-ownedType Type-package"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedStereotype_owningPackage" name="A_ownedStereotype_owningPackage" isDerived="true" memberEnd="Package-ownedStereotype A_ownedStereotype_owningPackage-owningPackage">
        <generalization xmi:type="uml:Generalization" xmi:id="A_ownedStereotype_owningPackage-_generalization.0" general="A_packagedElement_owningPackage" specific="A_ownedStereotype_owningPackage"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedStereotype_owningPackage-owningPackage" name="owningPackage" type="Package" owningAssociation="A_ownedStereotype_owningPackage" redefinedProperty="A_packagedElement_owningPackage-owningPackage" association="A_ownedStereotype_owningPackage"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_type_extensionEnd" name="A_type_extensionEnd" memberEnd="ExtensionEnd-type A_type_extensionEnd-extensionEnd">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_type_extensionEnd-extensionEnd" name="extensionEnd" type="ExtensionEnd" owningAssociation="A_type_extensionEnd" subsettedProperty="A_type_typedElement-typedElement" association="A_type_extensionEnd">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_extensionEnd-extensionEnd-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_extensionEnd-extensionEnd-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedEnd_extension" name="A_ownedEnd_extension" memberEnd="Extension-ownedEnd A_ownedEnd_extension-extension">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedEnd_extension-extension" name="extension" type="Extension" owningAssociation="A_ownedEnd_extension" subsettedProperty="Property-owningAssociation" association="A_ownedEnd_extension"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="Interactions" name="Interactions">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="CommonStructure" importingNamespace="Interactions"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="Classification" importingNamespace="Interactions"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.2" importedPackage="SimpleClassifiers" importingNamespace="Interactions"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.3" importedPackage="Values" importingNamespace="Interactions"/>
      <packagedElement xmi:type="uml:Class" xmi:id="ActionExecutionSpecification" name="ActionExecutionSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="ActionExecutionSpecification-_ownedComment.0" annotatedElement="ActionExecutionSpecification">
          <body>An ActionExecutionSpecification is a kind of ExecutionSpecification representing the execution of an Action.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActionExecutionSpecification-action_referenced" name="action_referenced" constrainedElement="ActionExecutionSpecification" context="ActionExecutionSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActionExecutionSpecification-action_referenced-_ownedComment.0" annotatedElement="ActionExecutionSpecification-action_referenced">
            <body>The Action referenced by the ActionExecutionSpecification must be owned by the Interaction owning that ActionExecutionSpecification.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActionExecutionSpecification-action_referenced-_specification">
            <language>OCL</language>
            <body>(enclosingInteraction->notEmpty() or enclosingOperand.combinedFragment->notEmpty()) and&#xD;
let parentInteraction : Set(Interaction) = enclosingInteraction.oclAsType(Interaction)->asSet()->union(&#xD;
enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;
collect(enclosingInteraction).oclAsType(Interaction)->asSet()) in&#xD;
(parentInteraction->size() = 1) and self.action.interaction->asSet() = parentInteraction</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ActionExecutionSpecification-_generalization.0" general="ExecutionSpecification" specific="ActionExecutionSpecification"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActionExecutionSpecification-action" name="action" type="Action" association="A_action_actionExecutionSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActionExecutionSpecification-action-_ownedComment.0" annotatedElement="ActionExecutionSpecification-action">
            <body>Action whose execution is occurring.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="BehaviorExecutionSpecification" name="BehaviorExecutionSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="BehaviorExecutionSpecification-_ownedComment.0" annotatedElement="BehaviorExecutionSpecification">
          <body>A BehaviorExecutionSpecification is a kind of ExecutionSpecification representing the execution of a Behavior.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="BehaviorExecutionSpecification-_generalization.0" general="ExecutionSpecification" specific="BehaviorExecutionSpecification"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehaviorExecutionSpecification-behavior" name="behavior" type="Behavior" association="A_behavior_behaviorExecutionSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehaviorExecutionSpecification-behavior-_ownedComment.0" annotatedElement="BehaviorExecutionSpecification-behavior">
            <body>Behavior whose execution is occurring.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehaviorExecutionSpecification-behavior-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CombinedFragment" name="CombinedFragment">
        <ownedComment xmi:type="uml:Comment" xmi:id="CombinedFragment-_ownedComment.0" annotatedElement="CombinedFragment">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CombinedFragment-break" name="break" constrainedElement="CombinedFragment" context="CombinedFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="CombinedFragment-break-_ownedComment.0" annotatedElement="CombinedFragment-break">
            <body>If the interactionOperator is break, the corresponding InteractionOperand must cover all Lifelines covered by the enclosing InteractionFragment.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CombinedFragment-break-_specification">
            <language>OCL</language>
            <body>interactionOperator=InteractionOperatorKind::break  implies   &#xD;
enclosingInteraction.oclAsType(InteractionFragment)->asSet()->union(&#xD;
   enclosingOperand.oclAsType(InteractionFragment)->asSet()).covered->asSet() = self.covered->asSet()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CombinedFragment-consider_and_ignore" name="consider_and_ignore" constrainedElement="CombinedFragment" context="CombinedFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="CombinedFragment-consider_and_ignore-_ownedComment.0" annotatedElement="CombinedFragment-consider_and_ignore">
            <body>The interaction operators 'consider' and 'ignore' can only be used for the ConsiderIgnoreFragment subtype of CombinedFragment</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CombinedFragment-consider_and_ignore-_specification">
            <language>OCL</language>
            <body>((interactionOperator = InteractionOperatorKind::consider) or (interactionOperator =  InteractionOperatorKind::ignore)) implies oclIsKindOf(ConsiderIgnoreFragment)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CombinedFragment-opt_loop_break_neg" name="opt_loop_break_neg" constrainedElement="CombinedFragment" context="CombinedFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="CombinedFragment-opt_loop_break_neg-_ownedComment.0" annotatedElement="CombinedFragment-opt_loop_break_neg">
            <body>If the interactionOperator is opt, loop, break, assert or neg, there must be exactly one operand.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CombinedFragment-opt_loop_break_neg-_specification">
            <language>OCL</language>
            <body>(interactionOperator =  InteractionOperatorKind::opt or interactionOperator = InteractionOperatorKind::loop or&#xD;
interactionOperator = InteractionOperatorKind::break or interactionOperator = InteractionOperatorKind::assert or&#xD;
interactionOperator = InteractionOperatorKind::neg)&#xD;
implies operand->size()=1</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CombinedFragment-_generalization.0" general="InteractionFragment" specific="CombinedFragment"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CombinedFragment-cfragmentGate" name="cfragmentGate" type="Gate" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_cfragmentGate_combinedFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="CombinedFragment-cfragmentGate-_ownedComment.0" annotatedElement="CombinedFragment-cfragmentGate">
            <body>Specifies the gates that form the interface between this CombinedFragment and its surroundings</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CombinedFragment-cfragmentGate-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CombinedFragment-cfragmentGate-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CombinedFragment-interactionOperator" name="interactionOperator" type="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="CombinedFragment-interactionOperator-_ownedComment.0" annotatedElement="CombinedFragment-interactionOperator">
            <body>Specifies the operation which defines the semantics of this combination of InteractionFragments.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="CombinedFragment-interactionOperator-_defaultValue" type="InteractionOperatorKind" instance="InteractionOperatorKind-seq"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CombinedFragment-operand" name="operand" type="InteractionOperand" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_operand_combinedFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="CombinedFragment-operand-_ownedComment.0" annotatedElement="CombinedFragment-operand">
            <body>The set of operands of the combined fragment.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CombinedFragment-operand-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ConsiderIgnoreFragment" name="ConsiderIgnoreFragment">
        <ownedComment xmi:type="uml:Comment" xmi:id="ConsiderIgnoreFragment-_ownedComment.0" annotatedElement="ConsiderIgnoreFragment">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConsiderIgnoreFragment-consider_or_ignore" name="consider_or_ignore" constrainedElement="ConsiderIgnoreFragment" context="ConsiderIgnoreFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConsiderIgnoreFragment-consider_or_ignore-_ownedComment.0" annotatedElement="ConsiderIgnoreFragment-consider_or_ignore">
            <body>The interaction operator of a ConsiderIgnoreFragment must be either 'consider' or 'ignore'.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConsiderIgnoreFragment-consider_or_ignore-_specification">
            <language>OCL</language>
            <body>(interactionOperator =  InteractionOperatorKind::consider) or (interactionOperator =  InteractionOperatorKind::ignore)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConsiderIgnoreFragment-type" name="type" constrainedElement="ConsiderIgnoreFragment" context="ConsiderIgnoreFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConsiderIgnoreFragment-type-_ownedComment.0" annotatedElement="ConsiderIgnoreFragment-type">
            <body>The NamedElements must be of a type of element that can be a signature for a message (i.e.., an Operation, or a Signal).</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConsiderIgnoreFragment-type-_specification">
            <language>OCL</language>
            <body>message->forAll(m | m.oclIsKindOf(Operation) or m.oclIsKindOf(Signal))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ConsiderIgnoreFragment-_generalization.0" general="CombinedFragment" specific="ConsiderIgnoreFragment"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConsiderIgnoreFragment-message" name="message" type="NamedElement" association="A_message_considerIgnoreFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConsiderIgnoreFragment-message-_ownedComment.0" annotatedElement="ConsiderIgnoreFragment-message">
            <body>The set of messages that apply to this fragment.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConsiderIgnoreFragment-message-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConsiderIgnoreFragment-message-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Continuation" name="Continuation">
        <ownedComment xmi:type="uml:Comment" xmi:id="Continuation-_ownedComment.0" annotatedElement="Continuation">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Continuation-first_or_last_interaction_fragment" name="first_or_last_interaction_fragment" constrainedElement="Continuation" context="Continuation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Continuation-first_or_last_interaction_fragment-_ownedComment.0" annotatedElement="Continuation-first_or_last_interaction_fragment">
            <body>Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionOperand.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Continuation-first_or_last_interaction_fragment-_specification">
            <language>OCL</language>
            <body> enclosingOperand->notEmpty() and &#xD;
 let peerFragments : OrderedSet(InteractionFragment) =  enclosingOperand.fragment in &#xD;
   ( peerFragments->notEmpty() and &#xD;
   ((peerFragments->first() = self) or  (peerFragments->last() = self)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Continuation-same_name" name="same_name" constrainedElement="Continuation" context="Continuation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Continuation-same_name-_ownedComment.0" annotatedElement="Continuation-same_name">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Continuation-same_name-_specification">
            <language>OCL</language>
            <body>enclosingOperand.combinedFragment->notEmpty() and&#xD;
let parentInteraction : Set(Interaction) = &#xD;
enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;
collect(enclosingInteraction).oclAsType(Interaction)->asSet()&#xD;
in &#xD;
(parentInteraction->size() = 1) &#xD;
and let peerInteractions : Set(Interaction) =&#xD;
 (parentInteraction->union(parentInteraction->collect(_'context')->collect(behavior)->&#xD;
 select(oclIsKindOf(Interaction)).oclAsType(Interaction)->asSet())->asSet()) in&#xD;
 (peerInteractions->notEmpty()) and &#xD;
  let combinedFragments1 : Set(CombinedFragment) = peerInteractions.fragment->&#xD;
 select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)->asSet() in&#xD;
   combinedFragments1->notEmpty() and  combinedFragments1->closure(operand.fragment->&#xD;
   select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment))->asSet().operand.fragment->&#xD;
   select(oclIsKindOf(Continuation)).oclAsType(Continuation)->asSet()->&#xD;
   forAll(c : Continuation |  (c.name = self.name) implies &#xD;
  (c.covered->asSet()->forAll(cl : Lifeline | --  cl must be common to one lifeline covered by self&#xD;
  self.covered->asSet()->&#xD;
  select(represents = cl.represents and selector = cl.selector)->asSet()->size()=1))&#xD;
   and&#xD;
 (self.covered->asSet()->forAll(cl : Lifeline | --  cl must be common to one lifeline covered by c&#xD;
 c.covered->asSet()->&#xD;
  select(represents = cl.represents and selector = cl.selector)->asSet()->size()=1))&#xD;
  )</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Continuation-global" name="global" constrainedElement="Continuation" context="Continuation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Continuation-global-_ownedComment.0" annotatedElement="Continuation-global">
            <body>Continuations are always global in the enclosing InteractionFragment e.g., it always covers all Lifelines covered by the enclosing InteractionOperator.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Continuation-global-_specification">
            <language>OCL</language>
            <body>enclosingOperand->notEmpty() and&#xD;
  let operandLifelines : Set(Lifeline) =  enclosingOperand.covered in &#xD;
    (operandLifelines->notEmpty() and &#xD;
    operandLifelines->forAll(ol :Lifeline |self.covered->includes(ol)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Continuation-_generalization.0" general="InteractionFragment" specific="Continuation"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Continuation-setting" name="setting">
          <ownedComment xmi:type="uml:Comment" xmi:id="Continuation-setting-_ownedComment.0" annotatedElement="Continuation-setting">
            <body>True: when the Continuation is at the end of the enclosing InteractionFragment and False when it is in the beginning.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Continuation-setting-_defaultValue" value="true"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DestructionOccurrenceSpecification" name="DestructionOccurrenceSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="DestructionOccurrenceSpecification-_ownedComment.0" annotatedElement="DestructionOccurrenceSpecification">
          <body>A DestructionOccurenceSpecification models the destruction of an object.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DestructionOccurrenceSpecification-no_occurrence_specifications_below" name="no_occurrence_specifications_below" constrainedElement="DestructionOccurrenceSpecification" context="DestructionOccurrenceSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="DestructionOccurrenceSpecification-no_occurrence_specifications_below-_ownedComment.0" annotatedElement="DestructionOccurrenceSpecification-no_occurrence_specifications_below">
            <body>No other OccurrenceSpecifications on a given Lifeline in an InteractionOperand may appear below a DestructionOccurrenceSpecification.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DestructionOccurrenceSpecification-no_occurrence_specifications_below-_specification">
            <language>OCL</language>
            <body>let o : InteractionOperand = enclosingOperand in o->notEmpty() and &#xD;
let peerEvents : OrderedSet(OccurrenceSpecification) = covered.events->select(enclosingOperand = o)&#xD;
in peerEvents->last() = self</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="DestructionOccurrenceSpecification-_generalization.0" general="MessageOccurrenceSpecification" specific="DestructionOccurrenceSpecification"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExecutionOccurrenceSpecification" name="ExecutionOccurrenceSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExecutionOccurrenceSpecification-_ownedComment.0" annotatedElement="ExecutionOccurrenceSpecification">
          <body>An ExecutionOccurrenceSpecification represents moments in time at which Actions or Behaviors start or finish.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ExecutionOccurrenceSpecification-_generalization.0" general="OccurrenceSpecification" specific="ExecutionOccurrenceSpecification"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExecutionOccurrenceSpecification-execution" name="execution" type="ExecutionSpecification" association="A_execution_executionOccurrenceSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExecutionOccurrenceSpecification-execution-_ownedComment.0" annotatedElement="ExecutionOccurrenceSpecification-execution">
            <body>References the execution specification describing the execution that is started or finished at this execution event.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExecutionSpecification" name="ExecutionSpecification" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExecutionSpecification-_ownedComment.0" annotatedElement="ExecutionSpecification">
          <body>An ExecutionSpecification is a specification of the execution of a unit of Behavior or Action within the Lifeline. The duration of an ExecutionSpecification is represented by two OccurrenceSpecifications, the start OccurrenceSpecification and the finish OccurrenceSpecification.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExecutionSpecification-same_lifeline" name="same_lifeline" constrainedElement="ExecutionSpecification" context="ExecutionSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExecutionSpecification-same_lifeline-_ownedComment.0" annotatedElement="ExecutionSpecification-same_lifeline">
            <body>The startEvent and the finishEvent must be on the same Lifeline.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExecutionSpecification-same_lifeline-_specification">
            <language>OCL</language>
            <body>start.covered = finish.covered</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ExecutionSpecification-_generalization.0" general="InteractionFragment" specific="ExecutionSpecification"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExecutionSpecification-finish" name="finish" type="OccurrenceSpecification" association="A_finish_executionSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExecutionSpecification-finish-_ownedComment.0" annotatedElement="ExecutionSpecification-finish">
            <body>References the OccurrenceSpecification that designates the finish of the Action or Behavior.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExecutionSpecification-start" name="start" type="OccurrenceSpecification" association="A_start_executionSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExecutionSpecification-start-_ownedComment.0" annotatedElement="ExecutionSpecification-start">
            <body>References the OccurrenceSpecification that designates the start of the Action or Behavior.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Gate" name="Gate">
        <ownedComment xmi:type="uml:Comment" xmi:id="Gate-_ownedComment.0" annotatedElement="Gate">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-actual_gate_matched" name="actual_gate_matched" constrainedElement="Gate" context="Gate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-actual_gate_matched-_ownedComment.0" annotatedElement="Gate-actual_gate_matched">
            <body>If this Gate is an actualGate, it must have exactly one matching formalGate within the referred Interaction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-actual_gate_matched-_specification">
            <language>OCL</language>
            <body>interactionUse->notEmpty() implies interactionUse.refersTo.formalGate->select(matches(self))->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-inside_cf_matched" name="inside_cf_matched" constrainedElement="Gate" context="Gate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-inside_cf_matched-_ownedComment.0" annotatedElement="Gate-inside_cf_matched">
            <body>If this Gate is inside a CombinedFragment, it must have exactly one matching Gate which is outside of that CombinedFragment.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-inside_cf_matched-_specification">
            <language>OCL</language>
            <body>isInsideCF() implies combinedFragment.cfragmentGate->select(isOutsideCF() and matches(self))->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-outside_cf_matched" name="outside_cf_matched" constrainedElement="Gate" context="Gate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-outside_cf_matched-_ownedComment.0" annotatedElement="Gate-outside_cf_matched">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-outside_cf_matched-_specification">
            <language>OCL</language>
            <body>isOutsideCF() implies&#xD;
 if self.combinedFragment.interactionOperator->asOrderedSet()->first() = InteractionOperatorKind::alt&#xD;
 then self.combinedFragment.operand->forAll(op : InteractionOperand |&#xD;
 self.combinedFragment.cfragmentGate->select(isInsideCF() and &#xD;
 oppositeEnd().enclosingFragment()->includes(self.combinedFragment) and matches(self))->size()=1)&#xD;
 else  self.combinedFragment.cfragmentGate->select(isInsideCF() and matches(self))->size()=1&#xD;
 endif</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-formal_gate_distinguishable" name="formal_gate_distinguishable" constrainedElement="Gate" context="Gate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-formal_gate_distinguishable-_ownedComment.0" annotatedElement="Gate-formal_gate_distinguishable">
            <body>isFormal() implies that no other formalGate of the parent Interaction returns the same getName() as returned for self</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-formal_gate_distinguishable-_specification">
            <language>OCL</language>
            <body>isFormal() implies interaction.formalGate->select(getName() = self.getName())->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-actual_gate_distinguishable" name="actual_gate_distinguishable" constrainedElement="Gate" context="Gate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-actual_gate_distinguishable-_ownedComment.0" annotatedElement="Gate-actual_gate_distinguishable">
            <body>isActual() implies that no other actualGate of the parent InteractionUse returns the same getName() as returned for self</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-actual_gate_distinguishable-_specification">
            <language>OCL</language>
            <body>isActual() implies interactionUse.actualGate->select(getName() = self.getName())->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-outside_cf_gate_distinguishable" name="outside_cf_gate_distinguishable" constrainedElement="Gate" context="Gate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-outside_cf_gate_distinguishable-_ownedComment.0" annotatedElement="Gate-outside_cf_gate_distinguishable">
            <body>isOutsideCF() implies that no other outside cfragmentGate of the parent CombinedFragment returns the same getName() as returned for self</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-outside_cf_gate_distinguishable-_specification">
            <language>OCL</language>
            <body>isOutsideCF() implies combinedFragment.cfragmentGate->select(getName() = self.getName())->size()=1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-inside_cf_gate_distinguishable" name="inside_cf_gate_distinguishable" constrainedElement="Gate" context="Gate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-inside_cf_gate_distinguishable-_ownedComment.0" annotatedElement="Gate-inside_cf_gate_distinguishable">
            <body>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</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-inside_cf_gate_distinguishable-_specification">
            <language>OCL</language>
            <body>isInsideCF() implies&#xD;
let selfOperand : InteractionOperand = self.getOperand() in&#xD;
  combinedFragment.cfragmentGate->select(isInsideCF() and getName() = self.getName())->select(getOperand() = selfOperand)->size()=1</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Gate-_generalization.0" general="MessageEnd" specific="Gate"/>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Gate-isOutsideCF" name="isOutsideCF" bodyCondition="Gate-isOutsideCF-spec" class="Gate" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-isOutsideCF-_ownedComment.0" annotatedElement="Gate-isOutsideCF">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-isOutsideCF-spec" name="spec" constrainedElement="Gate-isOutsideCF" context="Gate-isOutsideCF">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isOutsideCF-spec-_specification">
              <language>OCL</language>
              <body>result = (self.oppositeEnd()-> notEmpty() and combinedFragment->notEmpty() implies&#xD;
let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;
if oppEnd.oclIsKindOf(MessageOccurrenceSpecification) &#xD;
then let oppMOS : MessageOccurrenceSpecification = oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;
in  self.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(self.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet()) =&#xD;
     oppMOS.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(oppMOS.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;
else let oppGate : Gate = oppEnd.oclAsType(Gate) &#xD;
in self.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(self.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet()) =&#xD;
     oppGate.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(oppGate.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-isOutsideCF-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Gate-isInsideCF" name="isInsideCF" bodyCondition="Gate-isInsideCF-spec" class="Gate" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-isInsideCF-_ownedComment.0" annotatedElement="Gate-isInsideCF">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-isInsideCF-spec" name="spec" constrainedElement="Gate-isInsideCF" context="Gate-isInsideCF">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isInsideCF-spec-_specification">
              <language>OCL</language>
              <body>result = (self.oppositeEnd()-> notEmpty() and combinedFragment->notEmpty() implies&#xD;
let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;
if oppEnd.oclIsKindOf(MessageOccurrenceSpecification)&#xD;
then let oppMOS : MessageOccurrenceSpecification&#xD;
= oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;
in combinedFragment = oppMOS.enclosingOperand.combinedFragment&#xD;
else let oppGate : Gate = oppEnd.oclAsType(Gate)&#xD;
in combinedFragment = oppGate.combinedFragment.enclosingOperand.combinedFragment&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-isInsideCF-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Gate-isActual" name="isActual" bodyCondition="Gate-isActual-spec" class="Gate" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-isActual-_ownedComment.0" annotatedElement="Gate-isActual">
            <body>This query returns true value if this Gate is an actualGate of an InteractionUse.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-isActual-spec" name="spec" constrainedElement="Gate-isActual" context="Gate-isActual">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isActual-spec-_specification">
              <language>OCL</language>
              <body>result = (interactionUse->notEmpty())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-isActual-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Gate-isFormal" name="isFormal" bodyCondition="Gate-isFormal-spec" class="Gate" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-isFormal-_ownedComment.0" annotatedElement="Gate-isFormal">
            <body>This query returns true if this Gate is a formalGate of an Interaction.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-isFormal-spec" name="spec" constrainedElement="Gate-isFormal" context="Gate-isFormal">
            <ownedComment xmi:type="uml:Comment" xmi:id="Gate-isFormal-spec-_ownedComment.0" annotatedElement="Gate-isFormal-spec">
              <body>&lt;p>interaction-&amp;gt;notEmpty()&lt;/p></body>
            </ownedComment>
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isFormal-spec-_specification">
              <language>OCL</language>
              <body>result = (interaction->notEmpty())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-isFormal-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Gate-getName" name="getName" bodyCondition="Gate-getName-spec" class="Gate" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-getName-_ownedComment.0" annotatedElement="Gate-getName">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-getName-spec" name="spec" constrainedElement="Gate-getName" context="Gate-getName">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-getName-spec-_specification">
              <language>OCL</language>
              <body>result = (if name->notEmpty() then name->asOrderedSet()->first()&#xD;
else  if isActual() or isOutsideCF() &#xD;
  then if isSend() &#xD;
    then 'out_'.concat(self.message.name->asOrderedSet()->first())&#xD;
    else 'in_'.concat(self.message.name->asOrderedSet()->first())&#xD;
    endif&#xD;
  else if isSend()&#xD;
    then 'in_'.concat(self.message.name->asOrderedSet()->first())&#xD;
    else 'out_'.concat(self.message.name->asOrderedSet()->first())&#xD;
    endif&#xD;
  endif&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-getName-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Gate-matches" name="matches" bodyCondition="Gate-matches-spec" class="Gate" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-matches-_ownedComment.0" annotatedElement="Gate-matches">
            <body>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).</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-matches-spec" name="spec" constrainedElement="Gate-matches" context="Gate-matches">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-matches-spec-_specification">
              <language>OCL</language>
              <body>result = (self.getName() = gateToMatch.getName() and &#xD;
self.message.messageSort = gateToMatch.message.messageSort and&#xD;
self.message.name = gateToMatch.message.name and&#xD;
self.message.sendEvent->includes(self) implies gateToMatch.message.receiveEvent->includes(gateToMatch)  and&#xD;
self.message.receiveEvent->includes(self) implies gateToMatch.message.sendEvent->includes(gateToMatch) and&#xD;
self.message.signature = gateToMatch.message.signature)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-matches-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-matches-gateToMatch" name="gateToMatch" type="Gate"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Gate-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="Gate-isDistinguishableFrom-spec" class="Gate" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-isDistinguishableFrom-_ownedComment.0" annotatedElement="Gate-isDistinguishableFrom">
            <body>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;
is optional, it is allowed to have two formal gates without an explicit name, but having derived names which are distinct.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-isDistinguishableFrom-spec" name="spec" constrainedElement="Gate-isDistinguishableFrom" context="Gate-isDistinguishableFrom">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isDistinguishableFrom-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-isDistinguishableFrom-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-isDistinguishableFrom-n" name="n" type="NamedElement"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Gate-getOperand" name="getOperand" bodyCondition="Gate-getOperand-spec" class="Gate" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Gate-getOperand-_ownedComment.0" annotatedElement="Gate-getOperand">
            <body>If the Gate is an inside Combined Fragment Gate, this operation returns the InteractionOperand that the opposite end of this Gate is included within.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Gate-getOperand-spec" name="spec" constrainedElement="Gate-getOperand" context="Gate-getOperand">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-getOperand-spec-_specification">
              <language>OCL</language>
              <body>result = (if isInsideCF() then&#xD;
  let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;
    if oppEnd.oclIsKindOf(MessageOccurrenceSpecification)&#xD;
    then let oppMOS : MessageOccurrenceSpecification = oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;
        in oppMOS.enclosingOperand->asOrderedSet()->first()&#xD;
    else let oppGate : Gate = oppEnd.oclAsType(Gate)&#xD;
        in oppGate.combinedFragment.enclosingOperand->asOrderedSet()->first()&#xD;
    endif&#xD;
  else null&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Gate-getOperand-result" name="result" type="InteractionOperand" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="GeneralOrdering" name="GeneralOrdering">
        <ownedComment xmi:type="uml:Comment" xmi:id="GeneralOrdering-_ownedComment.0" annotatedElement="GeneralOrdering">
          <body>A GeneralOrdering represents a binary relation between two OccurrenceSpecifications, to describe that one OccurrenceSpecification must occur before the other in a valid trace. This mechanism provides the ability to define partial orders of OccurrenceSpecifications that may otherwise not have a specified order.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="GeneralOrdering-irreflexive_transitive_closure" name="irreflexive_transitive_closure" constrainedElement="GeneralOrdering" context="GeneralOrdering">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralOrdering-irreflexive_transitive_closure-_ownedComment.0" annotatedElement="GeneralOrdering-irreflexive_transitive_closure">
            <body>An occurrence specification must not be ordered relative to itself through a series of general orderings. (In other words, the transitive closure of the general orderings is irreflexive.)</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="GeneralOrdering-irreflexive_transitive_closure-_specification">
            <language>OCL</language>
            <body>after->closure(toAfter.after)->excludes(before)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="GeneralOrdering-_generalization.0" general="NamedElement" specific="GeneralOrdering"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="GeneralOrdering-after" name="after" type="OccurrenceSpecification" association="A_toBefore_after">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralOrdering-after-_ownedComment.0" annotatedElement="GeneralOrdering-after">
            <body>The OccurrenceSpecification referenced comes after the OccurrenceSpecification referenced by before.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="GeneralOrdering-before" name="before" type="OccurrenceSpecification" association="A_before_toAfter">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralOrdering-before-_ownedComment.0" annotatedElement="GeneralOrdering-before">
            <body>The OccurrenceSpecification referenced comes before the OccurrenceSpecification referenced by after.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Interaction" name="Interaction">
        <ownedComment xmi:type="uml:Comment" xmi:id="Interaction-_ownedComment.0" annotatedElement="Interaction">
          <body>An Interaction is a unit of Behavior that focuses on the observable exchange of information between connectable elements.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Interaction-not_contained" name="not_contained" constrainedElement="Interaction" context="Interaction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interaction-not_contained-_ownedComment.0" annotatedElement="Interaction-not_contained">
            <body>An Interaction instance must not be contained within another Interaction instance.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Interaction-not_contained-_specification">
            <language>OCL</language>
            <body>enclosingInteraction->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Interaction-_generalization.0" general="InteractionFragment" specific="Interaction"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Interaction-_generalization.1" general="Behavior" specific="Interaction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interaction-action" name="action" type="Action" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_action_interaction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interaction-action-_ownedComment.0" annotatedElement="Interaction-action">
            <body>Actions owned by the Interaction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-action-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-action-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interaction-formalGate" name="formalGate" type="Gate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_formalGate_interaction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interaction-formalGate-_ownedComment.0" annotatedElement="Interaction-formalGate">
            <body>Specifies the gates that form the message interface between this Interaction and any InteractionUses which reference it.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-formalGate-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-formalGate-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interaction-fragment" name="fragment" type="InteractionFragment" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_fragment_enclosingInteraction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interaction-fragment-_ownedComment.0" annotatedElement="Interaction-fragment">
            <body>The ordered set of fragments in the Interaction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-fragment-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-fragment-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interaction-lifeline" name="lifeline" type="Lifeline" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_lifeline_interaction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interaction-lifeline-_ownedComment.0" annotatedElement="Interaction-lifeline">
            <body>Specifies the participants in this Interaction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-lifeline-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-lifeline-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Interaction-message" name="message" type="Message" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_message_interaction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Interaction-message-_ownedComment.0" annotatedElement="Interaction-message">
            <body>The Messages contained in this Interaction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-message-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-message-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InteractionConstraint" name="InteractionConstraint">
        <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-_ownedComment.0" annotatedElement="InteractionConstraint">
          <body>An InteractionConstraint is a Boolean expression that guards an operand in a CombinedFragment.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionConstraint-minint_maxint" name="minint_maxint" constrainedElement="InteractionConstraint" context="InteractionConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-minint_maxint-_ownedComment.0" annotatedElement="InteractionConstraint-minint_maxint">
            <body>Minint/maxint can only be present if the InteractionConstraint is associated with the operand of a loop CombinedFragment.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-minint_maxint-_specification">
            <language>OCL</language>
            <body>maxint->notEmpty() or minint->notEmpty() implies&#xD;
interactionOperand.combinedFragment.interactionOperator =&#xD;
InteractionOperatorKind::loop</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionConstraint-minint_non_negative" name="minint_non_negative" constrainedElement="InteractionConstraint" context="InteractionConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-minint_non_negative-_ownedComment.0" annotatedElement="InteractionConstraint-minint_non_negative">
            <body>If minint is specified, then the expression must evaluate to a non-negative integer.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-minint_non_negative-_specification">
            <language>OCL</language>
            <body>minint->notEmpty() implies &#xD;
minint->asSequence()->first().integerValue() >= 0</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionConstraint-maxint_positive" name="maxint_positive" constrainedElement="InteractionConstraint" context="InteractionConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-maxint_positive-_ownedComment.0" annotatedElement="InteractionConstraint-maxint_positive">
            <body>If maxint is specified, then the expression must evaluate to a positive integer.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-maxint_positive-_specification">
            <language>OCL</language>
            <body>maxint->notEmpty() implies &#xD;
maxint->asSequence()->first().integerValue() > 0</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionConstraint-dynamic_variables" name="dynamic_variables" constrainedElement="InteractionConstraint" context="InteractionConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-dynamic_variables-_ownedComment.0" annotatedElement="InteractionConstraint-dynamic_variables">
            <body>The dynamic variables that take part in the constraint must be owned by the ConnectableElement corresponding to the covered Lifeline.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-dynamic_variables-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionConstraint-global_data" name="global_data" constrainedElement="InteractionConstraint" context="InteractionConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-global_data-_ownedComment.0" annotatedElement="InteractionConstraint-global_data">
            <body>The constraint may contain references to global data or write-once data.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-global_data-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionConstraint-maxint_greater_equal_minint" name="maxint_greater_equal_minint" constrainedElement="InteractionConstraint" context="InteractionConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-maxint_greater_equal_minint-_ownedComment.0" annotatedElement="InteractionConstraint-maxint_greater_equal_minint">
            <body>If maxint is specified, then minint must be specified and the evaluation of maxint must be >= the evaluation of minint.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-maxint_greater_equal_minint-_specification">
            <language>OCL</language>
            <body>maxint->notEmpty() implies (minint->notEmpty() and &#xD;
maxint->asSequence()->first().integerValue() >=&#xD;
minint->asSequence()->first().integerValue() )</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InteractionConstraint-_generalization.0" general="Constraint" specific="InteractionConstraint"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionConstraint-maxint" name="maxint" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_maxint_interactionConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-maxint-_ownedComment.0" annotatedElement="InteractionConstraint-maxint">
            <body>The maximum number of iterations of a loop</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionConstraint-maxint-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionConstraint-minint" name="minint" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_minint_interactionConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionConstraint-minint-_ownedComment.0" annotatedElement="InteractionConstraint-minint">
            <body>The minimum number of iterations of a loop</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionConstraint-minint-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InteractionFragment" name="InteractionFragment" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="InteractionFragment-_ownedComment.0" annotatedElement="InteractionFragment">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="InteractionFragment-_generalization.0" general="NamedElement" specific="InteractionFragment"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionFragment-covered" name="covered" type="Lifeline" association="A_covered_coveredBy">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionFragment-covered-_ownedComment.0" annotatedElement="InteractionFragment-covered">
            <body>References the Lifelines that the InteractionFragment involves.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-covered-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionFragment-covered-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionFragment-enclosingInteraction" name="enclosingInteraction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_fragment_enclosingInteraction">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionFragment-enclosingInteraction-_ownedComment.0" annotatedElement="InteractionFragment-enclosingInteraction">
            <body>The Interaction enclosing this InteractionFragment.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-enclosingInteraction-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionFragment-enclosingOperand" name="enclosingOperand" type="InteractionOperand" subsettedProperty="NamedElement-namespace" association="A_fragment_enclosingOperand">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionFragment-enclosingOperand-_ownedComment.0" annotatedElement="InteractionFragment-enclosingOperand">
            <body>The operand enclosing this InteractionFragment (they may nest recursively).</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-enclosingOperand-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionFragment-generalOrdering" name="generalOrdering" type="GeneralOrdering" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_generalOrdering_interactionFragment">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionFragment-generalOrdering-_ownedComment.0" annotatedElement="InteractionFragment-generalOrdering">
            <body>The general ordering relationships contained in this fragment.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-generalOrdering-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionFragment-generalOrdering-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InteractionOperand" name="InteractionOperand">
        <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperand-_ownedComment.0" annotatedElement="InteractionOperand">
          <body>An InteractionOperand is contained in a CombinedFragment. An InteractionOperand represents one operand of the expression given by the enclosing CombinedFragment.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionOperand-guard_contain_references" name="guard_contain_references" constrainedElement="InteractionOperand" context="InteractionOperand">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperand-guard_contain_references-_ownedComment.0" annotatedElement="InteractionOperand-guard_contain_references">
            <body>The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionOperand-guard_contain_references-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionOperand-guard_directly_prior" name="guard_directly_prior" constrainedElement="InteractionOperand" context="InteractionOperand">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperand-guard_directly_prior-_ownedComment.0" annotatedElement="InteractionOperand-guard_directly_prior">
            <body>The guard must be placed directly prior to (above) the OccurrenceSpecification that will become the first OccurrenceSpecification within this InteractionOperand.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionOperand-guard_directly_prior-_specification" language=""/>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InteractionOperand-_generalization.0" general="InteractionFragment" specific="InteractionOperand"/>
        <generalization xmi:type="uml:Generalization" xmi:id="InteractionOperand-_generalization.1" general="Namespace" specific="InteractionOperand"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionOperand-fragment" name="fragment" type="InteractionFragment" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_fragment_enclosingOperand">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperand-fragment-_ownedComment.0" annotatedElement="InteractionOperand-fragment">
            <body>The fragments of the operand.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionOperand-fragment-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionOperand-fragment-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionOperand-guard" name="guard" type="InteractionConstraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_guard_interactionOperand">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperand-guard-_ownedComment.0" annotatedElement="InteractionOperand-guard">
            <body>Constraint of the operand.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionOperand-guard-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InteractionUse" name="InteractionUse">
        <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-_ownedComment.0" annotatedElement="InteractionUse">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionUse-gates_match" name="gates_match" constrainedElement="InteractionUse" context="InteractionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-gates_match-_ownedComment.0" annotatedElement="InteractionUse-gates_match">
            <body>Actual Gates of the InteractionUse must match Formal Gates of the referred Interaction. Gates match when their names are equal and their messages correspond.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-gates_match-_specification">
            <language>OCL</language>
            <body>actualGate->notEmpty() implies &#xD;
refersTo.formalGate->forAll( fg : Gate | self.actualGate->select(matches(fg))->size()=1) and&#xD;
self.actualGate->forAll(ag : Gate | refersTo.formalGate->select(matches(ag))->size()=1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionUse-arguments_are_constants" name="arguments_are_constants" constrainedElement="InteractionUse" context="InteractionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-arguments_are_constants-_ownedComment.0" annotatedElement="InteractionUse-arguments_are_constants">
            <body>The arguments must only be constants, parameters of the enclosing Interaction or attributes of the classifier owning the enclosing Interaction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-arguments_are_constants-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionUse-returnValueRecipient_coverage" name="returnValueRecipient_coverage" constrainedElement="InteractionUse" context="InteractionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-returnValueRecipient_coverage-_ownedComment.0" annotatedElement="InteractionUse-returnValueRecipient_coverage">
            <body>The returnValueRecipient must be a Property of a ConnectableElement that is represented by a Lifeline covered by this InteractionUse.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-returnValueRecipient_coverage-_specification">
            <language>OCL</language>
            <body>returnValueRecipient->asSet()->notEmpty() implies&#xD;
let covCE : Set(ConnectableElement) = covered.represents->asSet() in &#xD;
covCE->notEmpty() and let classes:Set(Classifier) = covCE.type.oclIsKindOf(Classifier).oclAsType(Classifier)->asSet() in &#xD;
let allProps : Set(Property) = classes.attribute->union(classes.allParents().attribute)->asSet() in &#xD;
allProps->includes(returnValueRecipient)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionUse-arguments_correspond_to_parameters" name="arguments_correspond_to_parameters" constrainedElement="InteractionUse" context="InteractionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-arguments_correspond_to_parameters-_ownedComment.0" annotatedElement="InteractionUse-arguments_correspond_to_parameters">
            <body>The arguments of the InteractionUse must correspond to parameters of the referred Interaction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-arguments_correspond_to_parameters-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionUse-returnValue_type_recipient_correspondence" name="returnValue_type_recipient_correspondence" constrainedElement="InteractionUse" context="InteractionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-returnValue_type_recipient_correspondence-_ownedComment.0" annotatedElement="InteractionUse-returnValue_type_recipient_correspondence">
            <body>The type of the returnValue must correspond to the type of the returnValueRecipient.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-returnValue_type_recipient_correspondence-_specification">
            <language>OCL</language>
            <body>returnValue.type->asSequence()->notEmpty() implies returnValue.type->asSequence()->first() = returnValueRecipient.type->asSequence()->first()&#xD;
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InteractionUse-all_lifelines" name="all_lifelines" constrainedElement="InteractionUse" context="InteractionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-all_lifelines-_ownedComment.0" annotatedElement="InteractionUse-all_lifelines">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-all_lifelines-_specification">
            <language>OCL</language>
            <body>let parentInteraction : Set(Interaction) = enclosingInteraction->asSet()->&#xD;
union(enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;
collect(enclosingInteraction).oclAsType(Interaction)->asSet()) in&#xD;
parentInteraction->size()=1 and let refInteraction : Interaction = refersTo in&#xD;
parentInteraction.covered-> forAll(intLifeline : Lifeline | refInteraction.covered->&#xD;
forAll( refLifeline : Lifeline | refLifeline.represents = intLifeline.represents and &#xD;
(&#xD;
( refLifeline.selector.oclIsKindOf(LiteralString) implies&#xD;
  intLifeline.selector.oclIsKindOf(LiteralString) and &#xD;
  refLifeline.selector.oclAsType(LiteralString).value = intLifeline.selector.oclAsType(LiteralString).value ) and&#xD;
( refLifeline.selector.oclIsKindOf(LiteralInteger) implies&#xD;
  intLifeline.selector.oclIsKindOf(LiteralInteger) and &#xD;
  refLifeline.selector.oclAsType(LiteralInteger).value = intLifeline.selector.oclAsType(LiteralInteger).value )&#xD;
)&#xD;
 implies self.covered->asSet()->includes(intLifeline)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InteractionUse-_generalization.0" general="InteractionFragment" specific="InteractionUse"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionUse-actualGate" name="actualGate" type="Gate" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_actualGate_interactionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-actualGate-_ownedComment.0" annotatedElement="InteractionUse-actualGate">
            <body>The actual gates of the InteractionUse.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionUse-actualGate-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionUse-actualGate-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionUse-argument" name="argument" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_argument_interactionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-argument-_ownedComment.0" annotatedElement="InteractionUse-argument">
            <body>The actual arguments of the Interaction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionUse-argument-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionUse-argument-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionUse-refersTo" name="refersTo" type="Interaction" association="A_refersTo_interactionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-refersTo-_ownedComment.0" annotatedElement="InteractionUse-refersTo">
            <body>Refers to the Interaction that defines its meaning.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionUse-returnValue" name="returnValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_returnValue_interactionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-returnValue-_ownedComment.0" annotatedElement="InteractionUse-returnValue">
            <body>The value of the executed Interaction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionUse-returnValue-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InteractionUse-returnValueRecipient" name="returnValueRecipient" type="Property" association="A_returnValueRecipient_interactionUse">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionUse-returnValueRecipient-_ownedComment.0" annotatedElement="InteractionUse-returnValueRecipient">
            <body>The recipient of the return value.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionUse-returnValueRecipient-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Lifeline" name="Lifeline">
        <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-_ownedComment.0" annotatedElement="Lifeline">
          <body>A Lifeline represents an individual participant in the Interaction. While parts and structural features may have multiplicity greater than 1, Lifelines represent only one interacting entity.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Lifeline-selector_specified" name="selector_specified" constrainedElement="Lifeline" context="Lifeline">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-selector_specified-_ownedComment.0" annotatedElement="Lifeline-selector_specified">
            <body>The selector for a Lifeline must only be specified if the referenced Part is multivalued.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Lifeline-selector_specified-_specification">
            <language>OCL</language>
            <body> self.selector->notEmpty() = (self.represents.oclIsKindOf(MultiplicityElement) and self.represents.oclAsType(MultiplicityElement).isMultivalued())</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Lifeline-interaction_uses_share_lifeline" name="interaction_uses_share_lifeline" constrainedElement="Lifeline" context="Lifeline">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-interaction_uses_share_lifeline-_ownedComment.0" annotatedElement="Lifeline-interaction_uses_share_lifeline">
            <body>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.&#xD;
</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Lifeline-interaction_uses_share_lifeline-_specification">
            <language>OCL</language>
            <body>let intUses : Set(InteractionUse) = interaction.interactionUse  in &#xD;
intUses->forAll&#xD;
( iuse : InteractionUse | &#xD;
let usingInteraction : Set(Interaction)  = iuse.enclosingInteraction->asSet()&#xD;
->union(&#xD;
iuse.enclosingOperand.combinedFragment->asSet()->closure(enclosingOperand.combinedFragment).enclosingInteraction->asSet()&#xD;
               ) &#xD;
in&#xD;
let peerUses : Set(InteractionUse) = usingInteraction.fragment->select(oclIsKindOf(InteractionUse)).oclAsType(InteractionUse)->asSet()&#xD;
->union(&#xD;
usingInteraction.fragment->select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)->asSet()&#xD;
->closure(operand.fragment->select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)).operand.fragment->&#xD;
select(oclIsKindOf(InteractionUse)).oclAsType(InteractionUse)->asSet()&#xD;
               )->excluding(iuse)&#xD;
 in&#xD;
peerUses->forAll( peerUse : InteractionUse |&#xD;
 peerUse.refersTo.lifeline->forAll( l : Lifeline | (l.represents = self.represents and &#xD;
 ( self.selector.oclIsKindOf(LiteralString) implies&#xD;
  l.selector.oclIsKindOf(LiteralString) and &#xD;
  self.selector.oclAsType(LiteralString).value = l.selector.oclAsType(LiteralString).value )&#xD;
  and &#xD;
( self.selector.oclIsKindOf(LiteralInteger) implies&#xD;
  l.selector.oclIsKindOf(LiteralInteger) and &#xD;
  self.selector.oclAsType(LiteralInteger).value = l.selector.oclAsType(LiteralInteger).value )&#xD;
)  &#xD;
implies&#xD;
 usingInteraction.lifeline->exists(represents = self.represents and&#xD;
 ( self.selector.oclIsKindOf(LiteralString) implies&#xD;
  l.selector.oclIsKindOf(LiteralString) and &#xD;
  self.selector.oclAsType(LiteralString).value = l.selector.oclAsType(LiteralString).value )&#xD;
and &#xD;
( self.selector.oclIsKindOf(LiteralInteger) implies&#xD;
  l.selector.oclIsKindOf(LiteralInteger) and &#xD;
  self.selector.oclAsType(LiteralInteger).value = l.selector.oclAsType(LiteralInteger).value )&#xD;
)&#xD;
                                                )&#xD;
                    )&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Lifeline-same_classifier" name="same_classifier" constrainedElement="Lifeline" context="Lifeline">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-same_classifier-_ownedComment.0" annotatedElement="Lifeline-same_classifier">
            <body>The classifier containing the referenced ConnectableElement must be the same classifier, or an ancestor, of the classifier that contains the interaction enclosing this lifeline.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Lifeline-same_classifier-_specification">
            <language>OCL</language>
            <body>represents.namespace->closure(namespace)->includes(interaction._'context')</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Lifeline-selector_int_or_string" name="selector_int_or_string" constrainedElement="Lifeline" context="Lifeline">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-selector_int_or_string-_ownedComment.0" annotatedElement="Lifeline-selector_int_or_string">
            <body>The selector value, if present, must be a LiteralString or a LiteralInteger </body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Lifeline-selector_int_or_string-_specification">
            <language>OCL</language>
            <body>self.selector->notEmpty() implies &#xD;
self.selector.oclIsKindOf(LiteralInteger) or &#xD;
self.selector.oclIsKindOf(LiteralString)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Lifeline-_generalization.0" general="NamedElement" specific="Lifeline"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Lifeline-coveredBy" name="coveredBy" type="InteractionFragment" association="A_covered_coveredBy">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-coveredBy-_ownedComment.0" annotatedElement="Lifeline-coveredBy">
            <body>References the InteractionFragments in which this Lifeline takes part.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Lifeline-coveredBy-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Lifeline-coveredBy-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Lifeline-decomposedAs" name="decomposedAs" type="PartDecomposition" association="A_decomposedAs_lifeline">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-decomposedAs-_ownedComment.0" annotatedElement="Lifeline-decomposedAs">
            <body>References the Interaction that represents the decomposition.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Lifeline-decomposedAs-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Lifeline-interaction" name="interaction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_lifeline_interaction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-interaction-_ownedComment.0" annotatedElement="Lifeline-interaction">
            <body>References the Interaction enclosing this Lifeline.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Lifeline-represents" name="represents" type="ConnectableElement" association="A_represents_lifeline">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-represents-_ownedComment.0" annotatedElement="Lifeline-represents">
            <body>References the ConnectableElement within the classifier that contains the enclosing interaction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Lifeline-represents-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Lifeline-selector" name="selector" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_selector_lifeline">
          <ownedComment xmi:type="uml:Comment" xmi:id="Lifeline-selector-_ownedComment.0" annotatedElement="Lifeline-selector">
            <body>If the referenced ConnectableElement is multivalued, then this specifies the specific individual part within that set.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Lifeline-selector-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Message" name="Message">
        <ownedComment xmi:type="uml:Comment" xmi:id="Message-_ownedComment.0" annotatedElement="Message">
          <body>A Message defines a particular communication between Lifelines of an Interaction.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Message-sending_receiving_message_event" name="sending_receiving_message_event" constrainedElement="Message" context="Message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-sending_receiving_message_event-_ownedComment.0" annotatedElement="Message-sending_receiving_message_event">
            <body>If the sendEvent and the receiveEvent of the same Message are on the same Lifeline, the sendEvent must be ordered before the receiveEvent.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-sending_receiving_message_event-_specification">
            <language>OCL</language>
            <body>receiveEvent.oclIsKindOf(MessageOccurrenceSpecification)&#xD;
implies&#xD;
let f :  Lifeline = sendEvent->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first().covered in&#xD;
f = receiveEvent->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first().covered  implies&#xD;
f.events->indexOf(sendEvent.oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() ) &lt; &#xD;
f.events->indexOf(receiveEvent.oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() )</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Message-arguments" name="arguments" constrainedElement="Message" context="Message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-arguments-_ownedComment.0" annotatedElement="Message-arguments">
            <body>Arguments of a Message must only be: i) attributes of the sending lifeline, ii) constants, iii) symbolic values (which are wildcard values representing any legal value), iv) explicit parameters of the enclosing Interaction, v) attributes of the class owning the Interaction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-arguments-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Message-cannot_cross_boundaries" name="cannot_cross_boundaries" constrainedElement="Message" context="Message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-cannot_cross_boundaries-_ownedComment.0" annotatedElement="Message-cannot_cross_boundaries">
            <body>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).</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-cannot_cross_boundaries-_specification">
            <language>OCL</language>
            <body>sendEvent->notEmpty() and receiveEvent->notEmpty() implies&#xD;
let sendEnclosingFrag : Set(InteractionFragment) = &#xD;
sendEvent->asOrderedSet()->first().enclosingFragment()&#xD;
in &#xD;
let receiveEnclosingFrag : Set(InteractionFragment) = &#xD;
receiveEvent->asOrderedSet()->first().enclosingFragment()&#xD;
in  sendEnclosingFrag = receiveEnclosingFrag</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Message-signature_is_signal" name="signature_is_signal" constrainedElement="Message" context="Message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-signature_is_signal-_ownedComment.0" annotatedElement="Message-signature_is_signal">
            <body>In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Argument is of the same Class or a specialization of that of the Attribute.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-signature_is_signal-_specification">
            <language>OCL</language>
            <body>(messageSort = MessageSort::asynchSignal ) and signature.oclIsKindOf(Signal) implies&#xD;
   let signalAttributes : OrderedSet(Property) = signature.oclAsType(Signal).inheritedMember()->&#xD;
             select(n:NamedElement | n.oclIsTypeOf(Property))->collect(oclAsType(Property))->asOrderedSet()&#xD;
   in signalAttributes->size() = self.argument->size()&#xD;
   and self.argument->forAll( o: ValueSpecification |&#xD;
          not (o.oclIsKindOf(Expression)&#xD;
          and o.oclAsType(Expression).symbol->size()=0&#xD;
          and o.oclAsType(Expression).operand->isEmpty() ) implies&#xD;
              let p : Property = signalAttributes->at(self.argument->indexOf(o))&#xD;
              in o.type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier)))&#xD;
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Message-occurrence_specifications" name="occurrence_specifications" constrainedElement="Message" context="Message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-occurrence_specifications-_ownedComment.0" annotatedElement="Message-occurrence_specifications">
            <body>If the MessageEnds are both OccurrenceSpecifications, then the connector must go between the Parts represented by the Lifelines of the two MessageEnds.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-occurrence_specifications-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Message-signature_refer_to" name="signature_refer_to" constrainedElement="Message" context="Message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-signature_refer_to-_ownedComment.0" annotatedElement="Message-signature_refer_to">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-signature_refer_to-_specification">
            <language>OCL</language>
            <body>signature->notEmpty() implies &#xD;
((signature.oclIsKindOf(Operation) and &#xD;
(messageSort = MessageSort::asynchCall or messageSort = MessageSort::synchCall or messageSort = MessageSort::reply) &#xD;
) or (signature.oclIsKindOf(Signal)  and messageSort = MessageSort::asynchSignal )&#xD;
 ) and name = signature.name</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Message-signature_is_operation_request" name="signature_is_operation_request" constrainedElement="Message" context="Message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-signature_is_operation_request-_ownedComment.0" annotatedElement="Message-signature_is_operation_request">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-signature_is_operation_request-_specification">
            <language>OCL</language>
            <body>(messageSort = MessageSort::asynchCall or messageSort = MessageSort::synchCall) and signature.oclIsKindOf(Operation)  implies &#xD;
 let requestParms : OrderedSet(Parameter) = signature.oclAsType(Operation).ownedParameter->&#xD;
 select(direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::_'in'  )&#xD;
in requestParms->size() = self.argument->size() and&#xD;
self.argument->forAll( o: ValueSpecification | &#xD;
not (o.oclIsKindOf(Expression) and o.oclAsType(Expression).symbol->size()=0 and o.oclAsType(Expression).operand->isEmpty() ) implies &#xD;
let p : Parameter = requestParms->at(self.argument->indexOf(o)) in&#xD;
o.type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier))&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Message-signature_is_operation_reply" name="signature_is_operation_reply" constrainedElement="Message" context="Message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-signature_is_operation_reply-_ownedComment.0" annotatedElement="Message-signature_is_operation_reply">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-signature_is_operation_reply-_specification">
            <language>OCL</language>
            <body>(messageSort = MessageSort::reply) and signature.oclIsKindOf(Operation) implies &#xD;
 let replyParms : OrderedSet(Parameter) = signature.oclAsType(Operation).ownedParameter->&#xD;
select(direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::out or direction = ParameterDirectionKind::return)&#xD;
in replyParms->size() = self.argument->size() and&#xD;
self.argument->forAll( o: ValueSpecification | o.oclIsKindOf(Expression) and let e : Expression = o.oclAsType(Expression) in&#xD;
e.operand->notEmpty()  implies &#xD;
let p : Parameter = replyParms->at(self.argument->indexOf(o)) in&#xD;
e.operand->asSequence()->first().type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier))&#xD;
)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Message-_generalization.0" general="NamedElement" specific="Message"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Message-argument" name="argument" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_argument_message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-argument-_ownedComment.0" annotatedElement="Message-argument">
            <body>The arguments of the Message.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-argument-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Message-argument-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Message-connector" name="connector" type="Connector" association="A_connector_message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-connector-_ownedComment.0" annotatedElement="Message-connector">
            <body>The Connector on which this Message is sent.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-connector-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Message-interaction" name="interaction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_message_interaction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-interaction-_ownedComment.0" annotatedElement="Message-interaction">
            <body>The enclosing Interaction owning the Message.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Message-messageKind" name="messageKind" type="MessageKind" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-messageKind-_ownedComment.0" annotatedElement="Message-messageKind">
            <body>The derived kind of the Message (complete, lost, found, or unknown).</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Message-messageSort" name="messageSort" type="MessageSort">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-messageSort-_ownedComment.0" annotatedElement="Message-messageSort">
            <body>The sort of communication reflected by the Message.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="Message-messageSort-_defaultValue" type="MessageSort" instance="MessageSort-synchCall"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Message-receiveEvent" name="receiveEvent" type="MessageEnd" subsettedProperty="A_message_messageEnd-messageEnd" association="A_receiveEvent_endMessage">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-receiveEvent-_ownedComment.0" annotatedElement="Message-receiveEvent">
            <body>References the Receiving of the Message.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-receiveEvent-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Message-sendEvent" name="sendEvent" type="MessageEnd" subsettedProperty="A_message_messageEnd-messageEnd" association="A_sendEvent_endMessage">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-sendEvent-_ownedComment.0" annotatedElement="Message-sendEvent">
            <body>References the Sending of the Message.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-sendEvent-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Message-signature" name="signature" type="NamedElement" association="A_signature_message">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-signature-_ownedComment.0" annotatedElement="Message-signature">
            <body>The signature of the Message is the specification of its content. It refers either an Operation or a Signal.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-signature-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Message-messageKind.1" name="messageKind" bodyCondition="Message-messageKind.1-spec" class="Message" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-messageKind.1-_ownedComment.0" annotatedElement="Message-messageKind.1">
            <body>This query returns the MessageKind value for this Message.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Message-messageKind.1-spec" name="spec" constrainedElement="Message-messageKind.1 Message-messageKind" context="Message-messageKind.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-messageKind.1-spec-_specification">
              <language>OCL</language>
              <body>result = (messageKind)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Message-messageKind.1-result" name="result" type="MessageKind" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Message-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="Message-isDistinguishableFrom-spec" class="Message" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
          <ownedComment xmi:type="uml:Comment" xmi:id="Message-isDistinguishableFrom-_ownedComment.0" annotatedElement="Message-isDistinguishableFrom">
            <body>The query isDistinguishableFrom() specifies that any two Messages may coexist in the same Namespace, regardless of their names.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Message-isDistinguishableFrom-spec" name="spec" constrainedElement="Message-isDistinguishableFrom" context="Message-isDistinguishableFrom">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-isDistinguishableFrom-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Message-isDistinguishableFrom-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Message-isDistinguishableFrom-n" name="n" type="NamedElement"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Message-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="MessageEnd" name="MessageEnd" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="MessageEnd-_ownedComment.0" annotatedElement="MessageEnd">
          <body>MessageEnd is an abstract specialization of NamedElement that represents what can occur at the end of a Message.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="MessageEnd-_generalization.0" general="NamedElement" specific="MessageEnd"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="MessageEnd-message" name="message" type="Message" association="A_message_messageEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageEnd-message-_ownedComment.0" annotatedElement="MessageEnd-message">
            <body>References a Message.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MessageEnd-message-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MessageEnd-oppositeEnd" name="oppositeEnd" bodyCondition="MessageEnd-oppositeEnd-spec" class="MessageEnd" isQuery="true" precondition="MessageEnd-oppositeEnd-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageEnd-oppositeEnd-_ownedComment.0" annotatedElement="MessageEnd-oppositeEnd">
            <body>This query returns a set including the MessageEnd (if exists) at the opposite end of the Message for this MessageEnd.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MessageEnd-oppositeEnd-spec" name="spec" constrainedElement="MessageEnd-oppositeEnd" context="MessageEnd-oppositeEnd">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-oppositeEnd-spec-_specification">
              <language>OCL</language>
              <body>result = (message->asSet().messageEnd->asSet()->excluding(self))</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MessageEnd-oppositeEnd-pre" name="pre" constrainedElement="MessageEnd-oppositeEnd" context="MessageEnd-oppositeEnd">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-oppositeEnd-pre-_specification">
              <language>OCL</language>
              <body>message->notEmpty()&#xD;
</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MessageEnd-oppositeEnd-result" name="result" type="MessageEnd" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MessageEnd-oppositeEnd-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="MessageEnd-oppositeEnd-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MessageEnd-isSend" name="isSend" bodyCondition="MessageEnd-isSend-spec" class="MessageEnd" isQuery="true" precondition="MessageEnd-isSend-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageEnd-isSend-_ownedComment.0" annotatedElement="MessageEnd-isSend">
            <body>This query returns value true if this MessageEnd is a sendEvent.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MessageEnd-isSend-pre" name="pre" constrainedElement="MessageEnd-isSend" context="MessageEnd-isSend">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isSend-pre-_specification">
              <language>OCL</language>
              <body>message->notEmpty()&#xD;
</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MessageEnd-isSend-spec" name="spec" constrainedElement="MessageEnd-isSend" context="MessageEnd-isSend">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isSend-spec-_specification">
              <language>OCL</language>
              <body>result = (message.sendEvent->asSet()->includes(self))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MessageEnd-isSend-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MessageEnd-isReceive" name="isReceive" bodyCondition="MessageEnd-isReceive-spec" class="MessageEnd" isQuery="true" precondition="MessageEnd-isReceive-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageEnd-isReceive-_ownedComment.0" annotatedElement="MessageEnd-isReceive">
            <body>This query returns value true if this MessageEnd is a receiveEvent.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MessageEnd-isReceive-pre" name="pre" constrainedElement="MessageEnd-isReceive" context="MessageEnd-isReceive">
            <ownedComment xmi:type="uml:Comment" xmi:id="MessageEnd-isReceive-pre-_ownedComment.0" annotatedElement="MessageEnd-isReceive-pre">
              <body>&lt;p>message-&amp;gt;notEmpty()&lt;/p></body>
            </ownedComment>
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isReceive-pre-_specification">
              <language>OCL</language>
              <body>message->notEmpty()&#xD;
</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MessageEnd-isReceive-spec" name="spec" constrainedElement="MessageEnd-isReceive" context="MessageEnd-isReceive">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isReceive-spec-_specification">
              <language>OCL</language>
              <body>result = (message.receiveEvent->asSet()->includes(self))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MessageEnd-isReceive-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MessageEnd-enclosingFragment" name="enclosingFragment" bodyCondition="MessageEnd-enclosingFragment-spec" class="MessageEnd" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageEnd-enclosingFragment-_ownedComment.0" annotatedElement="MessageEnd-enclosingFragment">
            <body>This query returns a set including the enclosing InteractionFragment this MessageEnd is enclosed within.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MessageEnd-enclosingFragment-spec" name="spec" constrainedElement="MessageEnd-enclosingFragment" context="MessageEnd-enclosingFragment">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-enclosingFragment-spec-_specification">
              <language>OCL</language>
              <body>result = (if self->select(oclIsKindOf(Gate))->notEmpty() &#xD;
then -- it is a Gate&#xD;
let endGate : Gate = &#xD;
  self->select(oclIsKindOf(Gate)).oclAsType(Gate)->asOrderedSet()->first()&#xD;
  in&#xD;
  if endGate.isOutsideCF() &#xD;
  then endGate.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(endGate.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;
  else if endGate.isInsideCF() &#xD;
    then endGate.combinedFragment.oclAsType(InteractionFragment)->asSet()&#xD;
    else if endGate.isFormal() &#xD;
      then endGate.interaction.oclAsType(InteractionFragment)->asSet()&#xD;
      else if endGate.isActual() &#xD;
        then endGate.interactionUse.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(endGate.interactionUse.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;
        else null&#xD;
        endif&#xD;
      endif&#xD;
    endif&#xD;
  endif&#xD;
else -- it is a MessageOccurrenceSpecification&#xD;
let endMOS : MessageOccurrenceSpecification  = &#xD;
  self->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() &#xD;
  in&#xD;
  if endMOS.enclosingInteraction->notEmpty() &#xD;
  then endMOS.enclosingInteraction.oclAsType(InteractionFragment)->asSet()&#xD;
  else endMOS.enclosingOperand.oclAsType(InteractionFragment)->asSet()&#xD;
  endif&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MessageEnd-enclosingFragment-result" name="result" type="InteractionFragment" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MessageEnd-enclosingFragment-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="MessageEnd-enclosingFragment-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="MessageOccurrenceSpecification" name="MessageOccurrenceSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="MessageOccurrenceSpecification-_ownedComment.0" annotatedElement="MessageOccurrenceSpecification">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="MessageOccurrenceSpecification-_generalization.0" general="MessageEnd" specific="MessageOccurrenceSpecification"/>
        <generalization xmi:type="uml:Generalization" xmi:id="MessageOccurrenceSpecification-_generalization.1" general="OccurrenceSpecification" specific="MessageOccurrenceSpecification"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OccurrenceSpecification" name="OccurrenceSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="OccurrenceSpecification-_ownedComment.0" annotatedElement="OccurrenceSpecification">
          <body>An OccurrenceSpecification is the basic semantic unit of Interactions. The sequences of occurrences specified by them are the meanings of Interactions.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="OccurrenceSpecification-_generalization.0" general="InteractionFragment" specific="OccurrenceSpecification"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OccurrenceSpecification-covered" name="covered" type="Lifeline" redefinedProperty="InteractionFragment-covered" association="A_covered_events">
          <ownedComment xmi:type="uml:Comment" xmi:id="OccurrenceSpecification-covered-_ownedComment.0" annotatedElement="OccurrenceSpecification-covered">
            <body>References the Lifeline on which the OccurrenceSpecification appears.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OccurrenceSpecification-toAfter" name="toAfter" type="GeneralOrdering" association="A_before_toAfter">
          <ownedComment xmi:type="uml:Comment" xmi:id="OccurrenceSpecification-toAfter-_ownedComment.0" annotatedElement="OccurrenceSpecification-toAfter">
            <body>References the GeneralOrderings that specify EventOcurrences that must occur after this OccurrenceSpecification.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OccurrenceSpecification-toAfter-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OccurrenceSpecification-toAfter-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OccurrenceSpecification-toBefore" name="toBefore" type="GeneralOrdering" association="A_toBefore_after">
          <ownedComment xmi:type="uml:Comment" xmi:id="OccurrenceSpecification-toBefore-_ownedComment.0" annotatedElement="OccurrenceSpecification-toBefore">
            <body>References the GeneralOrderings that specify EventOcurrences that must occur before this OccurrenceSpecification.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OccurrenceSpecification-toBefore-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OccurrenceSpecification-toBefore-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="PartDecomposition" name="PartDecomposition">
        <ownedComment xmi:type="uml:Comment" xmi:id="PartDecomposition-_ownedComment.0" annotatedElement="PartDecomposition">
          <body>A PartDecomposition is a description of the internal Interactions of one Lifeline relative to an Interaction.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="PartDecomposition-commutativity_of_decomposition" name="commutativity_of_decomposition" constrainedElement="PartDecomposition" context="PartDecomposition">
          <ownedComment xmi:type="uml:Comment" xmi:id="PartDecomposition-commutativity_of_decomposition-_ownedComment.0" annotatedElement="PartDecomposition-commutativity_of_decomposition">
            <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Assume also that there is within X an InteractionUse (say) U that covers L. According to the constraint above U will have a counterpart CU within D. Within the Interaction referenced by U, L should also be decomposed, and the decomposition should reference CU. (This rule is called commutativity of decomposition.)</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="PartDecomposition-commutativity_of_decomposition-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="PartDecomposition-assume" name="assume" constrainedElement="PartDecomposition" context="PartDecomposition">
          <ownedComment xmi:type="uml:Comment" xmi:id="PartDecomposition-assume-_ownedComment.0" annotatedElement="PartDecomposition-assume">
            <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Within X there is a sequence of constructs along L (such constructs are CombinedFragments, InteractionUse and (plain) OccurrenceSpecifications). Then a corresponding sequence of constructs must appear within D, matched one-to-one in the same order. i) CombinedFragment covering L are matched with an extra-global CombinedFragment in D. ii) An InteractionUse covering L 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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="PartDecomposition-assume-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="PartDecomposition-parts_of_internal_structures" name="parts_of_internal_structures" constrainedElement="PartDecomposition" context="PartDecomposition">
          <ownedComment xmi:type="uml:Comment" xmi:id="PartDecomposition-parts_of_internal_structures-_ownedComment.0" annotatedElement="PartDecomposition-parts_of_internal_structures">
            <body>PartDecompositions apply only to Parts that are Parts of Internal Structures not to Parts of Collaborations.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="PartDecomposition-parts_of_internal_structures-_specification" language=""/>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="PartDecomposition-_generalization.0" general="InteractionUse" specific="PartDecomposition"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StateInvariant" name="StateInvariant">
        <ownedComment xmi:type="uml:Comment" xmi:id="StateInvariant-_ownedComment.0" annotatedElement="StateInvariant">
          <body>A StateInvariant is a runtime constraint on the participants of the Interaction. It may be used to specify a variety of different kinds of Constraints, such as values of Attributes or Variables, internal or external States, and so on. A StateInvariant is an InteractionFragment and it is placed on a Lifeline.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="StateInvariant-_generalization.0" general="InteractionFragment" specific="StateInvariant"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StateInvariant-covered" name="covered" type="Lifeline" redefinedProperty="InteractionFragment-covered" association="A_covered_stateInvariant">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateInvariant-covered-_ownedComment.0" annotatedElement="StateInvariant-covered">
            <body>References the Lifeline on which the StateInvariant appears.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StateInvariant-invariant" name="invariant" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_invariant_stateInvariant">
          <ownedComment xmi:type="uml:Comment" xmi:id="StateInvariant-invariant-_ownedComment.0" annotatedElement="StateInvariant-invariant">
            <body>A Constraint that should hold at runtime for this StateInvariant.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="InteractionOperatorKind" name="InteractionOperatorKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-_ownedComment.0" annotatedElement="InteractionOperatorKind">
          <body>InteractionOperatorKind is an enumeration designating the different kinds of operators of CombinedFragments. The InteractionOperand defines the type of operator of a CombinedFragment.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-seq" name="seq" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-seq-_ownedComment.0" annotatedElement="InteractionOperatorKind-seq">
            <body>The InteractionOperatorKind seq designates that the CombinedFragment represents a weak sequencing between the behaviors of the operands.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-alt" name="alt" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-alt-_ownedComment.0" annotatedElement="InteractionOperatorKind-alt">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-opt" name="opt" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-opt-_ownedComment.0" annotatedElement="InteractionOperatorKind-opt">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-break" name="break" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-break-_ownedComment.0" annotatedElement="InteractionOperatorKind-break">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-par" name="par" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-par-_ownedComment.0" annotatedElement="InteractionOperatorKind-par">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-strict" name="strict" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-strict-_ownedComment.0" annotatedElement="InteractionOperatorKind-strict">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-loop" name="loop" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-loop-_ownedComment.0" annotatedElement="InteractionOperatorKind-loop">
            <body>The InteractionOperatorKind loop designates that the CombinedFragment represents a loop. The loop operand will be repeated a number of times.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-critical" name="critical" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-critical-_ownedComment.0" annotatedElement="InteractionOperatorKind-critical">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-neg" name="neg" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-neg-_ownedComment.0" annotatedElement="InteractionOperatorKind-neg">
            <body>The InteractionOperatorKind neg designates that the CombinedFragment represents traces that are defined to be invalid.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-assert" name="assert" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-assert-_ownedComment.0" annotatedElement="InteractionOperatorKind-assert">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-ignore" name="ignore" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-ignore-_ownedComment.0" annotatedElement="InteractionOperatorKind-ignore">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="InteractionOperatorKind-consider" name="consider" enumeration="InteractionOperatorKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="InteractionOperatorKind-consider-_ownedComment.0" annotatedElement="InteractionOperatorKind-consider">
            <body>The InteractionOperatorKind consider designates which messages should be considered within this combined fragment. This is equivalent to defining every other message to be ignored.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="MessageKind" name="MessageKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="MessageKind-_ownedComment.0" annotatedElement="MessageKind">
          <body>This is an enumerated type that identifies the type of Message.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageKind-complete" name="complete" enumeration="MessageKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageKind-complete-_ownedComment.0" annotatedElement="MessageKind-complete">
            <body>sendEvent and receiveEvent are present</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageKind-lost" name="lost" enumeration="MessageKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageKind-lost-_ownedComment.0" annotatedElement="MessageKind-lost">
            <body>sendEvent present and receiveEvent absent</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageKind-found" name="found" enumeration="MessageKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageKind-found-_ownedComment.0" annotatedElement="MessageKind-found">
            <body>sendEvent absent and receiveEvent present</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageKind-unknown" name="unknown" enumeration="MessageKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageKind-unknown-_ownedComment.0" annotatedElement="MessageKind-unknown">
            <body>sendEvent and receiveEvent absent (should not appear)</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="MessageSort" name="MessageSort">
        <ownedComment xmi:type="uml:Comment" xmi:id="MessageSort-_ownedComment.0" annotatedElement="MessageSort">
          <body>This is an enumerated type that identifies the type of communication action that was used to generate the Message.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageSort-synchCall" name="synchCall" enumeration="MessageSort">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageSort-synchCall-_ownedComment.0" annotatedElement="MessageSort-synchCall">
            <body>The message was generated by a synchronous call to an operation.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageSort-asynchCall" name="asynchCall" enumeration="MessageSort">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageSort-asynchCall-_ownedComment.0" annotatedElement="MessageSort-asynchCall">
            <body>The message was generated by an asynchronous call to an operation; i.e., a CallAction with isSynchronous = false.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageSort-asynchSignal" name="asynchSignal" enumeration="MessageSort">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageSort-asynchSignal-_ownedComment.0" annotatedElement="MessageSort-asynchSignal">
            <body>The message was generated by an asynchronous send action.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageSort-createMessage" name="createMessage" enumeration="MessageSort">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageSort-createMessage-_ownedComment.0" annotatedElement="MessageSort-createMessage">
            <body>The message designating the creation of another lifeline object.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageSort-deleteMessage" name="deleteMessage" enumeration="MessageSort">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageSort-deleteMessage-_ownedComment.0" annotatedElement="MessageSort-deleteMessage">
            <body>The message designating the termination of another lifeline.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="MessageSort-reply" name="reply" enumeration="MessageSort">
          <ownedComment xmi:type="uml:Comment" xmi:id="MessageSort-reply-_ownedComment.0" annotatedElement="MessageSort-reply">
            <body>The message is a reply message to an operation call.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_invariant_stateInvariant" name="A_invariant_stateInvariant" memberEnd="StateInvariant-invariant A_invariant_stateInvariant-stateInvariant">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_invariant_stateInvariant-stateInvariant" name="stateInvariant" type="StateInvariant" owningAssociation="A_invariant_stateInvariant" subsettedProperty="Element-owner" association="A_invariant_stateInvariant">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_invariant_stateInvariant-stateInvariant-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_covered_stateInvariant" name="A_covered_stateInvariant" memberEnd="StateInvariant-covered A_covered_stateInvariant-stateInvariant">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_covered_stateInvariant-stateInvariant" name="stateInvariant" type="StateInvariant" owningAssociation="A_covered_stateInvariant" subsettedProperty="Lifeline-coveredBy" association="A_covered_stateInvariant">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_covered_stateInvariant-stateInvariant-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_covered_stateInvariant-stateInvariant-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_covered_events" name="A_covered_events" memberEnd="OccurrenceSpecification-covered A_covered_events-events">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_covered_events-events" name="events" type="OccurrenceSpecification" isOrdered="true" owningAssociation="A_covered_events" subsettedProperty="Lifeline-coveredBy" association="A_covered_events">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_covered_events-events-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_covered_events-events-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_toBefore_after" name="A_toBefore_after" memberEnd="OccurrenceSpecification-toBefore GeneralOrdering-after"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_message_messageEnd" name="A_message_messageEnd" memberEnd="MessageEnd-message A_message_messageEnd-messageEnd">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_message_messageEnd-messageEnd" name="messageEnd" type="MessageEnd" owningAssociation="A_message_messageEnd" association="A_message_messageEnd">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_message_messageEnd-messageEnd-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_message_messageEnd-messageEnd-_upperValue" value="2"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_signature_message" name="A_signature_message" memberEnd="Message-signature A_signature_message-message">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_signature_message-message" name="message" type="Message" owningAssociation="A_signature_message" association="A_signature_message">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signature_message-message-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signature_message-message-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_connector_message" name="A_connector_message" memberEnd="Message-connector A_connector_message-message">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_connector_message-message" name="message" type="Message" owningAssociation="A_connector_message" association="A_connector_message">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_connector_message-message-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_connector_message-message-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_receiveEvent_endMessage" name="A_receiveEvent_endMessage" memberEnd="Message-receiveEvent A_receiveEvent_endMessage-endMessage">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_receiveEvent_endMessage-endMessage" name="endMessage" type="Message" owningAssociation="A_receiveEvent_endMessage" subsettedProperty="MessageEnd-message" association="A_receiveEvent_endMessage">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_receiveEvent_endMessage-endMessage-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_sendEvent_endMessage" name="A_sendEvent_endMessage" memberEnd="Message-sendEvent A_sendEvent_endMessage-endMessage">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_sendEvent_endMessage-endMessage" name="endMessage" type="Message" owningAssociation="A_sendEvent_endMessage" subsettedProperty="MessageEnd-message" association="A_sendEvent_endMessage">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_sendEvent_endMessage-endMessage-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_argument_message" name="A_argument_message" memberEnd="Message-argument A_argument_message-message">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_argument_message-message" name="message" type="Message" owningAssociation="A_argument_message" subsettedProperty="Element-owner" association="A_argument_message">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_argument_message-message-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_selector_lifeline" name="A_selector_lifeline" memberEnd="Lifeline-selector A_selector_lifeline-lifeline">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_selector_lifeline-lifeline" name="lifeline" type="Lifeline" owningAssociation="A_selector_lifeline" subsettedProperty="Element-owner" association="A_selector_lifeline">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_selector_lifeline-lifeline-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_decomposedAs_lifeline" name="A_decomposedAs_lifeline" memberEnd="Lifeline-decomposedAs A_decomposedAs_lifeline-lifeline">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_decomposedAs_lifeline-lifeline" name="lifeline" type="Lifeline" owningAssociation="A_decomposedAs_lifeline" association="A_decomposedAs_lifeline"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_represents_lifeline" name="A_represents_lifeline" memberEnd="Lifeline-represents A_represents_lifeline-lifeline">
        <ownedComment xmi:type="uml:Comment" xmi:id="A_represents_lifeline-_ownedComment.0" annotatedElement="A_represents_lifeline">
          <body>If a Part has multiplicity, multiple lifelines might be used to show it.</body>
        </ownedComment>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_represents_lifeline-lifeline" name="lifeline" type="Lifeline" owningAssociation="A_represents_lifeline" association="A_represents_lifeline">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_represents_lifeline-lifeline-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_represents_lifeline-lifeline-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_returnValueRecipient_interactionUse" name="A_returnValueRecipient_interactionUse" memberEnd="InteractionUse-returnValueRecipient A_returnValueRecipient_interactionUse-interactionUse">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_returnValueRecipient_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" owningAssociation="A_returnValueRecipient_interactionUse" association="A_returnValueRecipient_interactionUse">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_returnValueRecipient_interactionUse-interactionUse-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_returnValueRecipient_interactionUse-interactionUse-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_refersTo_interactionUse" name="A_refersTo_interactionUse" memberEnd="InteractionUse-refersTo A_refersTo_interactionUse-interactionUse">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_refersTo_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" owningAssociation="A_refersTo_interactionUse" association="A_refersTo_interactionUse">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_refersTo_interactionUse-interactionUse-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_refersTo_interactionUse-interactionUse-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_returnValue_interactionUse" name="A_returnValue_interactionUse" memberEnd="InteractionUse-returnValue A_returnValue_interactionUse-interactionUse">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_returnValue_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" owningAssociation="A_returnValue_interactionUse" subsettedProperty="Element-owner" association="A_returnValue_interactionUse">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_returnValue_interactionUse-interactionUse-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_argument_interactionUse" name="A_argument_interactionUse" memberEnd="InteractionUse-argument A_argument_interactionUse-interactionUse">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_argument_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" owningAssociation="A_argument_interactionUse" subsettedProperty="Element-owner" association="A_argument_interactionUse">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_argument_interactionUse-interactionUse-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_actualGate_interactionUse" name="A_actualGate_interactionUse" memberEnd="InteractionUse-actualGate A_actualGate_interactionUse-interactionUse">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_actualGate_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" owningAssociation="A_actualGate_interactionUse" subsettedProperty="Element-owner" association="A_actualGate_interactionUse">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_actualGate_interactionUse-interactionUse-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_fragment_enclosingOperand" name="A_fragment_enclosingOperand" memberEnd="InteractionOperand-fragment InteractionFragment-enclosingOperand"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_guard_interactionOperand" name="A_guard_interactionOperand" memberEnd="InteractionOperand-guard A_guard_interactionOperand-interactionOperand">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_guard_interactionOperand-interactionOperand" name="interactionOperand" type="InteractionOperand" owningAssociation="A_guard_interactionOperand" subsettedProperty="Element-owner" association="A_guard_interactionOperand"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_generalOrdering_interactionFragment" name="A_generalOrdering_interactionFragment" memberEnd="InteractionFragment-generalOrdering A_generalOrdering_interactionFragment-interactionFragment">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_generalOrdering_interactionFragment-interactionFragment" name="interactionFragment" type="InteractionFragment" owningAssociation="A_generalOrdering_interactionFragment" subsettedProperty="Element-owner" association="A_generalOrdering_interactionFragment">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_generalOrdering_interactionFragment-interactionFragment-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_covered_coveredBy" name="A_covered_coveredBy" memberEnd="InteractionFragment-covered Lifeline-coveredBy">
        <ownedComment xmi:type="uml:Comment" xmi:id="A_covered_coveredBy-_ownedComment.0" annotatedElement="A_covered_coveredBy">
          <body>This association shows the lifelines that make up an interaction. A lifeline may be part of more than one interaction use.</body>
        </ownedComment>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_minint_interactionConstraint" name="A_minint_interactionConstraint" memberEnd="InteractionConstraint-minint A_minint_interactionConstraint-interactionConstraint">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_minint_interactionConstraint-interactionConstraint" name="interactionConstraint" type="InteractionConstraint" owningAssociation="A_minint_interactionConstraint" subsettedProperty="Element-owner" association="A_minint_interactionConstraint">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_minint_interactionConstraint-interactionConstraint-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_maxint_interactionConstraint" name="A_maxint_interactionConstraint" memberEnd="InteractionConstraint-maxint A_maxint_interactionConstraint-interactionConstraint">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_maxint_interactionConstraint-interactionConstraint" name="interactionConstraint" type="InteractionConstraint" owningAssociation="A_maxint_interactionConstraint" subsettedProperty="Element-owner" association="A_maxint_interactionConstraint">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_maxint_interactionConstraint-interactionConstraint-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_action_interaction" name="A_action_interaction" memberEnd="Interaction-action A_action_interaction-interaction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_action_interaction-interaction" name="interaction" type="Interaction" owningAssociation="A_action_interaction" subsettedProperty="Element-owner" association="A_action_interaction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_action_interaction-interaction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_formalGate_interaction" name="A_formalGate_interaction" memberEnd="Interaction-formalGate A_formalGate_interaction-interaction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_formalGate_interaction-interaction" name="interaction" type="Interaction" owningAssociation="A_formalGate_interaction" subsettedProperty="NamedElement-namespace" association="A_formalGate_interaction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_formalGate_interaction-interaction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_lifeline_interaction" name="A_lifeline_interaction" memberEnd="Interaction-lifeline Lifeline-interaction"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_fragment_enclosingInteraction" name="A_fragment_enclosingInteraction" memberEnd="Interaction-fragment InteractionFragment-enclosingInteraction"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_message_interaction" name="A_message_interaction" memberEnd="Interaction-message Message-interaction"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_before_toAfter" name="A_before_toAfter" memberEnd="GeneralOrdering-before OccurrenceSpecification-toAfter"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_finish_executionSpecification" name="A_finish_executionSpecification" memberEnd="ExecutionSpecification-finish A_finish_executionSpecification-executionSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="A_finish_executionSpecification-_ownedComment.0" annotatedElement="A_finish_executionSpecification">
          <body>The event shows the time point at which the action completes execution.</body>
        </ownedComment>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_finish_executionSpecification-executionSpecification" name="executionSpecification" type="ExecutionSpecification" owningAssociation="A_finish_executionSpecification" association="A_finish_executionSpecification">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_finish_executionSpecification-executionSpecification-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_finish_executionSpecification-executionSpecification-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_start_executionSpecification" name="A_start_executionSpecification" memberEnd="ExecutionSpecification-start A_start_executionSpecification-executionSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="A_start_executionSpecification-_ownedComment.0" annotatedElement="A_start_executionSpecification">
          <body>The event shows the time point at which the action begins execution.</body>
        </ownedComment>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_start_executionSpecification-executionSpecification" name="executionSpecification" type="ExecutionSpecification" owningAssociation="A_start_executionSpecification" association="A_start_executionSpecification">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_start_executionSpecification-executionSpecification-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_start_executionSpecification-executionSpecification-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_execution_executionOccurrenceSpecification" name="A_execution_executionOccurrenceSpecification" memberEnd="ExecutionOccurrenceSpecification-execution A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification" name="executionOccurrenceSpecification" type="ExecutionOccurrenceSpecification" owningAssociation="A_execution_executionOccurrenceSpecification" association="A_execution_executionOccurrenceSpecification">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification-_upperValue" value="2"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_message_considerIgnoreFragment" name="A_message_considerIgnoreFragment" memberEnd="ConsiderIgnoreFragment-message A_message_considerIgnoreFragment-considerIgnoreFragment">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_message_considerIgnoreFragment-considerIgnoreFragment" name="considerIgnoreFragment" type="ConsiderIgnoreFragment" owningAssociation="A_message_considerIgnoreFragment" association="A_message_considerIgnoreFragment">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_message_considerIgnoreFragment-considerIgnoreFragment-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_message_considerIgnoreFragment-considerIgnoreFragment-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_cfragmentGate_combinedFragment" name="A_cfragmentGate_combinedFragment" memberEnd="CombinedFragment-cfragmentGate A_cfragmentGate_combinedFragment-combinedFragment">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_cfragmentGate_combinedFragment-combinedFragment" name="combinedFragment" type="CombinedFragment" owningAssociation="A_cfragmentGate_combinedFragment" subsettedProperty="Element-owner" association="A_cfragmentGate_combinedFragment">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_cfragmentGate_combinedFragment-combinedFragment-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_operand_combinedFragment" name="A_operand_combinedFragment" memberEnd="CombinedFragment-operand A_operand_combinedFragment-combinedFragment">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_operand_combinedFragment-combinedFragment" name="combinedFragment" type="CombinedFragment" owningAssociation="A_operand_combinedFragment" subsettedProperty="Element-owner" association="A_operand_combinedFragment">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_operand_combinedFragment-combinedFragment-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_behavior_behaviorExecutionSpecification" name="A_behavior_behaviorExecutionSpecification" memberEnd="BehaviorExecutionSpecification-behavior A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification" name="behaviorExecutionSpecification" type="BehaviorExecutionSpecification" owningAssociation="A_behavior_behaviorExecutionSpecification" association="A_behavior_behaviorExecutionSpecification">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_action_actionExecutionSpecification" name="A_action_actionExecutionSpecification" memberEnd="ActionExecutionSpecification-action A_action_actionExecutionSpecification-actionExecutionSpecification">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_action_actionExecutionSpecification-actionExecutionSpecification" name="actionExecutionSpecification" type="ActionExecutionSpecification" owningAssociation="A_action_actionExecutionSpecification" association="A_action_actionExecutionSpecification">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_action_actionExecutionSpecification-actionExecutionSpecification-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_action_actionExecutionSpecification-actionExecutionSpecification-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="InformationFlows" name="InformationFlows">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="UseCases" importingNamespace="InformationFlows"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="Deployments" importingNamespace="InformationFlows"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.2" importedPackage="StructuredClassifiers" importingNamespace="InformationFlows"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.3" importedPackage="Classification" importingNamespace="InformationFlows"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.4" importedPackage="SimpleClassifiers" importingNamespace="InformationFlows"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.5" importedPackage="Packages" importingNamespace="InformationFlows"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.6" importedPackage="Activities" importingNamespace="InformationFlows"/>
      <packagedElement xmi:type="uml:Class" xmi:id="InformationFlow" name="InformationFlow">
        <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-_ownedComment.0" annotatedElement="InformationFlow">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InformationFlow-must_conform" name="must_conform" constrainedElement="InformationFlow" context="InformationFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-must_conform-_ownedComment.0" annotatedElement="InformationFlow-must_conform">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationFlow-must_conform-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InformationFlow-sources_and_targets_kind" name="sources_and_targets_kind" constrainedElement="InformationFlow" context="InformationFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-sources_and_targets_kind-_ownedComment.0" annotatedElement="InformationFlow-sources_and_targets_kind">
            <body>The sources and targets of the information flow can only be one of the following kind: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition,&#xD;
Behavior and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link).</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationFlow-sources_and_targets_kind-_specification">
            <language>OCL</language>
            <body>(self.informationSource->forAll( sis |&#xD;
  oclIsKindOf(Actor) or oclIsKindOf(Node) or oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or &#xD;
  oclIsKindOf(Class) or oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or &#xD;
  oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or oclIsKindOf(ActivityPartition) or &#xD;
  (oclIsKindOf(InstanceSpecification) and not sis.oclAsType(InstanceSpecification).classifier->exists(oclIsKindOf(Relationship))))) &#xD;
&#xD;
and&#xD;
&#xD;
(self.informationTarget->forAll( sit | &#xD;
  oclIsKindOf(Actor) or oclIsKindOf(Node) or oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or &#xD;
  oclIsKindOf(Class) or oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or &#xD;
  oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or oclIsKindOf(ActivityPartition) or &#xD;
(oclIsKindOf(InstanceSpecification) and not sit.oclAsType(InstanceSpecification).classifier->exists(oclIsKindOf(Relationship)))))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InformationFlow-convey_classifiers" name="convey_classifiers" constrainedElement="InformationFlow" context="InformationFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-convey_classifiers-_ownedComment.0" annotatedElement="InformationFlow-convey_classifiers">
            <body>An information flow can only convey classifiers that are allowed to represent an information item.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationFlow-convey_classifiers-_specification">
            <language>OCL</language>
            <body>self.conveyed->forAll(oclIsKindOf(Class) or oclIsKindOf(Interface)&#xD;
  or oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InformationFlow-_generalization.0" general="DirectedRelationship" specific="InformationFlow"/>
        <generalization xmi:type="uml:Generalization" xmi:id="InformationFlow-_generalization.1" general="PackageableElement" specific="InformationFlow"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InformationFlow-conveyed" name="conveyed" type="Classifier" association="A_conveyed_conveyingFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-conveyed-_ownedComment.0" annotatedElement="InformationFlow-conveyed">
            <body>Specifies the information items that may circulate on this information flow.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-conveyed-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InformationFlow-informationSource" name="informationSource" type="NamedElement" subsettedProperty="DirectedRelationship-source" association="A_informationSource_informationFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-informationSource-_ownedComment.0" annotatedElement="InformationFlow-informationSource">
            <body>Defines from which source the conveyed InformationItems are initiated.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-informationSource-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InformationFlow-informationTarget" name="informationTarget" type="NamedElement" subsettedProperty="DirectedRelationship-target" association="A_informationTarget_informationFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-informationTarget-_ownedComment.0" annotatedElement="InformationFlow-informationTarget">
            <body>Defines to which target the conveyed InformationItems are directed.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-informationTarget-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InformationFlow-realization" name="realization" type="Relationship" association="A_realization_abstraction_flow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-realization-_ownedComment.0" annotatedElement="InformationFlow-realization">
            <body>Determines which Relationship will realize the specified flow.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationFlow-realization-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-realization-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InformationFlow-realizingActivityEdge" name="realizingActivityEdge" type="ActivityEdge" association="A_realizingActivityEdge_informationFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-realizingActivityEdge-_ownedComment.0" annotatedElement="InformationFlow-realizingActivityEdge">
            <body>Determines which ActivityEdges will realize the specified flow.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationFlow-realizingActivityEdge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-realizingActivityEdge-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InformationFlow-realizingConnector" name="realizingConnector" type="Connector" association="A_realizingConnector_informationFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-realizingConnector-_ownedComment.0" annotatedElement="InformationFlow-realizingConnector">
            <body>Determines which Connectors will realize the specified flow.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationFlow-realizingConnector-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-realizingConnector-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InformationFlow-realizingMessage" name="realizingMessage" type="Message" association="A_realizingMessage_informationFlow">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationFlow-realizingMessage-_ownedComment.0" annotatedElement="InformationFlow-realizingMessage">
            <body>Determines which Messages will realize the specified flow.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationFlow-realizingMessage-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-realizingMessage-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InformationItem" name="InformationItem">
        <ownedComment xmi:type="uml:Comment" xmi:id="InformationItem-_ownedComment.0" annotatedElement="InformationItem">
          <body>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. </body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InformationItem-sources_and_targets" name="sources_and_targets" constrainedElement="InformationItem" context="InformationItem">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationItem-sources_and_targets-_ownedComment.0" annotatedElement="InformationItem-sources_and_targets">
            <body>The sources and targets of an information item (its related information flows) must designate subsets of the sources and targets of the representation information item, if any. The Classifiers that can realize an information item can only be of the following kind: Class, Interface, InformationItem, Signal, Component.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationItem-sources_and_targets-_specification">
            <language>OCL</language>
            <body>(self.represented->select(oclIsKindOf(InformationItem))->forAll(p |&#xD;
  p.conveyingFlow.source->forAll(q | self.conveyingFlow.source->includes(q)) and&#xD;
    p.conveyingFlow.target->forAll(q | self.conveyingFlow.target->includes(q)))) and&#xD;
      (self.represented->forAll(oclIsKindOf(Class) or oclIsKindOf(Interface) or&#xD;
        oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InformationItem-has_no" name="has_no" constrainedElement="InformationItem" context="InformationItem">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationItem-has_no-_ownedComment.0" annotatedElement="InformationItem-has_no">
            <body>An informationItem has no feature, no generalization, and no associations.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationItem-has_no-_specification">
            <language>OCL</language>
            <body>self.generalization->isEmpty() and self.feature->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InformationItem-not_instantiable" name="not_instantiable" constrainedElement="InformationItem" context="InformationItem">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationItem-not_instantiable-_ownedComment.0" annotatedElement="InformationItem-not_instantiable">
            <body>It is not instantiable.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationItem-not_instantiable-_specification">
            <language>OCL</language>
            <body>isAbstract</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InformationItem-_generalization.0" general="Classifier" specific="InformationItem"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InformationItem-represented" name="represented" type="Classifier" association="A_represented_representation">
          <ownedComment xmi:type="uml:Comment" xmi:id="InformationItem-represented-_ownedComment.0" annotatedElement="InformationItem-represented">
            <body>Determines the classifiers that will specify the structure and nature of the information. An information item represents all its represented classifiers.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationItem-represented-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationItem-represented-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_represented_representation" name="A_represented_representation" memberEnd="InformationItem-represented A_represented_representation-representation">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_represented_representation-representation" name="representation" type="InformationItem" owningAssociation="A_represented_representation" association="A_represented_representation">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_represented_representation-representation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_represented_representation-representation-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_conveyed_conveyingFlow" name="A_conveyed_conveyingFlow" memberEnd="InformationFlow-conveyed A_conveyed_conveyingFlow-conveyingFlow">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_conveyed_conveyingFlow-conveyingFlow" name="conveyingFlow" type="InformationFlow" owningAssociation="A_conveyed_conveyingFlow" association="A_conveyed_conveyingFlow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_conveyed_conveyingFlow-conveyingFlow-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_conveyed_conveyingFlow-conveyingFlow-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_realizingActivityEdge_informationFlow" name="A_realizingActivityEdge_informationFlow" memberEnd="InformationFlow-realizingActivityEdge A_realizingActivityEdge_informationFlow-informationFlow">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_realizingActivityEdge_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" owningAssociation="A_realizingActivityEdge_informationFlow" association="A_realizingActivityEdge_informationFlow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingActivityEdge_informationFlow-informationFlow-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingActivityEdge_informationFlow-informationFlow-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_realizingMessage_informationFlow" name="A_realizingMessage_informationFlow" memberEnd="InformationFlow-realizingMessage A_realizingMessage_informationFlow-informationFlow">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_realizingMessage_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" owningAssociation="A_realizingMessage_informationFlow" association="A_realizingMessage_informationFlow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingMessage_informationFlow-informationFlow-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingMessage_informationFlow-informationFlow-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_informationSource_informationFlow" name="A_informationSource_informationFlow" memberEnd="InformationFlow-informationSource A_informationSource_informationFlow-informationFlow">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_informationSource_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" owningAssociation="A_informationSource_informationFlow" subsettedProperty="A_source_directedRelationship-directedRelationship" association="A_informationSource_informationFlow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_informationSource_informationFlow-informationFlow-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_informationSource_informationFlow-informationFlow-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_realization_abstraction_flow" name="A_realization_abstraction_flow" memberEnd="InformationFlow-realization A_realization_abstraction_flow-abstraction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_realization_abstraction_flow-abstraction" name="abstraction" type="InformationFlow" owningAssociation="A_realization_abstraction_flow" association="A_realization_abstraction_flow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realization_abstraction_flow-abstraction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realization_abstraction_flow-abstraction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_realizingConnector_informationFlow" name="A_realizingConnector_informationFlow" memberEnd="InformationFlow-realizingConnector A_realizingConnector_informationFlow-informationFlow">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_realizingConnector_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" owningAssociation="A_realizingConnector_informationFlow" association="A_realizingConnector_informationFlow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingConnector_informationFlow-informationFlow-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingConnector_informationFlow-informationFlow-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_informationTarget_informationFlow" name="A_informationTarget_informationFlow" memberEnd="InformationFlow-informationTarget A_informationTarget_informationFlow-informationFlow">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_informationTarget_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" owningAssociation="A_informationTarget_informationFlow" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_informationTarget_informationFlow">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_informationTarget_informationFlow-informationFlow-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_informationTarget_informationFlow-informationFlow-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="Deployments" name="Deployments">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="StructuredClassifiers" importingNamespace="Deployments"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="CommonStructure" importingNamespace="Deployments"/>
      <packagedElement xmi:type="uml:Class" xmi:id="Artifact" name="Artifact">
        <ownedComment xmi:type="uml:Comment" xmi:id="Artifact-_ownedComment.0" annotatedElement="Artifact">
          <body>An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message.
An artifact is the source of a deployment to a node.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Artifact-_generalization.0" general="Classifier" specific="Artifact"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Artifact-_generalization.1" general="DeployedArtifact" specific="Artifact"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Artifact-fileName" name="fileName">
          <ownedComment xmi:type="uml:Comment" xmi:id="Artifact-fileName-_ownedComment.0" annotatedElement="Artifact-fileName">
            <body>A concrete name that is used to refer to the Artifact in a physical context. Example: file system name, universal resource locator.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-fileName-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Artifact-manifestation" name="manifestation" type="Manifestation" aggregation="composite" subsettedProperty="Element-ownedElement NamedElement-clientDependency" association="A_manifestation_artifact">
          <ownedComment xmi:type="uml:Comment" xmi:id="Artifact-manifestation-_ownedComment.0" annotatedElement="Artifact-manifestation">
            <body>The set of model elements that are manifested in the Artifact. That is, these model elements are utilized in the construction (or generation) of the artifact.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-manifestation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-manifestation-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Artifact-nestedArtifact" name="nestedArtifact" type="Artifact" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_nestedArtifact_artifact">
          <ownedComment xmi:type="uml:Comment" xmi:id="Artifact-nestedArtifact-_ownedComment.0" annotatedElement="Artifact-nestedArtifact">
            <body>The Artifacts that are defined (nested) within the Artifact. The association is a specialization of the ownedMember association from Namespace to NamedElement.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-nestedArtifact-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-nestedArtifact-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Artifact-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_artifact">
          <ownedComment xmi:type="uml:Comment" xmi:id="Artifact-ownedAttribute-_ownedComment.0" annotatedElement="Artifact-ownedAttribute">
            <body>The attributes or association ends defined for the Artifact. The association is a specialization of the ownedMember association.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-ownedAttribute-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-ownedAttribute-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Artifact-ownedOperation" name="ownedOperation" type="Operation" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedOperation_artifact">
          <ownedComment xmi:type="uml:Comment" xmi:id="Artifact-ownedOperation-_ownedComment.0" annotatedElement="Artifact-ownedOperation">
            <body>The Operations defined for the Artifact. The association is a specialization of the ownedMember association.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-ownedOperation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-ownedOperation-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CommunicationPath" name="CommunicationPath">
        <ownedComment xmi:type="uml:Comment" xmi:id="CommunicationPath-_ownedComment.0" annotatedElement="CommunicationPath">
          <body>A communication path is an association between two deployment targets, through which they are able to exchange signals and messages.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CommunicationPath-association_ends" name="association_ends" constrainedElement="CommunicationPath" context="CommunicationPath">
          <ownedComment xmi:type="uml:Comment" xmi:id="CommunicationPath-association_ends-_ownedComment.0" annotatedElement="CommunicationPath-association_ends">
            <body>The association ends of a CommunicationPath are typed by DeploymentTargets.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CommunicationPath-association_ends-_specification">
            <language>OCL</language>
            <body>endType->forAll (oclIsKindOf(DeploymentTarget))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CommunicationPath-_generalization.0" general="Association" specific="CommunicationPath"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DeployedArtifact" name="DeployedArtifact" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="DeployedArtifact-_ownedComment.0" annotatedElement="DeployedArtifact">
          <body>A deployed artifact is an artifact or artifact instance that has been deployed to a deployment target.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="DeployedArtifact-_generalization.0" general="NamedElement" specific="DeployedArtifact"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Deployment" name="Deployment">
        <ownedComment xmi:type="uml:Comment" xmi:id="Deployment-_ownedComment.0" annotatedElement="Deployment">
          <body>A deployment is the allocation of an artifact or artifact instance to a deployment target.
A component deployment is the deployment of one or more artifacts or artifact instances to a deployment target, optionally parameterized by a deployment specification. Examples are executables and configuration files.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Deployment-_generalization.0" general="Dependency" specific="Deployment"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Deployment-configuration" name="configuration" type="DeploymentSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_configuration_deployment">
          <ownedComment xmi:type="uml:Comment" xmi:id="Deployment-configuration-_ownedComment.0" annotatedElement="Deployment-configuration">
            <body>The specification of properties that parameterize the deployment and execution of one or more Artifacts.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Deployment-configuration-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Deployment-configuration-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Deployment-deployedArtifact" name="deployedArtifact" type="DeployedArtifact" subsettedProperty="Dependency-supplier" association="A_deployedArtifact_deploymentForArtifact">
          <ownedComment xmi:type="uml:Comment" xmi:id="Deployment-deployedArtifact-_ownedComment.0" annotatedElement="Deployment-deployedArtifact">
            <body>The Artifacts that are deployed onto a Node. This association specializes the supplier association.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Deployment-deployedArtifact-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Deployment-deployedArtifact-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Deployment-location" name="location" type="DeploymentTarget" subsettedProperty="Dependency-client Element-owner" association="A_deployment_location">
          <ownedComment xmi:type="uml:Comment" xmi:id="Deployment-location-_ownedComment.0" annotatedElement="Deployment-location">
            <body>The DeployedTarget which is the target of a Deployment.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DeploymentSpecification" name="DeploymentSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentSpecification-_ownedComment.0" annotatedElement="DeploymentSpecification">
          <body>A deployment specification specifies a set of properties that determine execution parameters of a component artifact that is deployed on a node. A deployment specification can be aimed at a specific type of container. An artifact that reifies or implements deployment specification properties is a deployment descriptor.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DeploymentSpecification-deployment_target" name="deployment_target" constrainedElement="DeploymentSpecification" context="DeploymentSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentSpecification-deployment_target-_ownedComment.0" annotatedElement="DeploymentSpecification-deployment_target">
            <body>The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DeploymentSpecification-deployment_target-_specification">
            <language>OCL</language>
            <body>deployment->forAll (location.oclIsKindOf(ExecutionEnvironment))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DeploymentSpecification-deployed_elements" name="deployed_elements" constrainedElement="DeploymentSpecification" context="DeploymentSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentSpecification-deployed_elements-_ownedComment.0" annotatedElement="DeploymentSpecification-deployed_elements">
            <body>The deployedElements of a DeploymentTarget that are involved in a Deployment that has an associated Deployment-Specification is a kind of Component (i.e., the configured components).</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DeploymentSpecification-deployed_elements-_specification">
            <language>OCL</language>
            <body>deployment->forAll (location.deployedElement->forAll (oclIsKindOf(Component)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="DeploymentSpecification-_generalization.0" general="Artifact" specific="DeploymentSpecification"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DeploymentSpecification-deployment" name="deployment" type="Deployment" subsettedProperty="Element-owner" association="A_configuration_deployment">
          <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentSpecification-deployment-_ownedComment.0" annotatedElement="DeploymentSpecification-deployment">
            <body>The deployment with which the DeploymentSpecification is associated.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentSpecification-deployment-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DeploymentSpecification-deploymentLocation" name="deploymentLocation">
          <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentSpecification-deploymentLocation-_ownedComment.0" annotatedElement="DeploymentSpecification-deploymentLocation">
            <body>The location where an Artifact is deployed onto a Node. This is typically a 'directory' or 'memory address.'</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentSpecification-deploymentLocation-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DeploymentSpecification-executionLocation" name="executionLocation">
          <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentSpecification-executionLocation-_ownedComment.0" annotatedElement="DeploymentSpecification-executionLocation">
            <body>The location where a component Artifact executes. This may be a local or remote location.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentSpecification-executionLocation-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DeploymentTarget" name="DeploymentTarget" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentTarget-_ownedComment.0" annotatedElement="DeploymentTarget">
          <body>A deployment target is the location for a deployed artifact.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="DeploymentTarget-_generalization.0" general="NamedElement" specific="DeploymentTarget"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DeploymentTarget-deployedElement" name="deployedElement" type="PackageableElement" isReadOnly="true" isDerived="true" association="A_deployedElement_deploymentTarget">
          <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentTarget-deployedElement-_ownedComment.0" annotatedElement="DeploymentTarget-deployedElement">
            <body>The set of elements that are manifested in an Artifact that is involved in Deployment to a DeploymentTarget.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentTarget-deployedElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DeploymentTarget-deployedElement-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DeploymentTarget-deployment" name="deployment" type="Deployment" aggregation="composite" subsettedProperty="Element-ownedElement NamedElement-clientDependency" association="A_deployment_location">
          <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentTarget-deployment-_ownedComment.0" annotatedElement="DeploymentTarget-deployment">
            <body>The set of Deployments for a DeploymentTarget.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentTarget-deployment-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DeploymentTarget-deployment-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="DeploymentTarget-deployedElement.1" name="deployedElement" bodyCondition="DeploymentTarget-deployedElement.1-spec" class="DeploymentTarget" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="DeploymentTarget-deployedElement.1-_ownedComment.0" annotatedElement="DeploymentTarget-deployedElement.1">
            <body>Derivation for DeploymentTarget::/deployedElement</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="DeploymentTarget-deployedElement.1-spec" name="spec" constrainedElement="DeploymentTarget-deployedElement.1 DeploymentTarget-deployedElement" context="DeploymentTarget-deployedElement.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="DeploymentTarget-deployedElement.1-spec-_specification">
              <language>OCL</language>
              <body>result = (deployment.deployedArtifact->select(oclIsKindOf(Artifact))->collect(oclAsType(Artifact).manifestation)->collect(utilizedElement)->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="DeploymentTarget-deployedElement.1-result" name="result" type="PackageableElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentTarget-deployedElement.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DeploymentTarget-deployedElement.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Device" name="Device">
        <ownedComment xmi:type="uml:Comment" xmi:id="Device-_ownedComment.0" annotatedElement="Device">
          <body>A device is a physical computational resource with processing capability upon which artifacts may be deployed for execution. Devices may be complex (i.e., they may consist of other devices).</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Device-_generalization.0" general="Node" specific="Device"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExecutionEnvironment" name="ExecutionEnvironment">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExecutionEnvironment-_ownedComment.0" annotatedElement="ExecutionEnvironment">
          <body>An execution environment is a node that offers an execution environment for specific types of components that are deployed on it in the form of executable artifacts.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ExecutionEnvironment-_generalization.0" general="Node" specific="ExecutionEnvironment"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Manifestation" name="Manifestation">
        <ownedComment xmi:type="uml:Comment" xmi:id="Manifestation-_ownedComment.0" annotatedElement="Manifestation">
          <body>A manifestation is the concrete physical rendering of one or more model elements by an artifact.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Manifestation-_generalization.0" general="Abstraction" specific="Manifestation"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Manifestation-utilizedElement" name="utilizedElement" type="PackageableElement" subsettedProperty="Dependency-supplier" association="A_utilizedElement_manifestation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Manifestation-utilizedElement-_ownedComment.0" annotatedElement="Manifestation-utilizedElement">
            <body>The model element that is utilized in the manifestation in an Artifact.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Node" name="Node">
        <ownedComment xmi:type="uml:Comment" xmi:id="Node-_ownedComment.0" annotatedElement="Node">
          <body>A Node is computational resource upon which artifacts may be deployed for execution. Nodes can be interconnected through communication paths to define network structures.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Node-internal_structure" name="internal_structure" constrainedElement="Node" context="Node">
          <ownedComment xmi:type="uml:Comment" xmi:id="Node-internal_structure-_ownedComment.0" annotatedElement="Node-internal_structure">
            <body>The internal structure of a Node (if defined) consists solely of parts of type Node.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Node-internal_structure-_specification">
            <language>OCL</language>
            <body>part->forAll(oclIsKindOf(Node))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Node-_generalization.1" general="Class" specific="Node"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Node-_generalization.0" general="DeploymentTarget" specific="Node"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Node-nestedNode" name="nestedNode" type="Node" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_nestedNode_node">
          <ownedComment xmi:type="uml:Comment" xmi:id="Node-nestedNode-_ownedComment.0" annotatedElement="Node-nestedNode">
            <body>The Nodes that are defined (nested) within the Node.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Node-nestedNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Node-nestedNode-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_nestedNode_node" name="A_nestedNode_node" memberEnd="Node-nestedNode A_nestedNode_node-node">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_nestedNode_node-node" name="node" type="Node" owningAssociation="A_nestedNode_node" subsettedProperty="NamedElement-namespace" association="A_nestedNode_node">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nestedNode_node-node-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_utilizedElement_manifestation" name="A_utilizedElement_manifestation" memberEnd="Manifestation-utilizedElement A_utilizedElement_manifestation-manifestation">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_utilizedElement_manifestation-manifestation" name="manifestation" type="Manifestation" owningAssociation="A_utilizedElement_manifestation" subsettedProperty="A_supplier_supplierDependency-supplierDependency" association="A_utilizedElement_manifestation">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_utilizedElement_manifestation-manifestation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_utilizedElement_manifestation-manifestation-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_deployedElement_deploymentTarget" name="A_deployedElement_deploymentTarget" isDerived="true" memberEnd="DeploymentTarget-deployedElement A_deployedElement_deploymentTarget-deploymentTarget">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_deployedElement_deploymentTarget-deploymentTarget" name="deploymentTarget" type="DeploymentTarget" owningAssociation="A_deployedElement_deploymentTarget" association="A_deployedElement_deploymentTarget">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_deployedElement_deploymentTarget-deploymentTarget-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_deployedElement_deploymentTarget-deploymentTarget-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_deployment_location" name="A_deployment_location" memberEnd="DeploymentTarget-deployment Deployment-location"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_deployedArtifact_deploymentForArtifact" name="A_deployedArtifact_deploymentForArtifact" memberEnd="Deployment-deployedArtifact A_deployedArtifact_deploymentForArtifact-deploymentForArtifact">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_deployedArtifact_deploymentForArtifact-deploymentForArtifact" name="deploymentForArtifact" type="Deployment" owningAssociation="A_deployedArtifact_deploymentForArtifact" subsettedProperty="A_supplier_supplierDependency-supplierDependency" association="A_deployedArtifact_deploymentForArtifact">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_deployedArtifact_deploymentForArtifact-deploymentForArtifact-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_deployedArtifact_deploymentForArtifact-deploymentForArtifact-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_configuration_deployment" name="A_configuration_deployment" memberEnd="Deployment-configuration DeploymentSpecification-deployment"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_artifact" name="A_ownedAttribute_artifact" memberEnd="Artifact-ownedAttribute A_ownedAttribute_artifact-artifact">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedAttribute_artifact-artifact" name="artifact" type="Artifact" owningAssociation="A_ownedAttribute_artifact" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_artifact">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedAttribute_artifact-artifact-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_artifact" name="A_ownedOperation_artifact" memberEnd="Artifact-ownedOperation A_ownedOperation_artifact-artifact">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedOperation_artifact-artifact" name="artifact" type="Artifact" owningAssociation="A_ownedOperation_artifact" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_artifact">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedOperation_artifact-artifact-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_nestedArtifact_artifact" name="A_nestedArtifact_artifact" memberEnd="Artifact-nestedArtifact A_nestedArtifact_artifact-artifact">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_nestedArtifact_artifact-artifact" name="artifact" type="Artifact" owningAssociation="A_nestedArtifact_artifact" subsettedProperty="NamedElement-namespace" association="A_nestedArtifact_artifact">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nestedArtifact_artifact-artifact-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_manifestation_artifact" name="A_manifestation_artifact" memberEnd="Artifact-manifestation A_manifestation_artifact-artifact">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_manifestation_artifact-artifact" name="artifact" type="Artifact" owningAssociation="A_manifestation_artifact" subsettedProperty="Dependency-client Element-owner" association="A_manifestation_artifact"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="CommonStructure" name="CommonStructure">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="Packages" importingNamespace="CommonStructure"/>
      <packagedElement xmi:type="uml:Class" xmi:id="Abstraction" name="Abstraction">
        <ownedComment xmi:type="uml:Comment" xmi:id="Abstraction-_ownedComment.0" annotatedElement="Abstraction">
          <body>An Abstraction is a Relationship that relates two Elements or sets of Elements that represent the same concept at different levels of abstraction or from different viewpoints.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Abstraction-_generalization.0" general="Dependency" specific="Abstraction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Abstraction-mapping" name="mapping" type="OpaqueExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_mapping_abstraction">
          <ownedComment xmi:type="uml:Comment" xmi:id="Abstraction-mapping-_ownedComment.0" annotatedElement="Abstraction-mapping">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Abstraction-mapping-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Comment" name="Comment">
        <ownedComment xmi:type="uml:Comment" xmi:id="Comment-_ownedComment.0" annotatedElement="Comment">
          <body>A Comment is a textual annotation that can be attached to a set of Elements.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Comment-_generalization.0" general="Element" specific="Comment"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Comment-annotatedElement" name="annotatedElement" type="Element" association="A_annotatedElement_comment">
          <ownedComment xmi:type="uml:Comment" xmi:id="Comment-annotatedElement-_ownedComment.0" annotatedElement="Comment-annotatedElement">
            <body>References the Element(s) being commented.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Comment-annotatedElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Comment-annotatedElement-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Comment-body" name="body">
          <ownedComment xmi:type="uml:Comment" xmi:id="Comment-body-_ownedComment.0" annotatedElement="Comment-body">
            <body>Specifies a string that is the comment.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Comment-body-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Constraint" name="Constraint">
        <ownedComment xmi:type="uml:Comment" xmi:id="Constraint-_ownedComment.0" annotatedElement="Constraint">
          <body>A Constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an Element or set of Elements.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Constraint-boolean_value" name="boolean_value" constrainedElement="Constraint" context="Constraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="Constraint-boolean_value-_ownedComment.0" annotatedElement="Constraint-boolean_value">
            <body>The ValueSpecification for a Constraint must evaluate to a Boolean value.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Constraint-boolean_value-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Constraint-no_side_effects" name="no_side_effects" constrainedElement="Constraint" context="Constraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="Constraint-no_side_effects-_ownedComment.0" annotatedElement="Constraint-no_side_effects">
            <body>Evaluating the ValueSpecification for a Constraint must not have side effects.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Constraint-no_side_effects-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Constraint-not_apply_to_self" name="not_apply_to_self" constrainedElement="Constraint" context="Constraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="Constraint-not_apply_to_self-_ownedComment.0" annotatedElement="Constraint-not_apply_to_self">
            <body>A Constraint cannot be applied to itself.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Constraint-not_apply_to_self-_specification">
            <language>OCL</language>
            <body>not constrainedElement->includes(self)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Constraint-_generalization.0" general="PackageableElement" specific="Constraint"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Constraint-constrainedElement" name="constrainedElement" type="Element" isOrdered="true" association="A_constrainedElement_constraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="Constraint-constrainedElement-_ownedComment.0" annotatedElement="Constraint-constrainedElement">
            <body>The ordered set of Elements referenced by this Constraint.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Constraint-constrainedElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Constraint-constrainedElement-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Constraint-context" name="context" type="Namespace" subsettedProperty="NamedElement-namespace" association="A_ownedRule_context">
          <ownedComment xmi:type="uml:Comment" xmi:id="Constraint-context-_ownedComment.0" annotatedElement="Constraint-context">
            <body>Specifies the Namespace that owns the Constraint.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Constraint-context-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Constraint-specification" name="specification" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_specification_owningConstraint">
          <ownedComment xmi:type="uml:Comment" xmi:id="Constraint-specification-_ownedComment.0" annotatedElement="Constraint-specification">
            <body>A condition that must be true when evaluated in order for the Constraint to be satisfied.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Dependency" name="Dependency">
        <ownedComment xmi:type="uml:Comment" xmi:id="Dependency-_ownedComment.0" annotatedElement="Dependency">
          <body>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).</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Dependency-_generalization.0" general="DirectedRelationship" specific="Dependency"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Dependency-_generalization.1" general="PackageableElement" specific="Dependency"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Dependency-client" name="client" type="NamedElement" subsettedProperty="DirectedRelationship-source" association="A_clientDependency_client">
          <ownedComment xmi:type="uml:Comment" xmi:id="Dependency-client-_ownedComment.0" annotatedElement="Dependency-client">
            <body>The Element(s) dependent on the supplier Element(s). In some cases (such as a trace Abstraction) the assignment of direction (that is, the designation of the client Element) is at the discretion of the modeler and is a stipulation.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Dependency-client-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Dependency-supplier" name="supplier" type="NamedElement" subsettedProperty="DirectedRelationship-target" association="A_supplier_supplierDependency">
          <ownedComment xmi:type="uml:Comment" xmi:id="Dependency-supplier-_ownedComment.0" annotatedElement="Dependency-supplier">
            <body>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.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Dependency-supplier-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DirectedRelationship" name="DirectedRelationship" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="DirectedRelationship-_ownedComment.0" annotatedElement="DirectedRelationship">
          <body>A DirectedRelationship represents a relationship between a collection of source model Elements and a collection of target model Elements.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="DirectedRelationship-_generalization.0" general="Relationship" specific="DirectedRelationship"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DirectedRelationship-source" name="source" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Relationship-relatedElement" association="A_source_directedRelationship">
          <ownedComment xmi:type="uml:Comment" xmi:id="DirectedRelationship-source-_ownedComment.0" annotatedElement="DirectedRelationship-source">
            <body>Specifies the source Element(s) of the DirectedRelationship.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DirectedRelationship-source-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DirectedRelationship-target" name="target" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Relationship-relatedElement" association="A_target_directedRelationship">
          <ownedComment xmi:type="uml:Comment" xmi:id="DirectedRelationship-target-_ownedComment.0" annotatedElement="DirectedRelationship-target">
            <body>Specifies the target Element(s) of the DirectedRelationship.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DirectedRelationship-target-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Element" name="Element" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Element-_ownedComment.0" annotatedElement="Element">
          <body>An Element is a constituent of a model. As such, it has the capability of owning other Elements.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Element-has_owner" name="has_owner" constrainedElement="Element" context="Element">
          <ownedComment xmi:type="uml:Comment" xmi:id="Element-has_owner-_ownedComment.0" annotatedElement="Element-has_owner">
            <body>Elements that must be owned must have an owner.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-has_owner-_specification">
            <language>OCL</language>
            <body>mustBeOwned() implies owner->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Element-not_own_self" name="not_own_self" constrainedElement="Element" context="Element">
          <ownedComment xmi:type="uml:Comment" xmi:id="Element-not_own_self-_ownedComment.0" annotatedElement="Element-not_own_self">
            <body>An element may not directly or indirectly own itself.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-not_own_self-_specification">
            <language>OCL</language>
            <body>not allOwnedElements()->includes(self)</body>
          </specification>
        </ownedRule>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Element-ownedComment" name="ownedComment" type="Comment" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_ownedComment_owningElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="Element-ownedComment-_ownedComment.0" annotatedElement="Element-ownedComment">
            <body>The Comments owned by this Element.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-ownedComment-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-ownedComment-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Element-ownedElement" name="ownedElement" type="Element" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" association="A_ownedElement_owner">
          <ownedComment xmi:type="uml:Comment" xmi:id="Element-ownedElement-_ownedComment.0" annotatedElement="Element-ownedElement">
            <body>The Elements owned by this Element.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-ownedElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-ownedElement-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Element-owner" name="owner" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_ownedElement_owner">
          <ownedComment xmi:type="uml:Comment" xmi:id="Element-owner-_ownedComment.0" annotatedElement="Element-owner">
            <body>The Element that owns this Element.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-owner-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Element-allOwnedElements" name="allOwnedElements" bodyCondition="Element-allOwnedElements-spec" class="Element" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Element-allOwnedElements-_ownedComment.0" annotatedElement="Element-allOwnedElements">
            <body>The query allOwnedElements() gives all of the direct and indirect ownedElements of an Element.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Element-allOwnedElements-spec" name="spec" constrainedElement="Element-allOwnedElements" context="Element-allOwnedElements">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-allOwnedElements-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Element-allOwnedElements-result" name="result" type="Element" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-allOwnedElements-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-allOwnedElements-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Element-mustBeOwned" name="mustBeOwned" bodyCondition="Element-mustBeOwned-spec" class="Element" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Element-mustBeOwned-_ownedComment.0" annotatedElement="Element-mustBeOwned">
            <body>The query mustBeOwned() indicates whether Elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Element-mustBeOwned-spec" name="spec" constrainedElement="Element-mustBeOwned" context="Element-mustBeOwned">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-mustBeOwned-spec-_specification">
              <language>OCL</language>
              <body>result = (true)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Element-mustBeOwned-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ElementImport" name="ElementImport">
        <ownedComment xmi:type="uml:Comment" xmi:id="ElementImport-_ownedComment.0" annotatedElement="ElementImport">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ElementImport-imported_element_is_public" name="imported_element_is_public" constrainedElement="ElementImport" context="ElementImport">
          <ownedComment xmi:type="uml:Comment" xmi:id="ElementImport-imported_element_is_public-_ownedComment.0" annotatedElement="ElementImport-imported_element_is_public">
            <body>An importedElement has either public visibility or no visibility at all.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ElementImport-imported_element_is_public-_specification">
            <language>OCL</language>
            <body>importedElement.visibility &lt;> null implies importedElement.visibility = VisibilityKind::public</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ElementImport-visibility_public_or_private" name="visibility_public_or_private" constrainedElement="ElementImport" context="ElementImport">
          <ownedComment xmi:type="uml:Comment" xmi:id="ElementImport-visibility_public_or_private-_ownedComment.0" annotatedElement="ElementImport-visibility_public_or_private">
            <body>The visibility of an ElementImport is either public or private.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ElementImport-visibility_public_or_private-_specification">
            <language>OCL</language>
            <body>visibility = VisibilityKind::public or visibility = VisibilityKind::private</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ElementImport-_generalization.0" general="DirectedRelationship" specific="ElementImport"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ElementImport-alias" name="alias">
          <ownedComment xmi:type="uml:Comment" xmi:id="ElementImport-alias-_ownedComment.0" annotatedElement="ElementImport-alias">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ElementImport-alias-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ElementImport-importedElement" name="importedElement" type="PackageableElement" subsettedProperty="DirectedRelationship-target" association="A_importedElement_import">
          <ownedComment xmi:type="uml:Comment" xmi:id="ElementImport-importedElement-_ownedComment.0" annotatedElement="ElementImport-importedElement">
            <body>Specifies the PackageableElement whose name is to be added to a Namespace.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ElementImport-importingNamespace" name="importingNamespace" type="Namespace" subsettedProperty="DirectedRelationship-source Element-owner" association="A_elementImport_importingNamespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="ElementImport-importingNamespace-_ownedComment.0" annotatedElement="ElementImport-importingNamespace">
            <body>Specifies the Namespace that imports a PackageableElement from another Namespace.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ElementImport-visibility" name="visibility" type="VisibilityKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ElementImport-visibility-_ownedComment.0" annotatedElement="ElementImport-visibility">
            <body>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.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="ElementImport-visibility-_defaultValue" type="VisibilityKind" instance="VisibilityKind-public"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ElementImport-getName" name="getName" bodyCondition="ElementImport-getName-spec" class="ElementImport" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ElementImport-getName-_ownedComment.0" annotatedElement="ElementImport-getName">
            <body>The query getName() returns the name under which the imported PackageableElement will be known in the importing namespace.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ElementImport-getName-spec" name="spec" constrainedElement="ElementImport-getName" context="ElementImport-getName">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ElementImport-getName-spec-_specification">
              <language>OCL</language>
              <body>result = (if alias->notEmpty() then
  alias
else
  importedElement.name
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ElementImport-getName-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="MultiplicityElement" name="MultiplicityElement" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-_ownedComment.0" annotatedElement="MultiplicityElement">
          <body>A multiplicity is a definition of an inclusive interval of non-negative integers beginning with a lower bound and ending with a (possibly infinite) upper bound. A MultiplicityElement embeds this information to specify the allowable cardinalities for an instantiation of the Element.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-upper_ge_lower" name="upper_ge_lower" constrainedElement="MultiplicityElement" context="MultiplicityElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-upper_ge_lower-_ownedComment.0" annotatedElement="MultiplicityElement-upper_ge_lower">
            <body>The upper bound must be greater than or equal to the lower bound.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upper_ge_lower-_specification">
            <language>OCL</language>
            <body>upperBound() >= lowerBound()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-lower_ge_0" name="lower_ge_0" constrainedElement="MultiplicityElement" context="MultiplicityElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-lower_ge_0-_ownedComment.0" annotatedElement="MultiplicityElement-lower_ge_0">
            <body>The lower bound must be a non-negative integer literal.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lower_ge_0-_specification">
            <language>OCL</language>
            <body>lowerBound() >= 0</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-value_specification_no_side_effects" name="value_specification_no_side_effects" constrainedElement="MultiplicityElement" context="MultiplicityElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-value_specification_no_side_effects-_ownedComment.0" annotatedElement="MultiplicityElement-value_specification_no_side_effects">
            <body>If a non-literal ValueSpecification is used for lowerValue or upperValue, then evaluating that specification must not have side effects.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-value_specification_no_side_effects-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-value_specification_constant" name="value_specification_constant" constrainedElement="MultiplicityElement" context="MultiplicityElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-value_specification_constant-_ownedComment.0" annotatedElement="MultiplicityElement-value_specification_constant">
            <body>If a non-literal ValueSpecification is used for lowerValue or upperValue, then that specification must be a constant expression.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-value_specification_constant-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-lower_is_integer" name="lower_is_integer" constrainedElement="MultiplicityElement" context="MultiplicityElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-lower_is_integer-_ownedComment.0" annotatedElement="MultiplicityElement-lower_is_integer">
            <body>If it is not empty, then lowerValue must have an Integer value.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lower_is_integer-_specification">
            <language>OCL</language>
            <body>lowerValue &lt;> null implies lowerValue.integerValue() &lt;> null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-upper_is_unlimitedNatural" name="upper_is_unlimitedNatural" constrainedElement="MultiplicityElement" context="MultiplicityElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-upper_is_unlimitedNatural-_ownedComment.0" annotatedElement="MultiplicityElement-upper_is_unlimitedNatural">
            <body>If it is not empty, then upperValue must have an UnlimitedNatural value.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upper_is_unlimitedNatural-_specification">
            <language>OCL</language>
            <body>upperValue &lt;> null implies upperValue.unlimitedValue() &lt;> null</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="MultiplicityElement-_generalization.0" general="Element" specific="MultiplicityElement"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="MultiplicityElement-isOrdered" name="isOrdered">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-isOrdered-_ownedComment.0" annotatedElement="MultiplicityElement-isOrdered">
            <body>For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this MultiplicityElement are sequentially ordered.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="MultiplicityElement-isOrdered-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="MultiplicityElement-isUnique" name="isUnique">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-isUnique-_ownedComment.0" annotatedElement="MultiplicityElement-isUnique">
            <body>For a multivalued multiplicity, this attributes specifies whether the values in an instantiation of this MultiplicityElement are unique.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="MultiplicityElement-isUnique-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="MultiplicityElement-lower" name="lower" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-lower-_ownedComment.0" annotatedElement="MultiplicityElement-lower">
            <body>The lower bound of the multiplicity interval.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="MultiplicityElement-lowerValue" name="lowerValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_lowerValue_owningLower">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-lowerValue-_ownedComment.0" annotatedElement="MultiplicityElement-lowerValue">
            <body>The specification of the lower bound for this multiplicity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-lowerValue-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="MultiplicityElement-upper" name="upper" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-upper-_ownedComment.0" annotatedElement="MultiplicityElement-upper">
            <body>The upper bound of the multiplicity interval.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="MultiplicityElement-upperValue" name="upperValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_upperValue_owningUpper">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-upperValue-_ownedComment.0" annotatedElement="MultiplicityElement-upperValue">
            <body>The specification of the upper bound for this multiplicity.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-upperValue-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MultiplicityElement-compatibleWith" name="compatibleWith" bodyCondition="MultiplicityElement-compatibleWith-spec" class="MultiplicityElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-compatibleWith-_ownedComment.0" annotatedElement="MultiplicityElement-compatibleWith">
            <body>The operation compatibleWith takes another multiplicity as input. It returns true if the other multiplicity is wider than, or the same as, self.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-compatibleWith-spec" name="spec" constrainedElement="MultiplicityElement-compatibleWith" context="MultiplicityElement-compatibleWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-compatibleWith-spec-_specification">
              <language>OCL</language>
              <body>result = ((other.lowerBound() &lt;= self.lowerBound()) and ((other.upperBound() = *) or (self.upperBound() &lt;= other.upperBound())))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-compatibleWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-compatibleWith-other" name="other" type="MultiplicityElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MultiplicityElement-includesMultiplicity" name="includesMultiplicity" bodyCondition="MultiplicityElement-includesMultiplicity-spec" class="MultiplicityElement" isQuery="true" precondition="MultiplicityElement-includesMultiplicity-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-includesMultiplicity-_ownedComment.0" annotatedElement="MultiplicityElement-includesMultiplicity">
            <body>The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-includesMultiplicity-pre" name="pre" constrainedElement="MultiplicityElement-includesMultiplicity" context="MultiplicityElement-includesMultiplicity">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-includesMultiplicity-pre-_specification">
              <language>OCL</language>
              <body>self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-includesMultiplicity-spec" name="spec" constrainedElement="MultiplicityElement-includesMultiplicity" context="MultiplicityElement-includesMultiplicity">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-includesMultiplicity-spec-_specification">
              <language>OCL</language>
              <body>result = ((self.lowerBound() &lt;= M.lowerBound()) and (self.upperBound() >= M.upperBound()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-includesMultiplicity-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-includesMultiplicity-M" name="M" type="MultiplicityElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MultiplicityElement-is" name="is" bodyCondition="MultiplicityElement-is-spec" class="MultiplicityElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-is-_ownedComment.0" annotatedElement="MultiplicityElement-is">
            <body>The operation is determines if the upper and lower bound of the ranges are the ones given.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-is-spec" name="spec" constrainedElement="MultiplicityElement-is" context="MultiplicityElement-is">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-is-spec-_specification">
              <language>OCL</language>
              <body>result = (lowerbound = self.lowerBound() and upperbound = self.upperBound())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-is-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-is-lowerbound" name="lowerbound">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-is-upperbound" name="upperbound">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MultiplicityElement-isMultivalued" name="isMultivalued" bodyCondition="MultiplicityElement-isMultivalued-spec" class="MultiplicityElement" isQuery="true" precondition="MultiplicityElement-isMultivalued-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-isMultivalued-_ownedComment.0" annotatedElement="MultiplicityElement-isMultivalued">
            <body>The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-isMultivalued-pre" name="pre" constrainedElement="MultiplicityElement-isMultivalued" context="MultiplicityElement-isMultivalued">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-isMultivalued-pre-_specification">
              <language>OCL</language>
              <body>upperBound()->notEmpty()</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-isMultivalued-spec" name="spec" constrainedElement="MultiplicityElement-isMultivalued" context="MultiplicityElement-isMultivalued">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-isMultivalued-spec-_specification">
              <language>OCL</language>
              <body>result = (upperBound() > 1)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-isMultivalued-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MultiplicityElement-lower.1" name="lower" bodyCondition="MultiplicityElement-lower.1-spec" class="MultiplicityElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-lower.1-_ownedComment.0" annotatedElement="MultiplicityElement-lower.1">
            <body>The derived lower attribute must equal the lowerBound.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-lower.1-spec" name="spec" constrainedElement="MultiplicityElement-lower.1 MultiplicityElement-lower" context="MultiplicityElement-lower.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lower.1-spec-_specification">
              <language>OCL</language>
              <body>result = (lowerBound())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-lower.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-lower.1-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MultiplicityElement-lowerBound" name="lowerBound" bodyCondition="MultiplicityElement-lowerBound-spec" class="MultiplicityElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-lowerBound-_ownedComment.0" annotatedElement="MultiplicityElement-lowerBound">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-lowerBound-spec" name="spec" constrainedElement="MultiplicityElement-lowerBound" context="MultiplicityElement-lowerBound">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lowerBound-spec-_specification">
              <language>OCL</language>
              <body>result = (if (lowerValue=null or lowerValue.integerValue()=null) then 1 else lowerValue.integerValue() endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-lowerBound-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MultiplicityElement-upper.1" name="upper" bodyCondition="MultiplicityElement-upper.1-spec" class="MultiplicityElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-upper.1-_ownedComment.0" annotatedElement="MultiplicityElement-upper.1">
            <body>The derived upper attribute must equal the upperBound.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-upper.1-spec" name="spec" constrainedElement="MultiplicityElement-upper.1 MultiplicityElement-upper" context="MultiplicityElement-upper.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upper.1-spec-_specification">
              <language>OCL</language>
              <body>result = (upperBound())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-upper.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-upper.1-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="MultiplicityElement-upperBound" name="upperBound" bodyCondition="MultiplicityElement-upperBound-spec" class="MultiplicityElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="MultiplicityElement-upperBound-_ownedComment.0" annotatedElement="MultiplicityElement-upperBound">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="MultiplicityElement-upperBound-spec" name="spec" constrainedElement="MultiplicityElement-upperBound" context="MultiplicityElement-upperBound">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upperBound-spec-_specification">
              <language>OCL</language>
              <body>result = (if (upperValue=null or upperValue.unlimitedValue()=null) then 1 else upperValue.unlimitedValue() endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="MultiplicityElement-upperBound-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="NamedElement" name="NamedElement" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-_ownedComment.0" annotatedElement="NamedElement">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-visibility_needs_ownership" name="visibility_needs_ownership" constrainedElement="NamedElement" context="NamedElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-visibility_needs_ownership-_ownedComment.0" annotatedElement="NamedElement-visibility_needs_ownership">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-visibility_needs_ownership-_specification">
            <language>OCL</language>
            <body>(namespace = null and owner &lt;> null) implies visibility = null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-has_qualified_name" name="has_qualified_name" constrainedElement="NamedElement" context="NamedElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-has_qualified_name-_ownedComment.0" annotatedElement="NamedElement-has_qualified_name">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-has_qualified_name-_specification">
            <language>OCL</language>
            <body>(name &lt;> null and allNamespaces()->select(ns | ns.name = null)->isEmpty()) implies
  qualifiedName = allNamespaces()->iterate( ns : Namespace; agg: String = name | ns.name.concat(self.separator()).concat(agg))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-has_no_qualified_name" name="has_no_qualified_name" constrainedElement="NamedElement" context="NamedElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-has_no_qualified_name-_ownedComment.0" annotatedElement="NamedElement-has_no_qualified_name">
            <body>If there is no name, or one of the containing Namespaces has no name, there is no qualifiedName.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-has_no_qualified_name-_specification">
            <language>OCL</language>
            <body>name=null or allNamespaces()->select( ns | ns.name=null )->notEmpty() implies qualifiedName = null</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="NamedElement-_generalization.0" general="Element" specific="NamedElement"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="NamedElement-clientDependency" name="clientDependency" type="Dependency" isDerived="true" subsettedProperty="A_source_directedRelationship-directedRelationship" association="A_clientDependency_client">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-clientDependency-_ownedComment.0" annotatedElement="NamedElement-clientDependency">
            <body>Indicates the Dependencies that reference this NamedElement as a client.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-clientDependency-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-clientDependency-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="NamedElement-name" name="name">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-name-_ownedComment.0" annotatedElement="NamedElement-name">
            <body>The name of the NamedElement.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-name-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="NamedElement-nameExpression" name="nameExpression" type="StringExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_nameExpression_namedElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-nameExpression-_ownedComment.0" annotatedElement="NamedElement-nameExpression">
            <body>The StringExpression used to define the name of this NamedElement.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-nameExpression-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="NamedElement-namespace" name="namespace" type="Namespace" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_member_memberNamespace-memberNamespace Element-owner" association="A_ownedMember_namespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-namespace-_ownedComment.0" annotatedElement="NamedElement-namespace">
            <body>Specifies the Namespace that owns the NamedElement.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-namespace-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="NamedElement-qualifiedName" name="qualifiedName" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-qualifiedName-_ownedComment.0" annotatedElement="NamedElement-qualifiedName">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-qualifiedName-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="NamedElement-visibility" name="visibility" type="VisibilityKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-visibility-_ownedComment.0" annotatedElement="NamedElement-visibility">
            <body>Determines whether and how the NamedElement is visible outside its owning Namespace.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-visibility-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="NamedElement-allNamespaces" name="allNamespaces" bodyCondition="NamedElement-allNamespaces-spec" class="NamedElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-allNamespaces-_ownedComment.0" annotatedElement="NamedElement-allNamespaces">
            <body>The query allNamespaces() gives the sequence of Namespaces in which the NamedElement is nested, working outwards.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-allNamespaces-spec" name="spec" constrainedElement="NamedElement-allNamespaces" context="NamedElement-allNamespaces">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-allNamespaces-spec-_specification">
              <language>OCL</language>
              <body>result = (if owner.oclIsKindOf(TemplateParameter) and
  owner.oclAsType(TemplateParameter).signature.template.oclIsKindOf(Namespace) then
    let enclosingNamespace : Namespace =
      owner.oclAsType(TemplateParameter).signature.template.oclAsType(Namespace) in
        enclosingNamespace.allNamespaces()->prepend(enclosingNamespace)
else
  if namespace->isEmpty()
    then OrderedSet{}
  else
    namespace.allNamespaces()->prepend(namespace)
  endif
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="NamedElement-allNamespaces-result" name="result" type="Namespace" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-allNamespaces-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-allNamespaces-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="NamedElement-allOwningPackages" name="allOwningPackages" bodyCondition="NamedElement-allOwningPackages-spec" class="NamedElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-allOwningPackages-_ownedComment.0" annotatedElement="NamedElement-allOwningPackages">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-allOwningPackages-spec" name="spec" constrainedElement="NamedElement-allOwningPackages" context="NamedElement-allOwningPackages">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-allOwningPackages-spec-_specification">
              <language>OCL</language>
              <body>result = (if namespace.oclIsKindOf(Package)&#xD;
then&#xD;
  let owningPackage : Package = namespace.oclAsType(Package) in&#xD;
    owningPackage->union(owningPackage.allOwningPackages())&#xD;
else&#xD;
  null&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="NamedElement-allOwningPackages-result" name="result" type="Package" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-allOwningPackages-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-allOwningPackages-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="NamedElement-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="NamedElement-isDistinguishableFrom-spec" class="NamedElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-isDistinguishableFrom-_ownedComment.0" annotatedElement="NamedElement-isDistinguishableFrom">
            <body>The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace. By default, two named elements are distinguishable if (a) they have types neither of which is a kind of the other or (b) they have different names.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-isDistinguishableFrom-spec" name="spec" constrainedElement="NamedElement-isDistinguishableFrom" context="NamedElement-isDistinguishableFrom">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-isDistinguishableFrom-spec-_specification">
              <language>OCL</language>
              <body>result = ((self.oclIsKindOf(n.oclType()) or n.oclIsKindOf(self.oclType())) implies
    ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()
)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="NamedElement-isDistinguishableFrom-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="NamedElement-isDistinguishableFrom-n" name="n" type="NamedElement"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="NamedElement-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="NamedElement-qualifiedName.1" name="qualifiedName" bodyCondition="NamedElement-qualifiedName.1-spec" class="NamedElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-qualifiedName.1-_ownedComment.0" annotatedElement="NamedElement-qualifiedName.1">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-qualifiedName.1-spec" name="spec" constrainedElement="NamedElement-qualifiedName.1 NamedElement-qualifiedName" context="NamedElement-qualifiedName.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-qualifiedName.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if self.name &lt;> null and self.allNamespaces()->select( ns | ns.name=null )->isEmpty()
then 
    self.allNamespaces()->iterate( ns : Namespace; agg: String = self.name | ns.name.concat(self.separator()).concat(agg))
else
   null
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="NamedElement-qualifiedName.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="NamedElement-separator" name="separator" bodyCondition="NamedElement-separator-spec" class="NamedElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="NamedElement-separator-_ownedComment.0" annotatedElement="NamedElement-separator">
            <body>The query separator() gives the string that is used to separate names when constructing a qualifiedName.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-separator-spec" name="spec" constrainedElement="NamedElement-separator" context="NamedElement-separator">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-separator-spec-_specification">
              <language>OCL</language>
              <body>result = ('::')</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="NamedElement-separator-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="NamedElement-clientDependency.1" name="clientDependency" bodyCondition="NamedElement-clientDependency.1-spec" class="NamedElement" isQuery="true">
          <ownedRule xmi:type="uml:Constraint" xmi:id="NamedElement-clientDependency.1-spec" name="spec" constrainedElement="NamedElement-clientDependency.1 NamedElement-clientDependency" context="NamedElement-clientDependency.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-clientDependency.1-spec-_specification">
              <language>OCL</language>
              <body>result = (Dependency.allInstances()->select(d | d.client->includes(self)))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="NamedElement-clientDependency.1-result" name="result" type="Dependency" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-clientDependency.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-clientDependency.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Namespace" name="Namespace" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-_ownedComment.0" annotatedElement="Namespace">
          <body>A Namespace is an Element in a model that owns and/or imports a set of NamedElements that can be identified by name.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Namespace-members_distinguishable" name="members_distinguishable" constrainedElement="Namespace" context="Namespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-members_distinguishable-_ownedComment.0" annotatedElement="Namespace-members_distinguishable">
            <body>All the members of a Namespace are distinguishable within it.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-members_distinguishable-_specification">
            <language>OCL</language>
            <body>membersAreDistinguishable()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Namespace-cannot_import_self" name="cannot_import_self" constrainedElement="Namespace" context="Namespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-cannot_import_self-_ownedComment.0" annotatedElement="Namespace-cannot_import_self">
            <body>A Namespace cannot have a PackageImport to itself.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-cannot_import_self-_specification">
            <language>OCL</language>
            <body>packageImport.importedPackage.oclAsType(Namespace)->excludes(self)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Namespace-cannot_import_ownedMembers" name="cannot_import_ownedMembers" constrainedElement="Namespace" context="Namespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-cannot_import_ownedMembers-_ownedComment.0" annotatedElement="Namespace-cannot_import_ownedMembers">
            <body>A Namespace cannot have an ElementImport to one of its ownedMembers.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-cannot_import_ownedMembers-_specification">
            <language>OCL</language>
            <body>elementImport.importedElement.oclAsType(Element)->excludesAll(ownedMember)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Namespace-_generalization.0" general="NamedElement" specific="Namespace"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Namespace-elementImport" name="elementImport" type="ElementImport" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_elementImport_importingNamespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-elementImport-_ownedComment.0" annotatedElement="Namespace-elementImport">
            <body>References the ElementImports owned by the Namespace.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-elementImport-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-elementImport-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Namespace-importedMember" name="importedMember" type="PackageableElement" isReadOnly="true" isDerived="true" subsettedProperty="Namespace-member" association="A_importedMember_namespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-importedMember-_ownedComment.0" annotatedElement="Namespace-importedMember">
            <body>References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-importedMember-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-importedMember-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Namespace-member" name="member" type="NamedElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_member_memberNamespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-member-_ownedComment.0" annotatedElement="Namespace-member">
            <body>A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-member-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-member-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Namespace-ownedMember" name="ownedMember" type="NamedElement" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement Namespace-member" association="A_ownedMember_namespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-ownedMember-_ownedComment.0" annotatedElement="Namespace-ownedMember">
            <body>A collection of NamedElements owned by the Namespace.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-ownedMember-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-ownedMember-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Namespace-ownedRule" name="ownedRule" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedRule_context">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-ownedRule-_ownedComment.0" annotatedElement="Namespace-ownedRule">
            <body>Specifies a set of Constraints owned by this Namespace.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-ownedRule-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-ownedRule-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Namespace-packageImport" name="packageImport" type="PackageImport" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_packageImport_importingNamespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-packageImport-_ownedComment.0" annotatedElement="Namespace-packageImport">
            <body>References the PackageImports owned by the Namespace.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-packageImport-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-packageImport-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Namespace-excludeCollisions" name="excludeCollisions" bodyCondition="Namespace-excludeCollisions-spec" class="Namespace" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-excludeCollisions-_ownedComment.0" annotatedElement="Namespace-excludeCollisions">
            <body>The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this Namespace.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Namespace-excludeCollisions-spec" name="spec" constrainedElement="Namespace-excludeCollisions" context="Namespace-excludeCollisions">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-excludeCollisions-spec-_specification">
              <language>OCL</language>
              <body>result = (imps->reject(imp1  | imps->exists(imp2 | not imp1.isDistinguishableFrom(imp2, self))))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Namespace-excludeCollisions-result" name="result" type="PackageableElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-excludeCollisions-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-excludeCollisions-result-_upperValue" value="*"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Namespace-excludeCollisions-imps" name="imps" type="PackageableElement">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-excludeCollisions-imps-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-excludeCollisions-imps-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Namespace-getNamesOfMember" name="getNamesOfMember" bodyCondition="Namespace-getNamesOfMember-spec" class="Namespace" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-getNamesOfMember-_ownedComment.0" annotatedElement="Namespace-getNamesOfMember">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Namespace-getNamesOfMember-spec" name="spec" constrainedElement="Namespace-getNamesOfMember" context="Namespace-getNamesOfMember">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-getNamesOfMember-spec-_specification">
              <language>OCL</language>
              <body>result = (if self.ownedMember ->includes(element)
then Set{element.name}
else let elementImports : Set(ElementImport) = self.elementImport->select(ei | ei.importedElement = element) in
  if elementImports->notEmpty()
  then
     elementImports->collect(el | el.getName())->asSet()
  else 
     self.packageImport->select(pi | pi.importedPackage.visibleMembers().oclAsType(NamedElement)->includes(element))-> collect(pi | pi.importedPackage.getNamesOfMember(element))->asSet()
  endif
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Namespace-getNamesOfMember-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-getNamesOfMember-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-getNamesOfMember-result-_upperValue" value="*"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Namespace-getNamesOfMember-element" name="element" type="NamedElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Namespace-importMembers" name="importMembers" bodyCondition="Namespace-importMembers-spec" class="Namespace" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-importMembers-_ownedComment.0" annotatedElement="Namespace-importMembers">
            <body>The query importMembers() defines which of a set of PackageableElements are actually imported into the Namespace. This excludes hidden ones, i.e., those which have names that conflict with names of ownedMembers, and it also excludes PackageableElements that would have the indistinguishable names when imported.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Namespace-importMembers-spec" name="spec" constrainedElement="Namespace-importMembers" context="Namespace-importMembers">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-importMembers-spec-_specification">
              <language>OCL</language>
              <body>result = (self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem | imp.isDistinguishableFrom(mem, self))))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Namespace-importMembers-result" name="result" type="PackageableElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-importMembers-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-importMembers-result-_upperValue" value="*"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Namespace-importMembers-imps" name="imps" type="PackageableElement">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-importMembers-imps-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-importMembers-imps-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Namespace-importedMember.1" name="importedMember" bodyCondition="Namespace-importedMember.1-spec" class="Namespace" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-importedMember.1-_ownedComment.0" annotatedElement="Namespace-importedMember.1">
            <body>The importedMember property is derived as the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Namespace-importedMember.1-spec" name="spec" constrainedElement="Namespace-importedMember.1 Namespace-importedMember" context="Namespace-importedMember.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-importedMember.1-spec-_specification">
              <language>OCL</language>
              <body>result = (self.importMembers(elementImport.importedElement->asSet()->union(packageImport.importedPackage->collect(p | p.visibleMembers()))->asSet()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Namespace-importedMember.1-result" name="result" type="PackageableElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-importedMember.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-importedMember.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Namespace-membersAreDistinguishable" name="membersAreDistinguishable" bodyCondition="Namespace-membersAreDistinguishable-spec" class="Namespace" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Namespace-membersAreDistinguishable-_ownedComment.0" annotatedElement="Namespace-membersAreDistinguishable">
            <body>The Boolean query membersAreDistinguishable() determines whether all of the Namespace's members are distinguishable within it.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Namespace-membersAreDistinguishable-spec" name="spec" constrainedElement="Namespace-membersAreDistinguishable" context="Namespace-membersAreDistinguishable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-membersAreDistinguishable-spec-_specification">
              <language>OCL</language>
              <body>result = (member->forAll( memb |
   member->excluding(memb)->forAll(other |
       memb.isDistinguishableFrom(other, self))))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Namespace-membersAreDistinguishable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="PackageableElement" name="PackageableElement" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="PackageableElement-_ownedComment.0" annotatedElement="PackageableElement">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="PackageableElement-namespace_needs_visibility" name="namespace_needs_visibility" constrainedElement="PackageableElement" context="PackageableElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="PackageableElement-namespace_needs_visibility-_ownedComment.0" annotatedElement="PackageableElement-namespace_needs_visibility">
            <body>A PackageableElement owned by a Namespace must have a visibility.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="PackageableElement-namespace_needs_visibility-_specification">
            <language>OCL</language>
            <body>visibility = null implies namespace = null</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="PackageableElement-_generalization.0" general="ParameterableElement" specific="PackageableElement"/>
        <generalization xmi:type="uml:Generalization" xmi:id="PackageableElement-_generalization.1" general="NamedElement" specific="PackageableElement"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="PackageableElement-visibility" name="visibility" type="VisibilityKind" redefinedProperty="NamedElement-visibility">
          <ownedComment xmi:type="uml:Comment" xmi:id="PackageableElement-visibility-_ownedComment.0" annotatedElement="PackageableElement-visibility">
            <body>A PackageableElement must have a visibility specified if it is owned by a Namespace. The default visibility is public.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PackageableElement-visibility-_lowerValue"/>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="PackageableElement-visibility-_defaultValue" type="VisibilityKind" instance="VisibilityKind-public"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="PackageImport" name="PackageImport">
        <ownedComment xmi:type="uml:Comment" xmi:id="PackageImport-_ownedComment.0" annotatedElement="PackageImport">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="PackageImport-public_or_private" name="public_or_private" constrainedElement="PackageImport" context="PackageImport">
          <ownedComment xmi:type="uml:Comment" xmi:id="PackageImport-public_or_private-_ownedComment.0" annotatedElement="PackageImport-public_or_private">
            <body>The visibility of a PackageImport is either public or private.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="PackageImport-public_or_private-_specification">
            <language>OCL</language>
            <body>visibility = VisibilityKind::public or visibility = VisibilityKind::private</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="PackageImport-_generalization.0" general="DirectedRelationship" specific="PackageImport"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="PackageImport-importedPackage" name="importedPackage" type="Package" subsettedProperty="DirectedRelationship-target" association="A_importedPackage_packageImport">
          <ownedComment xmi:type="uml:Comment" xmi:id="PackageImport-importedPackage-_ownedComment.0" annotatedElement="PackageImport-importedPackage">
            <body>Specifies the Package whose members are imported into a Namespace.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="PackageImport-importingNamespace" name="importingNamespace" type="Namespace" subsettedProperty="DirectedRelationship-source Element-owner" association="A_packageImport_importingNamespace">
          <ownedComment xmi:type="uml:Comment" xmi:id="PackageImport-importingNamespace-_ownedComment.0" annotatedElement="PackageImport-importingNamespace">
            <body>Specifies the Namespace that imports the members from a Package.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="PackageImport-visibility" name="visibility" type="VisibilityKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="PackageImport-visibility-_ownedComment.0" annotatedElement="PackageImport-visibility">
            <body>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.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="PackageImport-visibility-_defaultValue" type="VisibilityKind" instance="VisibilityKind-public"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ParameterableElement" name="ParameterableElement" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="ParameterableElement-_ownedComment.0" annotatedElement="ParameterableElement">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ParameterableElement-_generalization.0" general="Element" specific="ParameterableElement"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ParameterableElement-owningTemplateParameter" name="owningTemplateParameter" type="TemplateParameter" subsettedProperty="Element-owner ParameterableElement-templateParameter" association="A_ownedParameteredElement_owningTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterableElement-owningTemplateParameter-_ownedComment.0" annotatedElement="ParameterableElement-owningTemplateParameter">
            <body>The formal TemplateParameter that owns this ParameterableElement.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ParameterableElement-owningTemplateParameter-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ParameterableElement-templateParameter" name="templateParameter" type="TemplateParameter" association="A_parameteredElement_templateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterableElement-templateParameter-_ownedComment.0" annotatedElement="ParameterableElement-templateParameter">
            <body>The TemplateParameter that exposes this ParameterableElement as a formal parameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ParameterableElement-templateParameter-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ParameterableElement-isCompatibleWith" name="isCompatibleWith" bodyCondition="ParameterableElement-isCompatibleWith-spec" class="ParameterableElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterableElement-isCompatibleWith-_ownedComment.0" annotatedElement="ParameterableElement-isCompatibleWith">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ParameterableElement-isCompatibleWith-spec" name="spec" constrainedElement="ParameterableElement-isCompatibleWith" context="ParameterableElement-isCompatibleWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterableElement-isCompatibleWith-spec-_specification">
              <language>OCL</language>
              <body>result = (self.oclIsKindOf(p.oclType()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ParameterableElement-isCompatibleWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ParameterableElement-isCompatibleWith-p" name="p" type="ParameterableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ParameterableElement-isTemplateParameter" name="isTemplateParameter" bodyCondition="ParameterableElement-isTemplateParameter-spec" class="ParameterableElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterableElement-isTemplateParameter-_ownedComment.0" annotatedElement="ParameterableElement-isTemplateParameter">
            <body>The query isTemplateParameter() determines if this ParameterableElement is exposed as a formal TemplateParameter.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ParameterableElement-isTemplateParameter-spec" name="spec" constrainedElement="ParameterableElement-isTemplateParameter" context="ParameterableElement-isTemplateParameter">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterableElement-isTemplateParameter-spec-_specification">
              <language>OCL</language>
              <body>result = (templateParameter->notEmpty())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ParameterableElement-isTemplateParameter-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Realization" name="Realization">
        <ownedComment xmi:type="uml:Comment" xmi:id="Realization-_ownedComment.0" annotatedElement="Realization">
          <body>Realization is a specialized Abstraction relationship between two sets of model Elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client). Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Realization-_generalization.0" general="Abstraction" specific="Realization"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Relationship" name="Relationship" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Relationship-_ownedComment.0" annotatedElement="Relationship">
          <body>Relationship is an abstract concept that specifies some kind of relationship between Elements.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Relationship-_generalization.0" general="Element" specific="Relationship"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Relationship-relatedElement" name="relatedElement" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_relatedElement_relationship">
          <ownedComment xmi:type="uml:Comment" xmi:id="Relationship-relatedElement-_ownedComment.0" annotatedElement="Relationship-relatedElement">
            <body>Specifies the elements related by the Relationship.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Relationship-relatedElement-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TemplateableElement" name="TemplateableElement" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="TemplateableElement-_ownedComment.0" annotatedElement="TemplateableElement">
          <body>A TemplateableElement is an Element that can optionally be defined as a template and bound to other templates.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="TemplateableElement-_generalization.0" general="Element" specific="TemplateableElement"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateableElement-ownedTemplateSignature" name="ownedTemplateSignature" type="TemplateSignature" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_ownedTemplateSignature_template">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateableElement-ownedTemplateSignature-_ownedComment.0" annotatedElement="TemplateableElement-ownedTemplateSignature">
            <body>The optional TemplateSignature specifying the formal TemplateParameters for this TemplateableElement. If a TemplateableElement has a TemplateSignature, then it is a template.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateableElement-ownedTemplateSignature-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateableElement-templateBinding" name="templateBinding" type="TemplateBinding" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_templateBinding_boundElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateableElement-templateBinding-_ownedComment.0" annotatedElement="TemplateableElement-templateBinding">
            <body>The optional TemplateBindings from this TemplateableElement to one or more templates.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateableElement-templateBinding-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateableElement-templateBinding-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="TemplateableElement-isTemplate" name="isTemplate" bodyCondition="TemplateableElement-isTemplate-spec" class="TemplateableElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateableElement-isTemplate-_ownedComment.0" annotatedElement="TemplateableElement-isTemplate">
            <body>The query isTemplate() returns whether this TemplateableElement is actually a template.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="TemplateableElement-isTemplate-spec" name="spec" constrainedElement="TemplateableElement-isTemplate" context="TemplateableElement-isTemplate">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateableElement-isTemplate-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedTemplateSignature &lt;> null)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="TemplateableElement-isTemplate-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="TemplateableElement-parameterableElements" name="parameterableElements" bodyCondition="TemplateableElement-parameterableElements-spec" class="TemplateableElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateableElement-parameterableElements-_ownedComment.0" annotatedElement="TemplateableElement-parameterableElements">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="TemplateableElement-parameterableElements-spec" name="spec" constrainedElement="TemplateableElement-parameterableElements" context="TemplateableElement-parameterableElements">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateableElement-parameterableElements-spec-_specification">
              <language>OCL</language>
              <body>result = (self.allOwnedElements()->select(oclIsKindOf(ParameterableElement)).oclAsType(ParameterableElement)->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="TemplateableElement-parameterableElements-result" name="result" type="ParameterableElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateableElement-parameterableElements-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateableElement-parameterableElements-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TemplateBinding" name="TemplateBinding">
        <ownedComment xmi:type="uml:Comment" xmi:id="TemplateBinding-_ownedComment.0" annotatedElement="TemplateBinding">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TemplateBinding-parameter_substitution_formal" name="parameter_substitution_formal" constrainedElement="TemplateBinding" context="TemplateBinding">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateBinding-parameter_substitution_formal-_ownedComment.0" annotatedElement="TemplateBinding-parameter_substitution_formal">
            <body>Each parameterSubstitution must refer to a formal TemplateParameter of the target TemplateSignature.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateBinding-parameter_substitution_formal-_specification">
            <language>OCL</language>
            <body>parameterSubstitution->forAll(b | signature.parameter->includes(b.formal))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TemplateBinding-one_parameter_substitution" name="one_parameter_substitution" constrainedElement="TemplateBinding" context="TemplateBinding">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateBinding-one_parameter_substitution-_ownedComment.0" annotatedElement="TemplateBinding-one_parameter_substitution">
            <body>A TemplateBiinding contains at most one TemplateParameterSubstitution for each formal TemplateParameter of the target TemplateSignature.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateBinding-one_parameter_substitution-_specification">
            <language>OCL</language>
            <body>signature.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() &lt;= 1)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="TemplateBinding-_generalization.0" general="DirectedRelationship" specific="TemplateBinding"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateBinding-boundElement" name="boundElement" type="TemplateableElement" subsettedProperty="DirectedRelationship-source Element-owner" association="A_templateBinding_boundElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateBinding-boundElement-_ownedComment.0" annotatedElement="TemplateBinding-boundElement">
            <body>The TemplateableElement that is bound by this TemplateBinding.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateBinding-parameterSubstitution" name="parameterSubstitution" type="TemplateParameterSubstitution" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_parameterSubstitution_templateBinding">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateBinding-parameterSubstitution-_ownedComment.0" annotatedElement="TemplateBinding-parameterSubstitution">
            <body>The TemplateParameterSubstitutions owned by this TemplateBinding.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateBinding-parameterSubstitution-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateBinding-parameterSubstitution-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateBinding-signature" name="signature" type="TemplateSignature" subsettedProperty="DirectedRelationship-target" association="A_signature_templateBinding">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateBinding-signature-_ownedComment.0" annotatedElement="TemplateBinding-signature">
            <body>The TemplateSignature for the template that is the target of this TemplateBinding.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TemplateParameter" name="TemplateParameter">
        <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameter-_ownedComment.0" annotatedElement="TemplateParameter">
          <body>A TemplateParameter exposes a ParameterableElement as a formal parameter of a template.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TemplateParameter-must_be_compatible" name="must_be_compatible" constrainedElement="TemplateParameter" context="TemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameter-must_be_compatible-_ownedComment.0" annotatedElement="TemplateParameter-must_be_compatible">
            <body>The default must be compatible with the formal TemplateParameter.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateParameter-must_be_compatible-_specification">
            <language>OCL</language>
            <body>default &lt;> null implies default.isCompatibleWith(parameteredElement)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="TemplateParameter-_generalization.0" general="Element" specific="TemplateParameter"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameter-default" name="default" type="ParameterableElement" association="A_default_templateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameter-default-_ownedComment.0" annotatedElement="TemplateParameter-default">
            <body>The ParameterableElement that is the default for this formal TemplateParameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateParameter-default-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameter-ownedDefault" name="ownedDefault" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameter-default" association="A_ownedDefault_templateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameter-ownedDefault-_ownedComment.0" annotatedElement="TemplateParameter-ownedDefault">
            <body>The ParameterableElement that is owned by this TemplateParameter for the purpose of providing a default.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateParameter-ownedDefault-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameter-ownedParameteredElement" name="ownedParameteredElement" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameter-parameteredElement" association="A_ownedParameteredElement_owningTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameter-ownedParameteredElement-_ownedComment.0" annotatedElement="TemplateParameter-ownedParameteredElement">
            <body>The ParameterableElement that is owned by this TemplateParameter for the purpose of exposing it as the parameteredElement.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateParameter-ownedParameteredElement-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameter-parameteredElement" name="parameteredElement" type="ParameterableElement" association="A_parameteredElement_templateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="TemplateParameter-parameteredElement">
            <body>The ParameterableElement exposed by this TemplateParameter.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameter-signature" name="signature" type="TemplateSignature" subsettedProperty="A_parameter_templateSignature-templateSignature Element-owner" association="A_ownedParameter_signature">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameter-signature-_ownedComment.0" annotatedElement="TemplateParameter-signature">
            <body>The TemplateSignature that owns this TemplateParameter.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TemplateParameterSubstitution" name="TemplateParameterSubstitution">
        <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameterSubstitution-_ownedComment.0" annotatedElement="TemplateParameterSubstitution">
          <body>A TemplateParameterSubstitution relates the actual parameter to a formal TemplateParameter as part of a template binding.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TemplateParameterSubstitution-must_be_compatible" name="must_be_compatible" constrainedElement="TemplateParameterSubstitution" context="TemplateParameterSubstitution">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameterSubstitution-must_be_compatible-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-must_be_compatible">
            <body>The actual ParameterableElement must be compatible with the formal TemplateParameter, e.g., the actual ParameterableElement for a Class TemplateParameter must be a Class.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateParameterSubstitution-must_be_compatible-_specification">
            <language>OCL</language>
            <body>actual->forAll(a | a.isCompatibleWith(formal.parameteredElement))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="TemplateParameterSubstitution-_generalization.0" general="Element" specific="TemplateParameterSubstitution"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameterSubstitution-actual" name="actual" type="ParameterableElement" association="A_actual_templateParameterSubstitution">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameterSubstitution-actual-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-actual">
            <body>The ParameterableElement that is the actual parameter for this TemplateParameterSubstitution.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameterSubstitution-formal" name="formal" type="TemplateParameter" association="A_formal_templateParameterSubstitution">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameterSubstitution-formal-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-formal">
            <body>The formal TemplateParameter that is associated with this TemplateParameterSubstitution.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameterSubstitution-ownedActual" name="ownedActual" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameterSubstitution-actual" association="A_ownedActual_owningTemplateParameterSubstitution">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameterSubstitution-ownedActual-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-ownedActual">
            <body>The ParameterableElement that is owned by this TemplateParameterSubstitution as its actual parameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateParameterSubstitution-ownedActual-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateParameterSubstitution-templateBinding" name="templateBinding" type="TemplateBinding" subsettedProperty="Element-owner" association="A_parameterSubstitution_templateBinding">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateParameterSubstitution-templateBinding-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-templateBinding">
            <body>The TemplateBinding that owns this TemplateParameterSubstitution.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TemplateSignature" name="TemplateSignature">
        <ownedComment xmi:type="uml:Comment" xmi:id="TemplateSignature-_ownedComment.0" annotatedElement="TemplateSignature">
          <body>A Template Signature bundles the set of formal TemplateParameters for a template.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TemplateSignature-own_elements" name="own_elements" constrainedElement="TemplateSignature" context="TemplateSignature">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateSignature-own_elements-_ownedComment.0" annotatedElement="TemplateSignature-own_elements">
            <body>Parameters must own the ParameterableElements they parameter or those ParameterableElements must be owned by the TemplateableElement being templated.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateSignature-own_elements-_specification">
            <language>OCL</language>
            <body>template.ownedElement->includesAll(parameter.parameteredElement->asSet() - parameter.ownedParameteredElement->asSet())</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TemplateSignature-unique_parameters" name="unique_parameters" constrainedElement="TemplateSignature" context="TemplateSignature">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateSignature-unique_parameters-_ownedComment.0" annotatedElement="TemplateSignature-unique_parameters">
            <body>The names of the parameters of a TemplateSignature are unique.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateSignature-unique_parameters-_specification">
            <language>OCL</language>
            <body>parameter->forAll( p1, p2 | (p1 &lt;> p2 and p1.parameteredElement.oclIsKindOf(NamedElement) and p2.parameteredElement.oclIsKindOf(NamedElement) ) implies&#xD;
   p1.parameteredElement.oclAsType(NamedElement).name &lt;> p2.parameteredElement.oclAsType(NamedElement).name)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="TemplateSignature-_generalization.0" general="Element" specific="TemplateSignature"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateSignature-ownedParameter" name="ownedParameter" type="TemplateParameter" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement TemplateSignature-parameter" association="A_ownedParameter_signature">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateSignature-ownedParameter-_ownedComment.0" annotatedElement="TemplateSignature-ownedParameter">
            <body>The formal parameters that are owned by this TemplateSignature.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateSignature-ownedParameter-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateSignature-ownedParameter-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateSignature-parameter" name="parameter" type="TemplateParameter" isOrdered="true" association="A_parameter_templateSignature">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateSignature-parameter-_ownedComment.0" annotatedElement="TemplateSignature-parameter">
            <body>The ordered set of all formal TemplateParameters for this TemplateSignature.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateSignature-parameter-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TemplateSignature-template" name="template" type="TemplateableElement" subsettedProperty="Element-owner" association="A_ownedTemplateSignature_template">
          <ownedComment xmi:type="uml:Comment" xmi:id="TemplateSignature-template-_ownedComment.0" annotatedElement="TemplateSignature-template">
            <body>The TemplateableElement that owns this TemplateSignature.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Type" name="Type" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Type-_ownedComment.0" annotatedElement="Type">
          <body>A Type constrains the values represented by a TypedElement.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Type-_generalization.0" general="PackageableElement" specific="Type"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Type-package" name="package" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage" association="A_ownedType_package">
          <ownedComment xmi:type="uml:Comment" xmi:id="Type-package-_ownedComment.0" annotatedElement="Type-package">
            <body>Specifies the owning Package of this Type, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Type-package-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Type-conformsTo" name="conformsTo" bodyCondition="Type-conformsTo-spec" class="Type" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Type-conformsTo-_ownedComment.0" annotatedElement="Type-conformsTo">
            <body>The query conformsTo() gives true for a Type that conforms to another. By default, two Types do not conform to each other. This query is intended to be redefined for specific conformance situations.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Type-conformsTo-spec" name="spec" constrainedElement="Type-conformsTo" context="Type-conformsTo">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Type-conformsTo-spec-_specification">
              <language>OCL</language>
              <body>result = (false)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Type-conformsTo-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Type-conformsTo-other" name="other" type="Type"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TypedElement" name="TypedElement" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="TypedElement-_ownedComment.0" annotatedElement="TypedElement">
          <body>A TypedElement is a NamedElement that may have a Type specified for it.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="TypedElement-_generalization.0" general="NamedElement" specific="TypedElement"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TypedElement-type" name="type" type="Type" association="A_type_typedElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="TypedElement-type-_ownedComment.0" annotatedElement="TypedElement-type">
            <body>The type of the TypedElement.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TypedElement-type-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Usage" name="Usage">
        <ownedComment xmi:type="uml:Comment" xmi:id="Usage-_ownedComment.0" annotatedElement="Usage">
          <body>A Usage is a Dependency in which the client Element requires the supplier Element (or set of Elements) for its full implementation or operation.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Usage-_generalization.0" general="Dependency" specific="Usage"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="VisibilityKind" name="VisibilityKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="VisibilityKind-_ownedComment.0" annotatedElement="VisibilityKind">
          <body>VisibilityKind is an enumeration type that defines literals to determine the visibility of Elements in a model.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="VisibilityKind-public" name="public" enumeration="VisibilityKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="VisibilityKind-public-_ownedComment.0" annotatedElement="VisibilityKind-public">
            <body>A Named Element with public visibility is visible to all elements that can access the contents of the Namespace that owns it.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="VisibilityKind-private" name="private" enumeration="VisibilityKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="VisibilityKind-private-_ownedComment.0" annotatedElement="VisibilityKind-private">
            <body>A NamedElement with private visibility is only visible inside the Namespace that owns it.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="VisibilityKind-protected" name="protected" enumeration="VisibilityKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="VisibilityKind-protected-_ownedComment.0" annotatedElement="VisibilityKind-protected">
            <body>A NamedElement with protected visibility is visible to Elements that have a generalization relationship to the Namespace that owns it.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="VisibilityKind-package" name="package" enumeration="VisibilityKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="VisibilityKind-package-_ownedComment.0" annotatedElement="VisibilityKind-package">
            <body>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. </body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_type_typedElement" name="A_type_typedElement" memberEnd="TypedElement-type A_type_typedElement-typedElement">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_type_typedElement-typedElement" name="typedElement" type="TypedElement" owningAssociation="A_type_typedElement" association="A_type_typedElement">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_typedElement-typedElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_typedElement-typedElement-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameter_signature" name="A_ownedParameter_signature" memberEnd="TemplateSignature-ownedParameter TemplateParameter-signature"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_parameter_templateSignature" name="A_parameter_templateSignature" memberEnd="TemplateSignature-parameter A_parameter_templateSignature-templateSignature">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_parameter_templateSignature-templateSignature" name="templateSignature" type="TemplateSignature" owningAssociation="A_parameter_templateSignature" association="A_parameter_templateSignature">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_parameter_templateSignature-templateSignature-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_parameter_templateSignature-templateSignature-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_actual_templateParameterSubstitution" name="A_actual_templateParameterSubstitution" memberEnd="TemplateParameterSubstitution-actual A_actual_templateParameterSubstitution-templateParameterSubstitution">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_actual_templateParameterSubstitution-templateParameterSubstitution" name="templateParameterSubstitution" type="TemplateParameterSubstitution" owningAssociation="A_actual_templateParameterSubstitution" association="A_actual_templateParameterSubstitution">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_actual_templateParameterSubstitution-templateParameterSubstitution-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_actual_templateParameterSubstitution-templateParameterSubstitution-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedActual_owningTemplateParameterSubstitution" name="A_ownedActual_owningTemplateParameterSubstitution" memberEnd="TemplateParameterSubstitution-ownedActual A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution">
        <generalization xmi:type="uml:Generalization" xmi:id="A_ownedActual_owningTemplateParameterSubstitution-_generalization.0" general="A_actual_templateParameterSubstitution" specific="A_ownedActual_owningTemplateParameterSubstitution"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution" name="owningTemplateParameterSubstitution" type="TemplateParameterSubstitution" owningAssociation="A_ownedActual_owningTemplateParameterSubstitution" redefinedProperty="A_actual_templateParameterSubstitution-templateParameterSubstitution" subsettedProperty="Element-owner" association="A_ownedActual_owningTemplateParameterSubstitution">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_formal_templateParameterSubstitution" name="A_formal_templateParameterSubstitution" memberEnd="TemplateParameterSubstitution-formal A_formal_templateParameterSubstitution-templateParameterSubstitution">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_formal_templateParameterSubstitution-templateParameterSubstitution" name="templateParameterSubstitution" type="TemplateParameterSubstitution" owningAssociation="A_formal_templateParameterSubstitution" association="A_formal_templateParameterSubstitution">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_formal_templateParameterSubstitution-templateParameterSubstitution-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_formal_templateParameterSubstitution-templateParameterSubstitution-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedDefault_templateParameter" name="A_ownedDefault_templateParameter" memberEnd="TemplateParameter-ownedDefault A_ownedDefault_templateParameter-templateParameter">
        <generalization xmi:type="uml:Generalization" xmi:id="A_ownedDefault_templateParameter-_generalization.0" general="A_default_templateParameter" specific="A_ownedDefault_templateParameter"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedDefault_templateParameter-templateParameter" name="templateParameter" type="TemplateParameter" owningAssociation="A_ownedDefault_templateParameter" redefinedProperty="A_default_templateParameter-templateParameter" subsettedProperty="Element-owner" association="A_ownedDefault_templateParameter">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedDefault_templateParameter-templateParameter-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameteredElement_owningTemplateParameter" name="A_ownedParameteredElement_owningTemplateParameter" memberEnd="TemplateParameter-ownedParameteredElement ParameterableElement-owningTemplateParameter"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_default_templateParameter" name="A_default_templateParameter" memberEnd="TemplateParameter-default A_default_templateParameter-templateParameter">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_default_templateParameter-templateParameter" name="templateParameter" type="TemplateParameter" owningAssociation="A_default_templateParameter" association="A_default_templateParameter">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_default_templateParameter-templateParameter-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_default_templateParameter-templateParameter-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_parameteredElement_templateParameter" name="A_parameteredElement_templateParameter" memberEnd="TemplateParameter-parameteredElement ParameterableElement-templateParameter"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_signature_templateBinding" name="A_signature_templateBinding" memberEnd="TemplateBinding-signature A_signature_templateBinding-templateBinding">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_signature_templateBinding-templateBinding" name="templateBinding" type="TemplateBinding" owningAssociation="A_signature_templateBinding" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_signature_templateBinding">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signature_templateBinding-templateBinding-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signature_templateBinding-templateBinding-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_parameterSubstitution_templateBinding" name="A_parameterSubstitution_templateBinding" memberEnd="TemplateBinding-parameterSubstitution TemplateParameterSubstitution-templateBinding"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_templateBinding_boundElement" name="A_templateBinding_boundElement" memberEnd="TemplateableElement-templateBinding TemplateBinding-boundElement"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedTemplateSignature_template" name="A_ownedTemplateSignature_template" memberEnd="TemplateableElement-ownedTemplateSignature TemplateSignature-template"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_relatedElement_relationship" name="A_relatedElement_relationship" isDerived="true" memberEnd="Relationship-relatedElement A_relatedElement_relationship-relationship">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_relatedElement_relationship-relationship" name="relationship" type="Relationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_relatedElement_relationship" association="A_relatedElement_relationship">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_relatedElement_relationship-relationship-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_relatedElement_relationship-relationship-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_importedPackage_packageImport" name="A_importedPackage_packageImport" memberEnd="PackageImport-importedPackage A_importedPackage_packageImport-packageImport">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_importedPackage_packageImport-packageImport" name="packageImport" type="PackageImport" owningAssociation="A_importedPackage_packageImport" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_importedPackage_packageImport">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_importedPackage_packageImport-packageImport-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_importedPackage_packageImport-packageImport-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_elementImport_importingNamespace" name="A_elementImport_importingNamespace" memberEnd="Namespace-elementImport ElementImport-importingNamespace"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedMember_namespace" name="A_ownedMember_namespace" isDerived="true" memberEnd="Namespace-ownedMember NamedElement-namespace"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedRule_context" name="A_ownedRule_context" memberEnd="Namespace-ownedRule Constraint-context"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_packageImport_importingNamespace" name="A_packageImport_importingNamespace" memberEnd="Namespace-packageImport PackageImport-importingNamespace"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_member_memberNamespace" name="A_member_memberNamespace" isDerived="true" memberEnd="Namespace-member A_member_memberNamespace-memberNamespace">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_member_memberNamespace-memberNamespace" name="memberNamespace" type="Namespace" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_member_memberNamespace" association="A_member_memberNamespace">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_member_memberNamespace-memberNamespace-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_member_memberNamespace-memberNamespace-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_importedMember_namespace" name="A_importedMember_namespace" isDerived="true" memberEnd="Namespace-importedMember A_importedMember_namespace-namespace">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_importedMember_namespace-namespace" name="namespace" type="Namespace" owningAssociation="A_importedMember_namespace" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_importedMember_namespace">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_importedMember_namespace-namespace-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_importedMember_namespace-namespace-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_nameExpression_namedElement" name="A_nameExpression_namedElement" memberEnd="NamedElement-nameExpression A_nameExpression_namedElement-namedElement">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_nameExpression_namedElement-namedElement" name="namedElement" type="NamedElement" owningAssociation="A_nameExpression_namedElement" subsettedProperty="Element-owner" association="A_nameExpression_namedElement">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nameExpression_namedElement-namedElement-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_clientDependency_client" name="A_clientDependency_client" memberEnd="NamedElement-clientDependency Dependency-client"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_lowerValue_owningLower" name="A_lowerValue_owningLower" memberEnd="MultiplicityElement-lowerValue A_lowerValue_owningLower-owningLower">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_lowerValue_owningLower-owningLower" name="owningLower" type="MultiplicityElement" owningAssociation="A_lowerValue_owningLower" subsettedProperty="Element-owner" association="A_lowerValue_owningLower">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_lowerValue_owningLower-owningLower-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_upperValue_owningUpper" name="A_upperValue_owningUpper" memberEnd="MultiplicityElement-upperValue A_upperValue_owningUpper-owningUpper">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_upperValue_owningUpper-owningUpper" name="owningUpper" type="MultiplicityElement" owningAssociation="A_upperValue_owningUpper" subsettedProperty="Element-owner" association="A_upperValue_owningUpper">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_upperValue_owningUpper-owningUpper-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_importedElement_import" name="A_importedElement_import" memberEnd="ElementImport-importedElement A_importedElement_import-import">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_importedElement_import-import" name="import" type="ElementImport" owningAssociation="A_importedElement_import" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_importedElement_import">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_importedElement_import-import-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_importedElement_import-import-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedElement_owner" name="A_ownedElement_owner" isDerived="true" memberEnd="Element-ownedElement Element-owner"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedComment_owningElement" name="A_ownedComment_owningElement" memberEnd="Element-ownedComment A_ownedComment_owningElement-owningElement">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedComment_owningElement-owningElement" name="owningElement" type="Element" owningAssociation="A_ownedComment_owningElement" subsettedProperty="Element-owner" association="A_ownedComment_owningElement">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedComment_owningElement-owningElement-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_source_directedRelationship" name="A_source_directedRelationship" isDerived="true" memberEnd="DirectedRelationship-source A_source_directedRelationship-directedRelationship">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_source_directedRelationship-directedRelationship" name="directedRelationship" type="DirectedRelationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_source_directedRelationship" subsettedProperty="A_relatedElement_relationship-relationship" association="A_source_directedRelationship">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_source_directedRelationship-directedRelationship-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_source_directedRelationship-directedRelationship-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_target_directedRelationship" name="A_target_directedRelationship" isDerived="true" memberEnd="DirectedRelationship-target A_target_directedRelationship-directedRelationship">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_target_directedRelationship-directedRelationship" name="directedRelationship" type="DirectedRelationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_target_directedRelationship" subsettedProperty="A_relatedElement_relationship-relationship" association="A_target_directedRelationship">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_directedRelationship-directedRelationship-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_target_directedRelationship-directedRelationship-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_supplier_supplierDependency" name="A_supplier_supplierDependency" memberEnd="Dependency-supplier A_supplier_supplierDependency-supplierDependency">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_supplier_supplierDependency-supplierDependency" name="supplierDependency" type="Dependency" owningAssociation="A_supplier_supplierDependency" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_supplier_supplierDependency">
          <ownedComment xmi:type="uml:Comment" xmi:id="A_supplier_supplierDependency-supplierDependency-_ownedComment.0" annotatedElement="A_supplier_supplierDependency-supplierDependency">
            <body>Indicates the dependencies that reference the supplier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_supplier_supplierDependency-supplierDependency-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_supplier_supplierDependency-supplierDependency-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_constrainedElement_constraint" name="A_constrainedElement_constraint" memberEnd="Constraint-constrainedElement A_constrainedElement_constraint-constraint">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_constrainedElement_constraint-constraint" name="constraint" type="Constraint" owningAssociation="A_constrainedElement_constraint" association="A_constrainedElement_constraint">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_constrainedElement_constraint-constraint-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_constrainedElement_constraint-constraint-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_specification_owningConstraint" name="A_specification_owningConstraint" memberEnd="Constraint-specification A_specification_owningConstraint-owningConstraint">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_specification_owningConstraint-owningConstraint" name="owningConstraint" type="Constraint" owningAssociation="A_specification_owningConstraint" subsettedProperty="Element-owner" association="A_specification_owningConstraint">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_owningConstraint-owningConstraint-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_annotatedElement_comment" name="A_annotatedElement_comment" memberEnd="Comment-annotatedElement A_annotatedElement_comment-comment">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_annotatedElement_comment-comment" name="comment" type="Comment" owningAssociation="A_annotatedElement_comment" association="A_annotatedElement_comment">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_annotatedElement_comment-comment-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_annotatedElement_comment-comment-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_mapping_abstraction" name="A_mapping_abstraction" memberEnd="Abstraction-mapping A_mapping_abstraction-abstraction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_mapping_abstraction-abstraction" name="abstraction" type="Abstraction" owningAssociation="A_mapping_abstraction" subsettedProperty="Element-owner" association="A_mapping_abstraction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_mapping_abstraction-abstraction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="CommonBehavior" name="CommonBehavior">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="Classification" importingNamespace="CommonBehavior"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="SimpleClassifiers" importingNamespace="CommonBehavior"/>
      <packagedElement xmi:type="uml:Class" xmi:id="AnyReceiveEvent" name="AnyReceiveEvent">
        <ownedComment xmi:type="uml:Comment" xmi:id="AnyReceiveEvent-_ownedComment.0" annotatedElement="AnyReceiveEvent">
          <body>A trigger for an AnyReceiveEvent is triggered by the receipt of any message that is not explicitly handled by any related trigger.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="AnyReceiveEvent-_generalization.0" general="MessageEvent" specific="AnyReceiveEvent"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Behavior" name="Behavior" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-_ownedComment.0" annotatedElement="Behavior">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Behavior-most_one_behavior" name="most_one_behavior" constrainedElement="Behavior" context="Behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-most_one_behavior-_ownedComment.0" annotatedElement="Behavior-most_one_behavior">
            <body>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).</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-most_one_behavior-_specification">
            <language>OCL</language>
            <body>specification &lt;> null implies _'context'.ownedBehavior->select(specification=self.specification)->size() = 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Behavior-parameters_match" name="parameters_match" constrainedElement="Behavior" context="Behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-parameters_match-_ownedComment.0" annotatedElement="Behavior-parameters_match">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-parameters_match-_specification">
            <language>OCL</language>
            <body>specification &lt;> null implies ownedParameter->size() = specification.ownedParameter->size()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Behavior-feature_of_context_classifier" name="feature_of_context_classifier" constrainedElement="Behavior" context="Behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-feature_of_context_classifier-_ownedComment.0" annotatedElement="Behavior-feature_of_context_classifier">
            <body>The specification BehavioralFeature must be a feature (possibly inherited) of the context BehavioredClassifier of the Behavior.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-feature_of_context_classifier-_specification">
            <language>OCL</language>
            <body>_'context'.feature->includes(specification)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Behavior-_generalization.0" general="Class" specific="Behavior"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Behavior-context" name="context" type="BehavioredClassifier" isReadOnly="true" isDerived="true" subsettedProperty="RedefinableElement-redefinitionContext" association="A_context_behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-context-_ownedComment.0" annotatedElement="Behavior-context">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-context-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Behavior-isReentrant" name="isReentrant">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-isReentrant-_ownedComment.0" annotatedElement="Behavior-isReentrant">
            <body>Tells whether the Behavior can be invoked while it is still executing from a previous invocation.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Behavior-isReentrant-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Behavior-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameter_behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-ownedParameter-_ownedComment.0" annotatedElement="Behavior-ownedParameter">
            <body>References a list of Parameters to the Behavior which describes the order and type of arguments that can be given when the Behavior is invoked and of the values which will be returned when the Behavior completes its execution.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-ownedParameter-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-ownedParameter-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Behavior-ownedParameterSet" name="ownedParameterSet" type="ParameterSet" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameterSet_behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-ownedParameterSet-_ownedComment.0" annotatedElement="Behavior-ownedParameterSet">
            <body>The ParameterSets owned by this Behavior.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-ownedParameterSet-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-ownedParameterSet-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Behavior-postcondition" name="postcondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postcondition_behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-postcondition-_ownedComment.0" annotatedElement="Behavior-postcondition">
            <body>An optional set of Constraints specifying what is fulfilled after the execution of the Behavior is completed, if its precondition was fulfilled before its invocation.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-postcondition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-postcondition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Behavior-precondition" name="precondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_precondition_behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-precondition-_ownedComment.0" annotatedElement="Behavior-precondition">
            <body>An optional set of Constraints specifying what must be fulfilled before the Behavior is invoked.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-precondition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-precondition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Behavior-specification" name="specification" type="BehavioralFeature" association="A_method_specification">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-specification-_ownedComment.0" annotatedElement="Behavior-specification">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-specification-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Behavior-redefinedBehavior" name="redefinedBehavior" type="Behavior" subsettedProperty="Classifier-redefinedClassifier" association="A_redefinedBehavior_behavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-redefinedBehavior-_ownedComment.0" annotatedElement="Behavior-redefinedBehavior">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-redefinedBehavior-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-redefinedBehavior-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Behavior-context.1" name="context" bodyCondition="Behavior-context.1-spec" class="Behavior" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-context.1-_ownedComment.0" annotatedElement="Behavior-context.1">
            <body>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. </body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Behavior-context.1-spec" name="spec" constrainedElement="Behavior-context.1 Behavior-context" context="Behavior-context.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-context.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if nestingClass &lt;> null then&#xD;
    null&#xD;
else&#xD;
    let b:BehavioredClassifier = self.behavioredClassifier(self.owner) in&#xD;
    if b.oclIsKindOf(Behavior) and b.oclAsType(Behavior)._'context' &lt;> null then &#xD;
        b.oclAsType(Behavior)._'context'&#xD;
    else &#xD;
        b &#xD;
    endif&#xD;
endif&#xD;
        )</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Behavior-context.1-result" name="result" type="BehavioredClassifier" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-context.1-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Behavior-behavioredClassifier" name="behavioredClassifier" class="Behavior" isQuery="true" bodyCondition="Behavior-behavioredClassifier-spec">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-behavioredClassifier-_ownedComment.0" annotatedElement="Behavior-behavioredClassifier">
            <body>The first BehavioredClassifier reached by following the chain of owner relationships from the Behavior, if any.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Behavior-behavioredClassifier-spec" name="spec" constrainedElement="Behavior-behavioredClassifier" context="Behavior-behavioredClassifier">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-behavioredClassifier-spec-_specification">
              <language>OCL</language>
              <body>result = (if from.oclIsKindOf(BehavioredClassifier) then&#xD;
    from.oclAsType(BehavioredClassifier)&#xD;
else if from.owner = null then&#xD;
    null&#xD;
else&#xD;
    self.behavioredClassifier(from.owner)&#xD;
endif&#xD;
endif)&#xD;
    </body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Behavior-behavioredClassifier-from" name="from" type="Element"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Behavior-behavioredClassifier-result" name="result" type="BehavioredClassifier" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-behavioredClassifier-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Behavior-inputParameters" name="inputParameters" bodyCondition="Behavior-inputParameters-spec" class="Behavior" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-inputParameters-_ownedComment.0" annotatedElement="Behavior-inputParameters">
            <body>The in and inout ownedParameters of the Behavior.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Behavior-inputParameters-spec" name="spec" constrainedElement="Behavior-inputParameters" context="Behavior-inputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-inputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedParameter->select(direction=ParameterDirectionKind::_'in' or direction=ParameterDirectionKind::inout))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Behavior-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-inputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-inputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Behavior-outputParameters" name="outputParameters" bodyCondition="Behavior-outputParameters-spec" class="Behavior" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Behavior-outputParameters-_ownedComment.0" annotatedElement="Behavior-outputParameters">
            <body>The out, inout and return ownedParameters.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Behavior-outputParameters-spec" name="spec" constrainedElement="Behavior-outputParameters" context="Behavior-outputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-outputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedParameter->select(direction=ParameterDirectionKind::out or direction=ParameterDirectionKind::inout or direction=ParameterDirectionKind::return))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Behavior-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-outputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-outputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CallEvent" name="CallEvent">
        <ownedComment xmi:type="uml:Comment" xmi:id="CallEvent-_ownedComment.0" annotatedElement="CallEvent">
          <body>A CallEvent models the receipt by an object of a message invoking a call of an Operation.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="CallEvent-_generalization.0" general="MessageEvent" specific="CallEvent"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CallEvent-operation" name="operation" type="Operation" association="A_operation_callEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallEvent-operation-_ownedComment.0" annotatedElement="CallEvent-operation">
            <body>Designates the Operation whose invocation raised the CalEvent.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ChangeEvent" name="ChangeEvent">
        <ownedComment xmi:type="uml:Comment" xmi:id="ChangeEvent-_ownedComment.0" annotatedElement="ChangeEvent">
          <body>A ChangeEvent models a change in the system configuration that makes a condition true.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ChangeEvent-_generalization.0" general="Event" specific="ChangeEvent"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ChangeEvent-changeExpression" name="changeExpression" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_changeExpression_changeEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="ChangeEvent-changeExpression-_ownedComment.0" annotatedElement="ChangeEvent-changeExpression">
            <body>A Boolean-valued ValueSpecification that will result in a ChangeEvent whenever its value changes from false to true.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Event" name="Event" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Event-_ownedComment.0" annotatedElement="Event">
          <body>An Event is the specification of some occurrence that may potentially trigger effects by an object.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Event-_generalization.0" general="PackageableElement" specific="Event"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="FunctionBehavior" name="FunctionBehavior">
        <ownedComment xmi:type="uml:Comment" xmi:id="FunctionBehavior-_ownedComment.0" annotatedElement="FunctionBehavior">
          <body>A FunctionBehavior is an OpaqueBehavior that does not access or modify any objects or other external data.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FunctionBehavior-one_output_parameter" name="one_output_parameter" constrainedElement="FunctionBehavior" context="FunctionBehavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="FunctionBehavior-one_output_parameter-_ownedComment.0" annotatedElement="FunctionBehavior-one_output_parameter">
            <body>A FunctionBehavior has at least one output Parameter.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FunctionBehavior-one_output_parameter-_specification">
            <language>OCL</language>
            <body>self.ownedParameter->&#xD;
  select(p | p.direction = ParameterDirectionKind::out or p.direction= ParameterDirectionKind::inout or p.direction= ParameterDirectionKind::return)->size() >= 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="FunctionBehavior-types_of_parameters" name="types_of_parameters" constrainedElement="FunctionBehavior" context="FunctionBehavior">
          <ownedComment xmi:type="uml:Comment" xmi:id="FunctionBehavior-types_of_parameters-_ownedComment.0" annotatedElement="FunctionBehavior-types_of_parameters">
            <body>The types of the ownedParameters are all DataTypes, which may not nest anything but other DataTypes.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FunctionBehavior-types_of_parameters-_specification">
            <language>OCL</language>
            <body>ownedParameter->forAll(p | p.type &lt;> null and&#xD;
  p.type.oclIsTypeOf(DataType) and hasAllDataTypeAttributes(p.type.oclAsType(DataType)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="FunctionBehavior-_generalization.0" general="OpaqueBehavior" specific="FunctionBehavior"/>
        <ownedOperation xmi:type="uml:Operation" xmi:id="FunctionBehavior-hasAllDataTypeAttributes" name="hasAllDataTypeAttributes" bodyCondition="FunctionBehavior-hasAllDataTypeAttributes-spec" class="FunctionBehavior" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="FunctionBehavior-hasAllDataTypeAttributes-_ownedComment.0" annotatedElement="FunctionBehavior-hasAllDataTypeAttributes">
            <body>The hasAllDataTypeAttributes query tests whether the types of the attributes of the given DataType are all DataTypes, and similarly for all those DataTypes.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="FunctionBehavior-hasAllDataTypeAttributes-spec" name="spec" constrainedElement="FunctionBehavior-hasAllDataTypeAttributes" context="FunctionBehavior-hasAllDataTypeAttributes">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="FunctionBehavior-hasAllDataTypeAttributes-spec-_specification">
              <language>OCL</language>
              <body>result = (d.ownedAttribute->forAll(a |&#xD;
    a.type.oclIsKindOf(DataType) and&#xD;
      hasAllDataTypeAttributes(a.type.oclAsType(DataType))))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="FunctionBehavior-hasAllDataTypeAttributes-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="FunctionBehavior-hasAllDataTypeAttributes-d" name="d" type="DataType"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="MessageEvent" name="MessageEvent" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="MessageEvent-_ownedComment.0" annotatedElement="MessageEvent">
          <body>A MessageEvent specifies the receipt by an object of either an Operation call or a Signal instance.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="MessageEvent-_generalization.0" general="Event" specific="MessageEvent"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OpaqueBehavior" name="OpaqueBehavior">
        <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueBehavior-_ownedComment.0" annotatedElement="OpaqueBehavior">
          <body>An OpaqueBehavior is a Behavior whose specification is given in a textual language other than UML.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="OpaqueBehavior-_generalization.0" general="Behavior" specific="OpaqueBehavior"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueBehavior-body" name="body" isOrdered="true" isUnique="false">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueBehavior-body-_ownedComment.0" annotatedElement="OpaqueBehavior-body">
            <body>Specifies the behavior in one or more languages.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueBehavior-body-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueBehavior-body-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueBehavior-language" name="language" isOrdered="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueBehavior-language-_ownedComment.0" annotatedElement="OpaqueBehavior-language">
            <body>Languages the body strings use in the same order as the body strings.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueBehavior-language-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueBehavior-language-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="SignalEvent" name="SignalEvent">
        <ownedComment xmi:type="uml:Comment" xmi:id="SignalEvent-_ownedComment.0" annotatedElement="SignalEvent">
          <body>A SignalEvent represents the receipt of an asynchronous Signal instance.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="SignalEvent-_generalization.0" general="MessageEvent" specific="SignalEvent"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="SignalEvent-signal" name="signal" type="Signal" association="A_signal_signalEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="SignalEvent-signal-_ownedComment.0" annotatedElement="SignalEvent-signal">
            <body>The specific Signal that is associated with this SignalEvent.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TimeEvent" name="TimeEvent">
        <ownedComment xmi:type="uml:Comment" xmi:id="TimeEvent-_ownedComment.0" annotatedElement="TimeEvent">
          <body>A TimeEvent is an Event that occurs at a specific point in time.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TimeEvent-when_non_negative" name="when_non_negative" constrainedElement="TimeEvent" context="TimeEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeEvent-when_non_negative-_ownedComment.0" annotatedElement="TimeEvent-when_non_negative">
            <body>The ValueSpecification when must return a non-negative Integer.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TimeEvent-when_non_negative-_specification">
            <language>OCL</language>
            <body>when.integerValue() >= 0</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="TimeEvent-_generalization.0" general="Event" specific="TimeEvent"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeEvent-isRelative" name="isRelative">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeEvent-isRelative-_ownedComment.0" annotatedElement="TimeEvent-isRelative">
            <body>Specifies whether the TimeEvent is specified as an absolute or relative time.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="TimeEvent-isRelative-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TimeEvent-when" name="when" type="TimeExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_when_timeEvent">
          <ownedComment xmi:type="uml:Comment" xmi:id="TimeEvent-when-_ownedComment.0" annotatedElement="TimeEvent-when">
            <body>Specifies the time of the TimeEvent.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Trigger" name="Trigger">
        <ownedComment xmi:type="uml:Comment" xmi:id="Trigger-_ownedComment.0" annotatedElement="Trigger">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Trigger-trigger_with_ports" name="trigger_with_ports" constrainedElement="Trigger" context="Trigger">
          <ownedComment xmi:type="uml:Comment" xmi:id="Trigger-trigger_with_ports-_ownedComment.0" annotatedElement="Trigger-trigger_with_ports">
            <body>If a Trigger specifies one or more ports, the event of the Trigger must be a MessageEvent.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Trigger-trigger_with_ports-_specification">
            <language>OCL</language>
            <body>port->notEmpty() implies event.oclIsKindOf(MessageEvent)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Trigger-_generalization.0" general="NamedElement" specific="Trigger"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Trigger-event" name="event" type="Event" association="A_event_trigger">
          <ownedComment xmi:type="uml:Comment" xmi:id="Trigger-event-_ownedComment.0" annotatedElement="Trigger-event">
            <body>The Event that detected by the Trigger.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Trigger-port" name="port" type="Port" association="A_port_trigger">
          <ownedComment xmi:type="uml:Comment" xmi:id="Trigger-port-_ownedComment.0" annotatedElement="Trigger-port">
            <body>A optional Port of through which the given effect is detected.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Trigger-port-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Trigger-port-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_event_trigger" name="A_event_trigger" memberEnd="Trigger-event A_event_trigger-trigger">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_event_trigger-trigger" name="trigger" type="Trigger" owningAssociation="A_event_trigger" association="A_event_trigger">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_event_trigger-trigger-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_event_trigger-trigger-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_port_trigger" name="A_port_trigger" memberEnd="Trigger-port A_port_trigger-trigger">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_port_trigger-trigger" name="trigger" type="Trigger" owningAssociation="A_port_trigger" association="A_port_trigger">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_port_trigger-trigger-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_port_trigger-trigger-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_when_timeEvent" name="A_when_timeEvent" memberEnd="TimeEvent-when A_when_timeEvent-timeEvent">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_when_timeEvent-timeEvent" name="timeEvent" type="TimeEvent" owningAssociation="A_when_timeEvent" subsettedProperty="Element-owner" association="A_when_timeEvent">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_when_timeEvent-timeEvent-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_signal_signalEvent" name="A_signal_signalEvent" memberEnd="SignalEvent-signal A_signal_signalEvent-signalEvent">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_signal_signalEvent-signalEvent" name="signalEvent" type="SignalEvent" owningAssociation="A_signal_signalEvent" association="A_signal_signalEvent">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signal_signalEvent-signalEvent-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signal_signalEvent-signalEvent-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_changeExpression_changeEvent" name="A_changeExpression_changeEvent" memberEnd="ChangeEvent-changeExpression A_changeExpression_changeEvent-changeEvent">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_changeExpression_changeEvent-changeEvent" name="changeEvent" type="ChangeEvent" owningAssociation="A_changeExpression_changeEvent" subsettedProperty="Element-owner" association="A_changeExpression_changeEvent">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_changeExpression_changeEvent-changeEvent-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_operation_callEvent" name="A_operation_callEvent" memberEnd="CallEvent-operation A_operation_callEvent-callEvent">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_operation_callEvent-callEvent" name="callEvent" type="CallEvent" owningAssociation="A_operation_callEvent" association="A_operation_callEvent">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_operation_callEvent-callEvent-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_operation_callEvent-callEvent-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameterSet_behavior" name="A_ownedParameterSet_behavior" memberEnd="Behavior-ownedParameterSet A_ownedParameterSet_behavior-behavior">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedParameterSet_behavior-behavior" name="behavior" type="Behavior" owningAssociation="A_ownedParameterSet_behavior" subsettedProperty="NamedElement-namespace" association="A_ownedParameterSet_behavior">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameterSet_behavior-behavior-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_context_behavior" name="A_context_behavior" isDerived="true" memberEnd="Behavior-context A_context_behavior-behavior">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_context_behavior-behavior" name="behavior" type="Behavior" owningAssociation="A_context_behavior" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_context_behavior">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_context_behavior-behavior-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_context_behavior-behavior-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_precondition_behavior" name="A_precondition_behavior" memberEnd="Behavior-precondition A_precondition_behavior-behavior">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_precondition_behavior-behavior" name="behavior" type="Behavior" owningAssociation="A_precondition_behavior" subsettedProperty="Constraint-context" association="A_precondition_behavior">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_precondition_behavior-behavior-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_postcondition_behavior" name="A_postcondition_behavior" memberEnd="Behavior-postcondition A_postcondition_behavior-behavior">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_postcondition_behavior-behavior" name="behavior" type="Behavior" owningAssociation="A_postcondition_behavior" subsettedProperty="Constraint-context" association="A_postcondition_behavior">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_postcondition_behavior-behavior-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedBehavior_behavior" name="A_redefinedBehavior_behavior" memberEnd="Behavior-redefinedBehavior A_redefinedBehavior_behavior-behavior">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedBehavior_behavior-behavior" name="behavior" type="Behavior" owningAssociation="A_redefinedBehavior_behavior" subsettedProperty="A_redefinedClassifier_classifier-classifier" association="A_redefinedBehavior_behavior">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedBehavior_behavior-behavior-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedBehavior_behavior-behavior-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameter_behavior" name="A_ownedParameter_behavior" memberEnd="Behavior-ownedParameter A_ownedParameter_behavior-behavior">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedParameter_behavior-behavior" name="behavior" type="Behavior" owningAssociation="A_ownedParameter_behavior" subsettedProperty="NamedElement-namespace" association="A_ownedParameter_behavior">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameter_behavior-behavior-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="Classification" name="Classification">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="CommonStructure" importingNamespace="Classification"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="Deployments" importingNamespace="Classification"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.2" importedPackage="CommonBehavior" importingNamespace="Classification"/>
      <packagedElement xmi:type="uml:Class" xmi:id="Substitution" name="Substitution">
        <ownedComment xmi:type="uml:Comment" xmi:id="Substitution-_ownedComment.0" annotatedElement="Substitution">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Substitution-_generalization.0" general="Realization" specific="Substitution"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Substitution-contract" name="contract" type="Classifier" subsettedProperty="Dependency-supplier" association="A_contract_substitution">
          <ownedComment xmi:type="uml:Comment" xmi:id="Substitution-contract-_ownedComment.0" annotatedElement="Substitution-contract">
            <body>The contract with which the substituting classifier complies.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Substitution-substitutingClassifier" name="substitutingClassifier" type="Classifier" subsettedProperty="Dependency-client Element-owner" association="A_substitution_substitutingClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Substitution-substitutingClassifier-_ownedComment.0" annotatedElement="Substitution-substitutingClassifier">
            <body>Instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="BehavioralFeature" name="BehavioralFeature" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-_ownedComment.0" annotatedElement="BehavioralFeature">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="BehavioralFeature-abstract_no_method" name="abstract_no_method" constrainedElement="BehavioralFeature" context="BehavioralFeature">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-abstract_no_method-_ownedComment.0" annotatedElement="BehavioralFeature-abstract_no_method">
            <body>When isAbstract is true there are no methods.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioralFeature-abstract_no_method-_specification">
            <language>OCL</language>
            <body>isAbstract implies method->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="BehavioralFeature-_generalization.0" general="Feature" specific="BehavioralFeature"/>
        <generalization xmi:type="uml:Generalization" xmi:id="BehavioralFeature-_generalization.1" general="Namespace" specific="BehavioralFeature"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioralFeature-concurrency" name="concurrency" type="CallConcurrencyKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-concurrency-_ownedComment.0" annotatedElement="BehavioralFeature-concurrency">
            <body>Specifies the semantics of concurrent calls to the same passive instance (i.e., an instance originating from a Class with isActive being false). Active instances control access to their own BehavioralFeatures.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="BehavioralFeature-concurrency-_defaultValue" type="CallConcurrencyKind" instance="CallConcurrencyKind-sequential"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioralFeature-isAbstract" name="isAbstract">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-isAbstract-_ownedComment.0" annotatedElement="BehavioralFeature-isAbstract">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="BehavioralFeature-isAbstract-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioralFeature-method" name="method" type="Behavior" association="A_method_specification">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-method-_ownedComment.0" annotatedElement="BehavioralFeature-method">
            <body>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).</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-method-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-method-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioralFeature-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameter_ownerFormalParam">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-ownedParameter-_ownedComment.0" annotatedElement="BehavioralFeature-ownedParameter">
            <body>The ordered set of formal Parameters of this BehavioralFeature.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-ownedParameter-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-ownedParameter-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioralFeature-ownedParameterSet" name="ownedParameterSet" type="ParameterSet" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameterSet_behavioralFeature">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-ownedParameterSet-_ownedComment.0" annotatedElement="BehavioralFeature-ownedParameterSet">
            <body>The ParameterSets owned by this BehavioralFeature.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-ownedParameterSet-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-ownedParameterSet-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BehavioralFeature-raisedException" name="raisedException" type="Type" association="A_raisedException_behavioralFeature">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-raisedException-_ownedComment.0" annotatedElement="BehavioralFeature-raisedException">
            <body>The Types representing exceptions that may be raised during an invocation of this BehavioralFeature.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-raisedException-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-raisedException-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="BehavioralFeature-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="BehavioralFeature-isDistinguishableFrom-spec" class="BehavioralFeature" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-isDistinguishableFrom-_ownedComment.0" annotatedElement="BehavioralFeature-isDistinguishableFrom">
            <body>The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they must have different signatures.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="BehavioralFeature-isDistinguishableFrom-spec" name="spec" constrainedElement="BehavioralFeature-isDistinguishableFrom" context="BehavioralFeature-isDistinguishableFrom">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioralFeature-isDistinguishableFrom-spec-_specification">
              <language>OCL</language>
              <body>result = ((n.oclIsKindOf(BehavioralFeature) and ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()) implies
  Set{self}->including(n.oclAsType(BehavioralFeature))->isUnique(ownedParameter->collect(p|
  Tuple { name=p.name, type=p.type,effect=p.effect,direction=p.direction,isException=p.isException,
              isStream=p.isStream,isOrdered=p.isOrdered,isUnique=p.isUnique,lower=p.lower, upper=p.upper }))
  )</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="BehavioralFeature-isDistinguishableFrom-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="BehavioralFeature-isDistinguishableFrom-n" name="n" type="NamedElement"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="BehavioralFeature-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="BehavioralFeature-inputParameters" name="inputParameters" bodyCondition="BehavioralFeature-inputParameters-spec" class="BehavioralFeature" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-inputParameters-_ownedComment.0" annotatedElement="BehavioralFeature-inputParameters">
            <body>The ownedParameters with direction in and inout.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="BehavioralFeature-inputParameters-spec" name="spec" constrainedElement="BehavioralFeature-inputParameters" context="BehavioralFeature-inputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioralFeature-inputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedParameter->select(direction=ParameterDirectionKind::_'in' or direction=ParameterDirectionKind::inout))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="BehavioralFeature-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-inputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-inputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="BehavioralFeature-outputParameters" name="outputParameters" bodyCondition="BehavioralFeature-outputParameters-spec" class="BehavioralFeature" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="BehavioralFeature-outputParameters-_ownedComment.0" annotatedElement="BehavioralFeature-outputParameters">
            <body>The ownedParameters with direction out, inout, or return.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="BehavioralFeature-outputParameters-spec" name="spec" constrainedElement="BehavioralFeature-outputParameters" context="BehavioralFeature-outputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioralFeature-outputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedParameter->select(direction=ParameterDirectionKind::out or direction=ParameterDirectionKind::inout or direction=ParameterDirectionKind::return))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="BehavioralFeature-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-outputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-outputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Classifier" name="Classifier" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-_ownedComment.0" annotatedElement="Classifier">
          <body>A Classifier represents a classification of instances according to their Features.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-specialize_type" name="specialize_type" constrainedElement="Classifier" context="Classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-specialize_type-_ownedComment.0" annotatedElement="Classifier-specialize_type">
            <body>A Classifier may only specialize Classifiers of a valid type.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-specialize_type-_specification">
            <language>OCL</language>
            <body>parents()->forAll(c | self.maySpecializeType(c))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-maps_to_generalization_set" name="maps_to_generalization_set" constrainedElement="Classifier" context="Classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-maps_to_generalization_set-_ownedComment.0" annotatedElement="Classifier-maps_to_generalization_set">
            <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances also be its subclasses.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-maps_to_generalization_set-_specification">
            <language>OCL</language>
            <body>powertypeExtent->forAll( gs | &#xD;
  gs.generalization->forAll( gen | &#xD;
    not (gen.general = self) and not gen.general.allParents()->includes(self) and not (gen.specific = self) and not self.allParents()->includes(gen.specific) &#xD;
  ))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-non_final_parents" name="non_final_parents" constrainedElement="Classifier" context="Classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-non_final_parents-_ownedComment.0" annotatedElement="Classifier-non_final_parents">
            <body>The parents of a Classifier must be non-final.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-non_final_parents-_specification">
            <language>OCL</language>
            <body>parents()->forAll(not isFinalSpecialization)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-no_cycles_in_generalization" name="no_cycles_in_generalization" constrainedElement="Classifier" context="Classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-no_cycles_in_generalization-_ownedComment.0" annotatedElement="Classifier-no_cycles_in_generalization">
            <body>Generalization hierarchies must be directed and acyclical. A Classifier can not be both a transitively general and transitively specific Classifier of the same Classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-no_cycles_in_generalization-_specification">
            <language>OCL</language>
            <body>not allParents()->includes(self)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Classifier-_generalization.3" general="Namespace" specific="Classifier"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Classifier-_generalization.0" general="Type" specific="Classifier"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Classifier-_generalization.2" general="TemplateableElement" specific="Classifier"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Classifier-_generalization.1" general="RedefinableElement" specific="Classifier"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-attribute" name="attribute" type="Property" isOrdered="true" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature" association="A_attribute_classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-attribute-_ownedComment.0" annotatedElement="Classifier-attribute">
            <body>All of the Properties that are direct (i.e., not inherited or imported) attributes of the Classifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-attribute-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-attribute-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-collaborationUse" name="collaborationUse" type="CollaborationUse" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_collaborationUse_classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-collaborationUse-_ownedComment.0" annotatedElement="Classifier-collaborationUse">
            <body>The CollaborationUses owned by the Classifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-collaborationUse-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-collaborationUse-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-feature" name="feature" type="Feature" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Namespace-member" association="A_feature_featuringClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-feature-_ownedComment.0" annotatedElement="Classifier-feature">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-feature-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-feature-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-general" name="general" type="Classifier" isDerived="true" association="A_general_classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-general-_ownedComment.0" annotatedElement="Classifier-general">
            <body>The generalizing Classifiers for this Classifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-general-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-general-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-generalization" name="generalization" type="Generalization" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_generalization_specific">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-generalization-_ownedComment.0" annotatedElement="Classifier-generalization">
            <body>The Generalization relationships for this Classifier. These Generalizations navigate to more general Classifiers in the generalization hierarchy.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-generalization-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-generalization-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-inheritedMember" name="inheritedMember" type="NamedElement" isReadOnly="true" isDerived="true" subsettedProperty="Namespace-member" association="A_inheritedMember_inheritingClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-inheritedMember-_ownedComment.0" annotatedElement="Classifier-inheritedMember">
            <body>All elements inherited by this Classifier from its general Classifiers.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inheritedMember-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inheritedMember-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-isAbstract" name="isAbstract">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-isAbstract-_ownedComment.0" annotatedElement="Classifier-isAbstract">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Classifier-isAbstract-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-isFinalSpecialization" name="isFinalSpecialization">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-isFinalSpecialization-_ownedComment.0" annotatedElement="Classifier-isFinalSpecialization">
            <body>If true, the Classifier cannot be specialized.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Classifier-isFinalSpecialization-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-ownedTemplateSignature" name="ownedTemplateSignature" type="RedefinableTemplateSignature" aggregation="composite" redefinedProperty="TemplateableElement-ownedTemplateSignature" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_ownedTemplateSignature_classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-ownedTemplateSignature-_ownedComment.0" annotatedElement="Classifier-ownedTemplateSignature">
            <body>The optional RedefinableTemplateSignature specifying the formal template parameters.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-ownedTemplateSignature-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-ownedUseCase" name="ownedUseCase" type="UseCase" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedUseCase_classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-ownedUseCase-_ownedComment.0" annotatedElement="Classifier-ownedUseCase">
            <body>The UseCases owned by this classifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-ownedUseCase-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-ownedUseCase-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-powertypeExtent" name="powertypeExtent" type="GeneralizationSet" association="A_powertypeExtent_powertype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-powertypeExtent-_ownedComment.0" annotatedElement="Classifier-powertypeExtent">
            <body>The GeneralizationSet of which this Classifier is a power type.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-powertypeExtent-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-powertypeExtent-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-redefinedClassifier" name="redefinedClassifier" type="Classifier" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedClassifier_classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-redefinedClassifier-_ownedComment.0" annotatedElement="Classifier-redefinedClassifier">
            <body>The Classifiers redefined by this Classifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-redefinedClassifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-redefinedClassifier-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-representation" name="representation" type="CollaborationUse" subsettedProperty="Classifier-collaborationUse" association="A_representation_classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-representation-_ownedComment.0" annotatedElement="Classifier-representation">
            <body>A CollaborationUse which indicates the Collaboration that represents this Classifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-representation-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-substitution" name="substitution" type="Substitution" aggregation="composite" subsettedProperty="Element-ownedElement NamedElement-clientDependency" association="A_substitution_substitutingClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-substitution-_ownedComment.0" annotatedElement="Classifier-substitution">
            <body>The Substitutions owned by this Classifier.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-substitution-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-substitution-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-templateParameter" name="templateParameter" type="ClassifierTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_classifier_templateParameter_parameteredElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-templateParameter-_ownedComment.0" annotatedElement="Classifier-templateParameter">
            <body>TheClassifierTemplateParameter that exposes this element as a formal parameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-templateParameter-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Classifier-useCase" name="useCase" type="UseCase" association="A_subject_useCase">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-useCase-_ownedComment.0" annotatedElement="Classifier-useCase">
            <body>The set of UseCases for which this Classifier is the subject.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-useCase-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-useCase-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-allFeatures" name="allFeatures" bodyCondition="Classifier-allFeatures-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-allFeatures-_ownedComment.0" annotatedElement="Classifier-allFeatures">
            <body>The query allFeatures() gives all of the Features in the namespace of the Classifier. In general, through mechanisms such as inheritance, this will be a larger set than feature.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-allFeatures-spec" name="spec" constrainedElement="Classifier-allFeatures" context="Classifier-allFeatures">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allFeatures-spec-_specification">
              <language>OCL</language>
              <body>result = (member->select(oclIsKindOf(Feature))->collect(oclAsType(Feature))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-allFeatures-result" name="result" type="Feature" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allFeatures-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allFeatures-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-allParents" name="allParents" bodyCondition="Classifier-allParents-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-allParents-_ownedComment.0" annotatedElement="Classifier-allParents">
            <body>The query allParents() gives all of the direct and indirect ancestors of a generalized Classifier.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-allParents-spec" name="spec" constrainedElement="Classifier-allParents" context="Classifier-allParents">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allParents-spec-_specification">
              <language>OCL</language>
              <body>result = (parents()->union(parents()->collect(allParents())->asSet()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-allParents-result" name="result" type="Classifier" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allParents-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allParents-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-conformsTo" name="conformsTo" bodyCondition="Classifier-conformsTo-spec" class="Classifier" isQuery="true" redefinedOperation="Type-conformsTo">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-conformsTo-_ownedComment.0" annotatedElement="Classifier-conformsTo">
            <body>The query conformsTo() gives true for a Classifier that defines a type that conforms to another. This is used, for example, in the specification of signature conformance for operations.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-conformsTo-spec" name="spec" constrainedElement="Classifier-conformsTo" context="Classifier-conformsTo">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-conformsTo-spec-_specification">
              <language>OCL</language>
              <body>result = (if other.oclIsKindOf(Classifier) then&#xD;
  let otherClassifier : Classifier = other.oclAsType(Classifier) in&#xD;
    self = otherClassifier or allParents()->includes(otherClassifier)&#xD;
else&#xD;
  false&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-conformsTo-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-conformsTo-other" name="other" type="Type"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-general.1" name="general" bodyCondition="Classifier-general.1-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-general.1-_ownedComment.0" annotatedElement="Classifier-general.1">
            <body>The general Classifiers are the ones referenced by the Generalization relationships.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-general.1-spec" name="spec" constrainedElement="Classifier-general.1 Classifier-general" context="Classifier-general.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-general.1-spec-_specification">
              <language>OCL</language>
              <body>result = (parents())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-general.1-result" name="result" type="Classifier" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-general.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-general.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-hasVisibilityOf" name="hasVisibilityOf" bodyCondition="Classifier-hasVisibilityOf-spec" class="Classifier" isQuery="true" precondition="Classifier-hasVisibilityOf-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-hasVisibilityOf-_ownedComment.0" annotatedElement="Classifier-hasVisibilityOf">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-hasVisibilityOf-pre" name="pre" constrainedElement="Classifier-hasVisibilityOf" context="Classifier-hasVisibilityOf">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-hasVisibilityOf-pre-_specification">
              <language>OCL</language>
              <body>allParents()->including(self)->collect(member)->includes(n)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-hasVisibilityOf-spec" name="spec" constrainedElement="Classifier-hasVisibilityOf" context="Classifier-hasVisibilityOf">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-hasVisibilityOf-spec-_specification">
              <language>OCL</language>
              <body>result = (n.visibility &lt;> VisibilityKind::private)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-hasVisibilityOf-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-hasVisibilityOf-n" name="n" type="NamedElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-inherit" name="inherit" bodyCondition="Classifier-inherit-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-inherit-_ownedComment.0" annotatedElement="Classifier-inherit">
            <body>The query inherit() defines how to inherit a set of elements passed as its argument.  It excludes redefined elements from the result.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-inherit-spec" name="spec" constrainedElement="Classifier-inherit" context="Classifier-inherit">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-inherit-spec-_specification">
              <language>OCL</language>
              <body>result = (inhs->reject(inh |&#xD;
  inh.oclIsKindOf(RedefinableElement) and&#xD;
  ownedMember->select(oclIsKindOf(RedefinableElement))->&#xD;
    select(redefinedElement->includes(inh.oclAsType(RedefinableElement)))&#xD;
       ->notEmpty()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-inherit-result" name="result" type="NamedElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inherit-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inherit-result-_upperValue" value="*"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-inherit-inhs" name="inhs" type="NamedElement">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inherit-inhs-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inherit-inhs-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-inheritableMembers" name="inheritableMembers" bodyCondition="Classifier-inheritableMembers-spec" class="Classifier" isQuery="true" precondition="Classifier-inheritableMembers-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-inheritableMembers-_ownedComment.0" annotatedElement="Classifier-inheritableMembers">
            <body>The query inheritableMembers() gives all of the members of a Classifier that may be inherited in one of its descendants, subject to whatever visibility restrictions apply.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-inheritableMembers-pre" name="pre" constrainedElement="Classifier-inheritableMembers" context="Classifier-inheritableMembers">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-inheritableMembers-pre-_specification">
              <language>OCL</language>
              <body>c.allParents()->includes(self)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-inheritableMembers-spec" name="spec" constrainedElement="Classifier-inheritableMembers" context="Classifier-inheritableMembers">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-inheritableMembers-spec-_specification">
              <language>OCL</language>
              <body>result = (member->select(m | c.hasVisibilityOf(m)))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-inheritableMembers-result" name="result" type="NamedElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inheritableMembers-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inheritableMembers-result-_upperValue" value="*"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-inheritableMembers-c" name="c" type="Classifier"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-inheritedMember.1" name="inheritedMember" bodyCondition="Classifier-inheritedMember.1-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-inheritedMember.1-_ownedComment.0" annotatedElement="Classifier-inheritedMember.1">
            <body>The inheritedMember association is derived by inheriting the inheritable members of the parents.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-inheritedMember.1-spec" name="spec" constrainedElement="Classifier-inheritedMember.1 Classifier-inheritedMember" context="Classifier-inheritedMember.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-inheritedMember.1-spec-_specification">
              <language>OCL</language>
              <body>result = (inherit(parents()->collect(inheritableMembers(self))->asSet()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-inheritedMember.1-result" name="result" type="NamedElement" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inheritedMember.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inheritedMember.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-isTemplate" name="isTemplate" bodyCondition="Classifier-isTemplate-spec" class="Classifier" isQuery="true" redefinedOperation="TemplateableElement-isTemplate">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-isTemplate-_ownedComment.0" annotatedElement="Classifier-isTemplate">
            <body>The query isTemplate() returns whether this Classifier is actually a template.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-isTemplate-spec" name="spec" constrainedElement="Classifier-isTemplate" context="Classifier-isTemplate">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-isTemplate-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedTemplateSignature &lt;> null or general->exists(g | g.isTemplate()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-isTemplate-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-maySpecializeType" name="maySpecializeType" bodyCondition="Classifier-maySpecializeType-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-maySpecializeType-_ownedComment.0" annotatedElement="Classifier-maySpecializeType">
            <body>The query maySpecializeType() determines whether this classifier may have a generalization relationship to classifiers of the specified type. By default a classifier may specialize classifiers of the same or a more general type. It is intended to be redefined by classifiers that have different specialization constraints.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-maySpecializeType-spec" name="spec" constrainedElement="Classifier-maySpecializeType" context="Classifier-maySpecializeType">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-maySpecializeType-spec-_specification">
              <language>OCL</language>
              <body>result = (self.oclIsKindOf(c.oclType()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-maySpecializeType-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-maySpecializeType-c" name="c" type="Classifier"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-parents" name="parents" bodyCondition="Classifier-parents-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-parents-_ownedComment.0" annotatedElement="Classifier-parents">
            <body>The query parents() gives all of the immediate ancestors of a generalized Classifier.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-parents-spec" name="spec" constrainedElement="Classifier-parents" context="Classifier-parents">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-parents-spec-_specification">
              <language>OCL</language>
              <body>result = (generalization.general->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-parents-result" name="result" type="Classifier" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-parents-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-parents-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-directlyRealizedInterfaces" name="directlyRealizedInterfaces" bodyCondition="Classifier-directlyRealizedInterfaces-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-directlyRealizedInterfaces-_ownedComment.0" annotatedElement="Classifier-directlyRealizedInterfaces">
            <body>The Interfaces directly realized by this Classifier</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-directlyRealizedInterfaces-spec" name="spec" constrainedElement="Classifier-directlyRealizedInterfaces" context="Classifier-directlyRealizedInterfaces">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-directlyRealizedInterfaces-spec-_specification">
              <language>OCL</language>
              <body>result = ((clientDependency->&#xD;
  select(oclIsKindOf(Realization) and supplier->forAll(oclIsKindOf(Interface))))->&#xD;
      collect(supplier.oclAsType(Interface))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-directlyRealizedInterfaces-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-directlyRealizedInterfaces-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-directlyRealizedInterfaces-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-directlyUsedInterfaces" name="directlyUsedInterfaces" bodyCondition="Classifier-directlyUsedInterfaces-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-directlyUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-directlyUsedInterfaces">
            <body>The Interfaces directly used by this Classifier</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-directlyUsedInterfaces-spec" name="spec" constrainedElement="Classifier-directlyUsedInterfaces" context="Classifier-directlyUsedInterfaces">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-directlyUsedInterfaces-spec-_specification">
              <language>OCL</language>
              <body>result = ((supplierDependency->&#xD;
  select(oclIsKindOf(Usage) and client->forAll(oclIsKindOf(Interface))))->&#xD;
    collect(client.oclAsType(Interface))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-directlyUsedInterfaces-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-directlyUsedInterfaces-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-directlyUsedInterfaces-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-allRealizedInterfaces" name="allRealizedInterfaces" bodyCondition="Classifier-allRealizedInterfaces-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-allRealizedInterfaces-_ownedComment.0" annotatedElement="Classifier-allRealizedInterfaces">
            <body>The Interfaces realized by this Classifier and all of its generalizations</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-allRealizedInterfaces-spec" name="spec" constrainedElement="Classifier-allRealizedInterfaces" context="Classifier-allRealizedInterfaces">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allRealizedInterfaces-spec-_specification">
              <language>OCL</language>
              <body>result = (directlyRealizedInterfaces()->union(self.allParents()->collect(directlyRealizedInterfaces()))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-allRealizedInterfaces-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allRealizedInterfaces-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allRealizedInterfaces-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-allUsedInterfaces" name="allUsedInterfaces" bodyCondition="Classifier-allUsedInterfaces-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-allUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-allUsedInterfaces">
            <body>The Interfaces used by this Classifier and all of its generalizations</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-allUsedInterfaces-spec" name="spec" constrainedElement="Classifier-allUsedInterfaces" context="Classifier-allUsedInterfaces">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allUsedInterfaces-spec-_specification">
              <language>OCL</language>
              <body>result = (directlyUsedInterfaces()->union(self.allParents()->collect(directlyUsedInterfaces()))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-allUsedInterfaces-result" name="result" type="Interface" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allUsedInterfaces-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allUsedInterfaces-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-isSubstitutableFor" name="isSubstitutableFor" bodyCondition="Classifier-isSubstitutableFor-spec" class="Classifier" isQuery="true">
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-isSubstitutableFor-spec" name="spec" constrainedElement="Classifier-isSubstitutableFor" context="Classifier-isSubstitutableFor">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-isSubstitutableFor-spec-_specification">
              <language>OCL</language>
              <body>result = (substitution.contract->includes(contract))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-isSubstitutableFor-contract" name="contract" type="Classifier"/>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-isSubstitutableFor-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-allAttributes" name="allAttributes" bodyCondition="Classifier-allAttributes-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-allAttributes-_ownedComment.0" annotatedElement="Classifier-allAttributes">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-allAttributes-spec" name="spec" constrainedElement="Classifier-allAttributes" context="Classifier-allAttributes">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allAttributes-spec-_specification">
              <language>OCL</language>
              <body>result = (attribute->asSequence()->union(parents()->asSequence().allAttributes())->select(p | member->includes(p))->asOrderedSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-allAttributes-result" name="result" type="Property" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allAttributes-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allAttributes-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Classifier-allSlottableFeatures" name="allSlottableFeatures" bodyCondition="Classifier-allSlottableFeatures-spec" class="Classifier" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Classifier-allSlottableFeatures-_ownedComment.0" annotatedElement="Classifier-allSlottableFeatures">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Classifier-allSlottableFeatures-spec" name="spec" constrainedElement="Classifier-allSlottableFeatures" context="Classifier-allSlottableFeatures">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allSlottableFeatures-spec-_specification">
              <language>OCL</language>
              <body>result = (member->select(oclIsKindOf(StructuralFeature))->&#xD;
  collect(oclAsType(StructuralFeature))->&#xD;
   union(self.inherit(self.allParents()->collect(p | p.attribute)->asSet())->&#xD;
     collect(oclAsType(StructuralFeature)))->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Classifier-allSlottableFeatures-result" name="result" type="StructuralFeature" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allSlottableFeatures-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allSlottableFeatures-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ClassifierTemplateParameter" name="ClassifierTemplateParameter">
        <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-_ownedComment.0" annotatedElement="ClassifierTemplateParameter">
          <body>A ClassifierTemplateParameter exposes a Classifier as a formal template parameter.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClassifierTemplateParameter-has_constraining_classifier" name="has_constraining_classifier" constrainedElement="ClassifierTemplateParameter" context="ClassifierTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-has_constraining_classifier-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-has_constraining_classifier">
            <body>If allowSubstitutable is true, then there must be a constrainingClassifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-has_constraining_classifier-_specification">
            <language>OCL</language>
            <body>allowSubstitutable implies constrainingClassifier->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClassifierTemplateParameter-parametered_element_no_features" name="parametered_element_no_features" constrainedElement="ClassifierTemplateParameter" context="ClassifierTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-parametered_element_no_features-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-parametered_element_no_features">
            <body>The parameteredElement has no direct features, and if constrainedElement is empty it has no generalizations.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-parametered_element_no_features-_specification">
            <language>OCL</language>
            <body>parameteredElement.feature->isEmpty() and (constrainingClassifier->isEmpty() implies  parameteredElement.allParents()->isEmpty())</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClassifierTemplateParameter-matching_abstract" name="matching_abstract" constrainedElement="ClassifierTemplateParameter" context="ClassifierTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-matching_abstract-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-matching_abstract">
            <body>If the parameteredElement is not abstract, then the Classifier used as an argument shall not be abstract.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-matching_abstract-_specification">
            <language>OCL</language>
            <body>(not parameteredElement.isAbstract) implies templateParameterSubstitution.actual->forAll(a | not a.oclAsType(Classifier).isAbstract)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClassifierTemplateParameter-actual_is_classifier" name="actual_is_classifier" constrainedElement="ClassifierTemplateParameter" context="ClassifierTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-actual_is_classifier-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-actual_is_classifier">
            <body>The argument to a ClassifierTemplateParameter is a Classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-actual_is_classifier-_specification">
            <language>OCL</language>
            <body> templateParameterSubstitution.actual->forAll(a | a.oclIsKindOf(Classifier))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_args" name="constraining_classifiers_constrain_args" constrainedElement="ClassifierTemplateParameter" context="ClassifierTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_args-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-constraining_classifiers_constrain_args">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_args-_specification">
            <language>OCL</language>
            <body>templateParameterSubstitution.actual->forAll( a |&#xD;
  let arg : Classifier = a.oclAsType(Classifier) in&#xD;
    constrainingClassifier->forAll(&#xD;
      cc |  &#xD;
         arg = cc or arg.conformsTo(cc) or (allowSubstitutable and arg.isSubstitutableFor(cc))&#xD;
      )&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element" name="constraining_classifiers_constrain_parametered_element" constrainedElement="ClassifierTemplateParameter" context="ClassifierTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element-_specification">
            <language>OCL</language>
            <body>constrainingClassifier->forAll(&#xD;
     cc |  parameteredElement = cc or parameteredElement.conformsTo(cc) or (allowSubstitutable and parameteredElement.isSubstitutableFor(cc))&#xD;
)&#xD;
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ClassifierTemplateParameter-_generalization.0" general="TemplateParameter" specific="ClassifierTemplateParameter"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ClassifierTemplateParameter-allowSubstitutable" name="allowSubstitutable">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-allowSubstitutable-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-allowSubstitutable">
            <body>Constrains the required relationship between an actual parameter and the parameteredElement for this formal parameter.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ClassifierTemplateParameter-allowSubstitutable-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ClassifierTemplateParameter-constrainingClassifier" name="constrainingClassifier" type="Classifier" association="A_constrainingClassifier_classifierTemplateParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-constrainingClassifier-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-constrainingClassifier">
            <body>The classifiers that constrain the argument that can be used for the parameter. If the allowSubstitutable attribute is true, then any Classifier that is compatible with this constraining Classifier can be substituted; otherwise, it must be either this Classifier or one of its specializations. If this property is empty, there are no constraints on the Classifier that can be used as an argument.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ClassifierTemplateParameter-constrainingClassifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ClassifierTemplateParameter-constrainingClassifier-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ClassifierTemplateParameter-parameteredElement" name="parameteredElement" type="Classifier" redefinedProperty="TemplateParameter-parameteredElement" association="A_classifier_templateParameter_parameteredElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClassifierTemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-parameteredElement">
            <body>The Classifier exposed by this ClassifierTemplateParameter.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Feature" name="Feature" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Feature-_ownedComment.0" annotatedElement="Feature">
          <body>A Feature declares a behavioral or structural characteristic of Classifiers.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Feature-_generalization.0" general="RedefinableElement" specific="Feature"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Feature-featuringClassifier" name="featuringClassifier" type="Classifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_feature_featuringClassifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="Feature-featuringClassifier-_ownedComment.0" annotatedElement="Feature-featuringClassifier">
            <body>The Classifiers that have this Feature as a feature.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Feature-featuringClassifier-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Feature-isStatic" name="isStatic">
          <ownedComment xmi:type="uml:Comment" xmi:id="Feature-isStatic-_ownedComment.0" annotatedElement="Feature-isStatic">
            <body>Specifies whether this Feature characterizes individual instances classified by the Classifier (false) or the Classifier itself (true).</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Feature-isStatic-_defaultValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Generalization" name="Generalization">
        <ownedComment xmi:type="uml:Comment" xmi:id="Generalization-_ownedComment.0" annotatedElement="Generalization">
          <body>A Generalization is a taxonomic relationship between a more general Classifier and a more specific Classifier. Each instance of the specific Classifier is also an instance of the general Classifier. The specific Classifier inherits the features of the more general Classifier. A Generalization is owned by the specific Classifier.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Generalization-_generalization.0" general="DirectedRelationship" specific="Generalization"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Generalization-general" name="general" type="Classifier" subsettedProperty="DirectedRelationship-target" association="A_general_generalization">
          <ownedComment xmi:type="uml:Comment" xmi:id="Generalization-general-_ownedComment.0" annotatedElement="Generalization-general">
            <body>The general classifier in the Generalization relationship.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Generalization-generalizationSet" name="generalizationSet" type="GeneralizationSet" association="A_generalizationSet_generalization">
          <ownedComment xmi:type="uml:Comment" xmi:id="Generalization-generalizationSet-_ownedComment.0" annotatedElement="Generalization-generalizationSet">
            <body>Represents a set of instances of Generalization.  A Generalization may appear in many GeneralizationSets.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Generalization-generalizationSet-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Generalization-generalizationSet-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Generalization-isSubstitutable" name="isSubstitutable">
          <ownedComment xmi:type="uml:Comment" xmi:id="Generalization-isSubstitutable-_ownedComment.0" annotatedElement="Generalization-isSubstitutable">
            <body>Indicates whether the specific Classifier can be used wherever the general Classifier can be used. If true, the execution traces of the specific Classifier 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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Generalization-isSubstitutable-_lowerValue"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Generalization-isSubstitutable-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Generalization-specific" name="specific" type="Classifier" subsettedProperty="DirectedRelationship-source Element-owner" association="A_generalization_specific">
          <ownedComment xmi:type="uml:Comment" xmi:id="Generalization-specific-_ownedComment.0" annotatedElement="Generalization-specific">
            <body>The specializing Classifier in the Generalization relationship.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="GeneralizationSet" name="GeneralizationSet">
        <ownedComment xmi:type="uml:Comment" xmi:id="GeneralizationSet-_ownedComment.0" annotatedElement="GeneralizationSet">
          <body>A GeneralizationSet is a PackageableElement whose instances represent sets of Generalization relationships.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="GeneralizationSet-generalization_same_classifier" name="generalization_same_classifier" constrainedElement="GeneralizationSet" context="GeneralizationSet">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralizationSet-generalization_same_classifier-_ownedComment.0" annotatedElement="GeneralizationSet-generalization_same_classifier">
            <body>Every Generalization associated with a particular GeneralizationSet must have the same general Classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="GeneralizationSet-generalization_same_classifier-_specification">
            <language>OCL</language>
            <body>generalization->collect(general)->asSet()->size() &lt;= 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="GeneralizationSet-maps_to_generalization_set" name="maps_to_generalization_set" constrainedElement="GeneralizationSet" context="GeneralizationSet">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralizationSet-maps_to_generalization_set-_ownedComment.0" annotatedElement="GeneralizationSet-maps_to_generalization_set">
            <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="GeneralizationSet-maps_to_generalization_set-_specification">
            <language>OCL</language>
            <body>powertype &lt;> null implies generalization->forAll( gen | &#xD;
    not (gen.general = powertype) and not gen.general.allParents()->includes(powertype) and not (gen.specific = powertype) and not powertype.allParents()->includes(gen.specific)&#xD;
  )</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="GeneralizationSet-_generalization.0" general="PackageableElement" specific="GeneralizationSet"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="GeneralizationSet-generalization" name="generalization" type="Generalization" association="A_generalizationSet_generalization">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralizationSet-generalization-_ownedComment.0" annotatedElement="GeneralizationSet-generalization">
            <body>Designates the instances of Generalization that are members of this GeneralizationSet.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="GeneralizationSet-generalization-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="GeneralizationSet-generalization-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="GeneralizationSet-isCovering" name="isCovering">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralizationSet-isCovering-_ownedComment.0" annotatedElement="GeneralizationSet-isCovering">
            <body>Indicates (via the associated Generalizations) whether or not the set of specific Classifiers are covering for a particular general classifier. When isCovering is true, every instance of a particular general Classifier is also an instance of at least one of its specific Classifiers for the GeneralizationSet. When isCovering is false, there are one or more instances of the particular general Classifier that are not instances of at least one of its specific Classifiers defined for the GeneralizationSet.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="GeneralizationSet-isCovering-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="GeneralizationSet-isDisjoint" name="isDisjoint">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralizationSet-isDisjoint-_ownedComment.0" annotatedElement="GeneralizationSet-isDisjoint">
            <body>Indicates whether or not the set of specific Classifiers in a Generalization relationship have instance in common. If isDisjoint is true, the specific Classifiers for a particular GeneralizationSet have no members in common; that is, their intersection is empty. If isDisjoint is false, the specific Classifiers in a particular GeneralizationSet have one or more members in common; that is, their intersection is not empty.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="GeneralizationSet-isDisjoint-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="GeneralizationSet-powertype" name="powertype" type="Classifier" association="A_powertypeExtent_powertype">
          <ownedComment xmi:type="uml:Comment" xmi:id="GeneralizationSet-powertype-_ownedComment.0" annotatedElement="GeneralizationSet-powertype">
            <body>Designates the Classifier that is defined as the power type for the associated GeneralizationSet, if there is one.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="GeneralizationSet-powertype-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InstanceSpecification" name="InstanceSpecification">
        <ownedComment xmi:type="uml:Comment" xmi:id="InstanceSpecification-_ownedComment.0" annotatedElement="InstanceSpecification">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InstanceSpecification-deployment_artifact" name="deployment_artifact" constrainedElement="InstanceSpecification" context="InstanceSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="InstanceSpecification-deployment_artifact-_ownedComment.0" annotatedElement="InstanceSpecification-deployment_artifact">
            <body>An InstanceSpecification can act as a DeployedArtifact if it represents an instance of an Artifact.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InstanceSpecification-deployment_artifact-_specification">
            <language>OCL</language>
            <body>deploymentForArtifact->notEmpty() implies classifier->exists(oclIsKindOf(Artifact))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InstanceSpecification-structural_feature" name="structural_feature" constrainedElement="InstanceSpecification" context="InstanceSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="InstanceSpecification-structural_feature-_ownedComment.0" annotatedElement="InstanceSpecification-structural_feature">
            <body>No more than one slot in an InstanceSpecification may have the same definingFeature.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InstanceSpecification-structural_feature-_specification">
            <language>OCL</language>
            <body>classifier->forAll(c | (c.allSlottableFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() &lt;= 1)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InstanceSpecification-defining_feature" name="defining_feature" constrainedElement="InstanceSpecification" context="InstanceSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="InstanceSpecification-defining_feature-_ownedComment.0" annotatedElement="InstanceSpecification-defining_feature">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InstanceSpecification-defining_feature-_specification">
            <language>OCL</language>
            <body>slot->forAll(s | classifier->exists (c | c.allSlottableFeatures()->includes (s.definingFeature)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InstanceSpecification-deployment_target" name="deployment_target" constrainedElement="InstanceSpecification" context="InstanceSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="InstanceSpecification-deployment_target-_ownedComment.0" annotatedElement="InstanceSpecification-deployment_target">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InstanceSpecification-deployment_target-_specification">
            <language>OCL</language>
            <body>deployment->notEmpty() implies classifier->exists(node | node.oclIsKindOf(Node) and Node.allInstances()->exists(n | n.part->exists(p | p.type = node)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InstanceSpecification-_generalization.2" general="DeploymentTarget" specific="InstanceSpecification"/>
        <generalization xmi:type="uml:Generalization" xmi:id="InstanceSpecification-_generalization.0" general="PackageableElement" specific="InstanceSpecification"/>
        <generalization xmi:type="uml:Generalization" xmi:id="InstanceSpecification-_generalization.1" general="DeployedArtifact" specific="InstanceSpecification"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InstanceSpecification-classifier" name="classifier" type="Classifier" association="A_classifier_instanceSpecification">
          <ownedComment xmi:type="uml:Comment" xmi:id="InstanceSpecification-classifier-_ownedComment.0" annotatedElement="InstanceSpecification-classifier">
            <body>The Classifier or Classifiers of the represented instance. If multiple Classifiers are specified, the instance is classified by all of them.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InstanceSpecification-classifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InstanceSpecification-classifier-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InstanceSpecification-slot" name="slot" type="Slot" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_slot_owningInstance">
          <ownedComment xmi:type="uml:Comment" xmi:id="InstanceSpecification-slot-_ownedComment.0" annotatedElement="InstanceSpecification-slot">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InstanceSpecification-slot-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InstanceSpecification-slot-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InstanceSpecification-specification" name="specification" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_specification_owningInstanceSpec">
          <ownedComment xmi:type="uml:Comment" xmi:id="InstanceSpecification-specification-_ownedComment.0" annotatedElement="InstanceSpecification-specification">
            <body>A specification of how to compute, derive, or construct the instance.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InstanceSpecification-specification-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InstanceValue" name="InstanceValue">
        <ownedComment xmi:type="uml:Comment" xmi:id="InstanceValue-_ownedComment.0" annotatedElement="InstanceValue">
          <body>An InstanceValue is a ValueSpecification that identifies an instance.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="InstanceValue-_generalization.0" general="ValueSpecification" specific="InstanceValue"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InstanceValue-instance" name="instance" type="InstanceSpecification" association="A_instance_instanceValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="InstanceValue-instance-_ownedComment.0" annotatedElement="InstanceValue-instance">
            <body>The InstanceSpecification that represents the specified value.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Operation" name="Operation">
        <ownedComment xmi:type="uml:Comment" xmi:id="Operation-_ownedComment.0" annotatedElement="Operation">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-at_most_one_return" name="at_most_one_return" constrainedElement="Operation" context="Operation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-at_most_one_return-_ownedComment.0" annotatedElement="Operation-at_most_one_return">
            <body>An Operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return.'</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-at_most_one_return-_specification">
            <language>OCL</language>
            <body>self.ownedParameter->select(direction = ParameterDirectionKind::return)->size() &lt;= 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-only_body_for_query" name="only_body_for_query" constrainedElement="Operation" context="Operation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-only_body_for_query-_ownedComment.0" annotatedElement="Operation-only_body_for_query">
            <body>A bodyCondition can only be specified for a query Operation.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-only_body_for_query-_specification">
            <language>OCL</language>
            <body>bodyCondition &lt;> null implies isQuery</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Operation-_generalization.2" general="TemplateableElement" specific="Operation"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Operation-_generalization.0" general="ParameterableElement" specific="Operation"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Operation-_generalization.1" general="BehavioralFeature" specific="Operation"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-bodyCondition" name="bodyCondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_bodyCondition_bodyContext">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-bodyCondition-_ownedComment.0" annotatedElement="Operation-bodyCondition">
            <body>An optional Constraint on the result values of an invocation of this Operation.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-bodyCondition-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-class" name="class" type="Class" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_class">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-class-_ownedComment.0" annotatedElement="Operation-class">
            <body>The Class that owns this operation, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-class-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-datatype" name="datatype" type="DataType" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_datatype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-datatype-_ownedComment.0" annotatedElement="Operation-datatype">
            <body>The DataType that owns this Operation, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-datatype-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-interface" name="interface" type="Interface" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-interface-_ownedComment.0" annotatedElement="Operation-interface">
            <body>The Interface that owns this Operation, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-interface-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-isOrdered" name="isOrdered" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-isOrdered-_ownedComment.0" annotatedElement="Operation-isOrdered">
            <body>Specifies whether the return parameter is ordered or not, if present.  This information is derived from the return result for this Operation.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-isQuery" name="isQuery">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-isQuery-_ownedComment.0" annotatedElement="Operation-isQuery">
            <body>Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false).</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Operation-isQuery-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-isUnique" name="isUnique" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-isUnique-_ownedComment.0" annotatedElement="Operation-isUnique">
            <body>Specifies whether the return parameter is unique or not, if present. This information is derived from the return result for this Operation.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-lower" name="lower" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-lower-_ownedComment.0" annotatedElement="Operation-lower">
            <body>Specifies the lower multiplicity of the return parameter, if present. This information is derived from the return result for this Operation.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-lower-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" redefinedProperty="BehavioralFeature-ownedParameter" association="A_ownedParameter_operation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-ownedParameter-_ownedComment.0" annotatedElement="Operation-ownedParameter">
            <body>The parameters owned by this Operation.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-ownedParameter-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-ownedParameter-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-postcondition" name="postcondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postcondition_postContext">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-postcondition-_ownedComment.0" annotatedElement="Operation-postcondition">
            <body>An optional set of Constraints specifying the state of the system when the Operation is completed.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-postcondition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-postcondition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-precondition" name="precondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_precondition_preContext">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-precondition-_ownedComment.0" annotatedElement="Operation-precondition">
            <body>An optional set of Constraints on the state of the system when the Operation is invoked.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-precondition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-precondition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-raisedException" name="raisedException" type="Type" redefinedProperty="BehavioralFeature-raisedException" association="A_raisedException_operation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-raisedException-_ownedComment.0" annotatedElement="Operation-raisedException">
            <body>The Types representing exceptions that may be raised during an invocation of this operation.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-raisedException-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-raisedException-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-redefinedOperation" name="redefinedOperation" type="Operation" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedOperation_operation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-redefinedOperation-_ownedComment.0" annotatedElement="Operation-redefinedOperation">
            <body>The Operations that are redefined by this Operation.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-redefinedOperation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-redefinedOperation-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-templateParameter" name="templateParameter" type="OperationTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_operation_templateParameter_parameteredElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-templateParameter-_ownedComment.0" annotatedElement="Operation-templateParameter">
            <body>The OperationTemplateParameter that exposes this element as a formal parameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-templateParameter-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-type" name="type" type="Type" isReadOnly="true" isDerived="true" association="A_type_operation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-type-_ownedComment.0" annotatedElement="Operation-type">
            <body>The return type of the operation, if present. This information is derived from the return result for this Operation.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-type-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Operation-upper" name="upper" isReadOnly="true" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-upper-_ownedComment.0" annotatedElement="Operation-upper">
            <body>The upper multiplicity of the return parameter, if present. This information is derived from the return result for this Operation.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-upper-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Operation-isConsistentWith" name="isConsistentWith" bodyCondition="Operation-isConsistentWith-spec" class="Operation" isQuery="true" precondition="Operation-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-isConsistentWith-_ownedComment.0" annotatedElement="Operation-isConsistentWith">
            <body>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;
it has the same number of owned parameters, and for each parameter the following holds:&#xD;
&#xD;
- Direction, ordering and uniqueness are the same.&#xD;
- The corresponding types are covariant, contravariant or invariant.&#xD;
- The multiplicities are compatible, depending on the parameter direction.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-isConsistentWith-spec" name="spec" constrainedElement="Operation-isConsistentWith" context="Operation-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (redefiningElement.oclIsKindOf(Operation) and&#xD;
let op : Operation = redefiningElement.oclAsType(Operation) in&#xD;
	self.ownedParameter->size() = op.ownedParameter->size() and&#xD;
	Sequence{1..self.ownedParameter->size()}->&#xD;
		forAll(i |  &#xD;
		  let redefiningParam : Parameter = op.ownedParameter->at(i),&#xD;
               redefinedParam : Parameter = self.ownedParameter->at(i) in&#xD;
                 (redefiningParam.isUnique = redefinedParam.isUnique) and&#xD;
                 (redefiningParam.isOrdered = redefinedParam. isOrdered) and&#xD;
                 (redefiningParam.direction = redefinedParam.direction) and&#xD;
                 (redefiningParam.type.conformsTo(redefinedParam.type) or&#xD;
                     redefinedParam.type.conformsTo(redefiningParam.type)) and&#xD;
                 (redefiningParam.direction = ParameterDirectionKind::inout implies&#xD;
                         (redefinedParam.compatibleWith(redefiningParam) and&#xD;
                         redefiningParam.compatibleWith(redefinedParam))) and&#xD;
                 (redefiningParam.direction = ParameterDirectionKind::_'in' implies&#xD;
                         redefinedParam.compatibleWith(redefiningParam)) and&#xD;
                 ((redefiningParam.direction = ParameterDirectionKind::out or&#xD;
                      redefiningParam.direction = ParameterDirectionKind::return) implies&#xD;
                         redefiningParam.compatibleWith(redefinedParam))&#xD;
		))</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-isConsistentWith-pre" name="pre" constrainedElement="Operation-isConsistentWith" context="Operation-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-isConsistentWith-pre-_specification">
              <language>OCL</language>
              <body>redefiningElement.isRedefinitionContextValid(self)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Operation-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Operation-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Operation-isOrdered.1" name="isOrdered" bodyCondition="Operation-isOrdered.1-spec" class="Operation" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-isOrdered.1-_ownedComment.0" annotatedElement="Operation-isOrdered.1">
            <body>If this operation has a return parameter, isOrdered equals the value of isOrdered for that parameter. Otherwise isOrdered is false.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-isOrdered.1-spec" name="spec" constrainedElement="Operation-isOrdered.1 Operation-isOrdered" context="Operation-isOrdered.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-isOrdered.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if returnResult()->notEmpty() then returnResult()-> exists(isOrdered) else false endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Operation-isOrdered.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Operation-isUnique.1" name="isUnique" bodyCondition="Operation-isUnique.1-spec" class="Operation" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-isUnique.1-_ownedComment.0" annotatedElement="Operation-isUnique.1">
            <body>If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-isUnique.1-spec" name="spec" constrainedElement="Operation-isUnique.1 Operation-isUnique" context="Operation-isUnique.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-isUnique.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if returnResult()->notEmpty() then returnResult()->exists(isUnique) else true endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Operation-isUnique.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Operation-lower.1" name="lower" bodyCondition="Operation-lower.1-spec" class="Operation" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-lower.1-_ownedComment.0" annotatedElement="Operation-lower.1">
            <body>If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower has no value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-lower.1-spec" name="spec" constrainedElement="Operation-lower.1 Operation-lower" context="Operation-lower.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-lower.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if returnResult()->notEmpty() then returnResult()->any(true).lower else null endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Operation-lower.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Operation-returnResult" name="returnResult" bodyCondition="Operation-returnResult-spec" class="Operation" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-returnResult-_ownedComment.0" annotatedElement="Operation-returnResult">
            <body>The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-returnResult-spec" name="spec" constrainedElement="Operation-returnResult" context="Operation-returnResult">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-returnResult-spec-_specification">
              <language>OCL</language>
              <body>result = (ownedParameter->select (direction = ParameterDirectionKind::return))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Operation-returnResult-result" name="result" type="Parameter" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-returnResult-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-returnResult-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Operation-type.1" name="type" bodyCondition="Operation-type.1-spec" class="Operation" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-type.1-_ownedComment.0" annotatedElement="Operation-type.1">
            <body>If this operation has a return parameter, type equals the value of type for that parameter. Otherwise type has no value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-type.1-spec" name="spec" constrainedElement="Operation-type.1 Operation-type" context="Operation-type.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-type.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if returnResult()->notEmpty() then returnResult()->any(true).type else null endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Operation-type.1-result" name="result" type="Type" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Operation-upper.1" name="upper" bodyCondition="Operation-upper.1-spec" class="Operation" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Operation-upper.1-_ownedComment.0" annotatedElement="Operation-upper.1">
            <body>If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper has no value.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Operation-upper.1-spec" name="spec" constrainedElement="Operation-upper.1 Operation-upper" context="Operation-upper.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-upper.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if returnResult()->notEmpty() then returnResult()->any(true).upper else null endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Operation-upper.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#UnlimitedNatural"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OperationTemplateParameter" name="OperationTemplateParameter">
        <ownedComment xmi:type="uml:Comment" xmi:id="OperationTemplateParameter-_ownedComment.0" annotatedElement="OperationTemplateParameter">
          <body>An OperationTemplateParameter exposes an Operation as a formal parameter for a template.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="OperationTemplateParameter-match_default_signature" name="match_default_signature" constrainedElement="OperationTemplateParameter" context="OperationTemplateParameter">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OperationTemplateParameter-match_default_signature-_specification">
            <ownedComment xmi:type="uml:Comment" xmi:id="OperationTemplateParameter-match_default_signature-_specification-_ownedComment.0" annotatedElement="OperationTemplateParameter-match_default_signature-_specification">
              <body>A default for an OperationTemplateParameter must be an Operation with the same Parameter types, directions and multiplicities as the exposed Operation.</body>
            </ownedComment>
            <language>OCL</language>
            <body>default->notEmpty() implies (default.oclIsKindOf(Operation) and (let defaultOp : Operation = default.oclAsType(Operation) in &#xD;
    defaultOp.ownedParameter->size() = parameteredElement.ownedParameter->size() and&#xD;
    Sequence{1.. defaultOp.ownedParameter->size()}->forAll( ix | &#xD;
        let p1: Parameter = defaultOp.ownedParameter->at(ix), p2 : Parameter = parameteredElement.ownedParameter->at(ix) in&#xD;
          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)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="OperationTemplateParameter-_generalization.0" general="TemplateParameter" specific="OperationTemplateParameter"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OperationTemplateParameter-parameteredElement" name="parameteredElement" type="Operation" redefinedProperty="TemplateParameter-parameteredElement" association="A_operation_templateParameter_parameteredElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="OperationTemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="OperationTemplateParameter-parameteredElement">
            <body>The Operation exposed by this OperationTemplateParameter.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Parameter" name="Parameter">
        <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-_ownedComment.0" annotatedElement="Parameter">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Parameter-in_and_out" name="in_and_out" constrainedElement="Parameter" context="Parameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-in_and_out-_ownedComment.0" annotatedElement="Parameter-in_and_out">
            <body>Only in and inout Parameters may have a delete effect. Only out, inout, and return Parameters may have a create effect.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-in_and_out-_specification">
            <language>OCL</language>
            <body>(effect = ParameterEffectKind::delete implies (direction = ParameterDirectionKind::_'in' or direction = ParameterDirectionKind::inout))&#xD;
and&#xD;
(effect = ParameterEffectKind::create implies (direction = ParameterDirectionKind::out or direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::return))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Parameter-not_exception" name="not_exception" constrainedElement="Parameter" context="Parameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-not_exception-_ownedComment.0" annotatedElement="Parameter-not_exception">
            <body>An input Parameter cannot be an exception.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-not_exception-_specification">
            <language>OCL</language>
            <body>isException implies (direction &lt;> ParameterDirectionKind::_'in' and direction &lt;> ParameterDirectionKind::inout)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Parameter-connector_end" name="connector_end" constrainedElement="Parameter" context="Parameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-connector_end-_ownedComment.0" annotatedElement="Parameter-connector_end">
            <body>A Parameter may only be associated with a Connector end within the context of a Collaboration.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-connector_end-_specification">
            <language>OCL</language>
            <body>end->notEmpty() implies collaboration->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Parameter-reentrant_behaviors" name="reentrant_behaviors" constrainedElement="Parameter" context="Parameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-reentrant_behaviors-_ownedComment.0" annotatedElement="Parameter-reentrant_behaviors">
            <body>Reentrant behaviors cannot have stream Parameters.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-reentrant_behaviors-_specification">
            <language>OCL</language>
            <body>(isStream and behavior &lt;> null) implies not behavior.isReentrant</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Parameter-stream_and_exception" name="stream_and_exception" constrainedElement="Parameter" context="Parameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-stream_and_exception-_ownedComment.0" annotatedElement="Parameter-stream_and_exception">
            <body>A Parameter cannot be a stream and exception at the same time.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-stream_and_exception-_specification">
            <language>OCL</language>
            <body>not (isException and isStream)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Parameter-object_effect" name="object_effect" constrainedElement="Parameter" context="Parameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-object_effect-_ownedComment.0" annotatedElement="Parameter-object_effect">
            <body>Parameters typed by DataTypes cannot have an effect.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-object_effect-_specification">
            <language>OCL</language>
            <body>(type.oclIsKindOf(DataType)) implies (effect = null)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Parameter-_generalization.0" general="MultiplicityElement" specific="Parameter"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Parameter-_generalization.1" general="ConnectableElement" specific="Parameter"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Parameter-default" name="default" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-default-_ownedComment.0" annotatedElement="Parameter-default">
            <body>A String that represents a value to be used when no argument is supplied for the Parameter.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-default-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Parameter-defaultValue" name="defaultValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_defaultValue_owningParameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-defaultValue-_ownedComment.0" annotatedElement="Parameter-defaultValue">
            <body>Specifies a ValueSpecification that represents a value to be used when no argument is supplied for the Parameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-defaultValue-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Parameter-direction" name="direction" type="ParameterDirectionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-direction-_ownedComment.0" annotatedElement="Parameter-direction">
            <body>Indicates whether a parameter is being sent into or out of a behavioral element.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="Parameter-direction-_defaultValue" type="ParameterDirectionKind" instance="ParameterDirectionKind-in"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Parameter-effect" name="effect" type="ParameterEffectKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-effect-_ownedComment.0" annotatedElement="Parameter-effect">
            <body>Specifies the effect that executions of the owner of the Parameter have on objects passed in or out of the parameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-effect-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Parameter-isException" name="isException">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-isException-_ownedComment.0" annotatedElement="Parameter-isException">
            <body>Tells whether an output parameter may emit a value to the exclusion of the other outputs.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Parameter-isException-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Parameter-isStream" name="isStream">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-isStream-_ownedComment.0" annotatedElement="Parameter-isStream">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Parameter-isStream-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Parameter-operation" name="operation" type="Operation" subsettedProperty="A_ownedParameter_ownerFormalParam-ownerFormalParam" association="A_ownedParameter_operation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-operation-_ownedComment.0" annotatedElement="Parameter-operation">
            <body>The Operation owning this parameter.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-operation-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Parameter-parameterSet" name="parameterSet" type="ParameterSet" association="A_parameterSet_parameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-parameterSet-_ownedComment.0" annotatedElement="Parameter-parameterSet">
            <body>The ParameterSets containing the parameter. See ParameterSet.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-parameterSet-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Parameter-parameterSet-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Parameter-default.1" name="default" bodyCondition="Parameter-default.1-spec" class="Parameter" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Parameter-default.1-_ownedComment.0" annotatedElement="Parameter-default.1">
            <body>Derivation for Parameter::/default</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Parameter-default.1-spec" name="spec" constrainedElement="Parameter-default.1 Parameter-default" context="Parameter-default.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-default.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if self.type = String then defaultValue.stringValue() else null endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Parameter-default.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-default.1-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ParameterSet" name="ParameterSet">
        <ownedComment xmi:type="uml:Comment" xmi:id="ParameterSet-_ownedComment.0" annotatedElement="ParameterSet">
          <body>A ParameterSet designates alternative sets of inputs or outputs that a Behavior may use.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ParameterSet-same_parameterized_entity" name="same_parameterized_entity" constrainedElement="ParameterSet" context="ParameterSet">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterSet-same_parameterized_entity-_ownedComment.0" annotatedElement="ParameterSet-same_parameterized_entity">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterSet-same_parameterized_entity-_specification">
            <language>OCL</language>
            <body>parameter->forAll(p1, p2 | self.owner = p1.owner and self.owner = p2.owner and p1.direction = p2.direction)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ParameterSet-input" name="input" constrainedElement="ParameterSet" context="ParameterSet">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterSet-input-_ownedComment.0" annotatedElement="ParameterSet-input">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterSet-input-_specification">
            <language>OCL</language>
            <body>((parameter->exists(direction = ParameterDirectionKind::_'in')) implies &#xD;
    behavioralFeature.ownedParameter->select(p | p.direction = ParameterDirectionKind::_'in' and p.parameterSet->isEmpty())->forAll(isStream))&#xD;
    and&#xD;
((parameter->exists(direction = ParameterDirectionKind::out)) implies &#xD;
    behavioralFeature.ownedParameter->select(p | p.direction = ParameterDirectionKind::out and p.parameterSet->isEmpty())->forAll(isStream))  &#xD;
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ParameterSet-two_parameter_sets" name="two_parameter_sets" constrainedElement="ParameterSet" context="ParameterSet">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterSet-two_parameter_sets-_ownedComment.0" annotatedElement="ParameterSet-two_parameter_sets">
            <body>Two ParameterSets cannot have exactly the same set of Parameters.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterSet-two_parameter_sets-_specification">
            <language>OCL</language>
            <body>parameter->forAll(parameterSet->forAll(s1, s2 | s1->size() = s2->size() implies s1.parameter->exists(p | not s2.parameter->includes(p))))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ParameterSet-_generalization.0" general="NamedElement" specific="ParameterSet"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ParameterSet-condition" name="condition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_condition_parameterSet">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterSet-condition-_ownedComment.0" annotatedElement="ParameterSet-condition">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ParameterSet-condition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ParameterSet-condition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ParameterSet-parameter" name="parameter" type="Parameter" association="A_parameterSet_parameter">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterSet-parameter-_ownedComment.0" annotatedElement="ParameterSet-parameter">
            <body>Parameters in the ParameterSet.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ParameterSet-parameter-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Property" name="Property">
        <ownedComment xmi:type="uml:Comment" xmi:id="Property-_ownedComment.0" annotatedElement="Property">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-subsetting_context_conforms" name="subsetting_context_conforms" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-subsetting_context_conforms-_ownedComment.0" annotatedElement="Property-subsetting_context_conforms">
            <body>Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-subsetting_context_conforms-_specification">
            <language>OCL</language>
            <body>subsettedProperty->notEmpty() implies
  (subsettingContext()->notEmpty() and subsettingContext()->forAll (sc |
    subsettedProperty->forAll(sp |
      sp.subsettingContext()->exists(c | sc.conformsTo(c)))))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-derived_union_is_read_only" name="derived_union_is_read_only" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-derived_union_is_read_only-_ownedComment.0" annotatedElement="Property-derived_union_is_read_only">
            <body>A derived union is read only.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-derived_union_is_read_only-_specification">
            <language>OCL</language>
            <body>isDerivedUnion implies isReadOnly</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-multiplicity_of_composite" name="multiplicity_of_composite" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-multiplicity_of_composite-_ownedComment.0" annotatedElement="Property-multiplicity_of_composite">
            <body>A multiplicity on the composing end of a composite aggregation must not have an upper bound greater than 1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-multiplicity_of_composite-_specification">
            <language>OCL</language>
            <body>isComposite and association &lt;> null implies opposite.upperBound() &lt;= 1&#xD;
&#xD;
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-redefined_property_inherited" name="redefined_property_inherited" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-redefined_property_inherited-_ownedComment.0" annotatedElement="Property-redefined_property_inherited">
            <body>A redefined Property must be inherited from a more general Classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-redefined_property_inherited-_specification">
            <language>OCL</language>
            <body>(redefinedProperty->notEmpty()) implies&#xD;
  (redefinitionContext->notEmpty() and&#xD;
      redefinedProperty->forAll(rp|&#xD;
        ((redefinitionContext->collect(fc|&#xD;
          fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-subsetting_rules" name="subsetting_rules" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-subsetting_rules-_ownedComment.0" annotatedElement="Property-subsetting_rules">
            <body>A subsetting Property may strengthen the type of the subsetted Property, and its upper bound may be less.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-subsetting_rules-_specification">
            <language>OCL</language>
            <body>subsettedProperty->forAll(sp |
  self.type.conformsTo(sp.type) and
    ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies
      self.upperBound() &lt;= sp.upperBound() ))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-binding_to_attribute" name="binding_to_attribute" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-binding_to_attribute-_ownedComment.0" annotatedElement="Property-binding_to_attribute">
            <body>A binding of a PropertyTemplateParameter representing an attribute must be to an attribute.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-binding_to_attribute-_specification">
            <language>OCL</language>
            <body>(self.isAttribute()&#xD;
and (templateParameterSubstitution->notEmpty())&#xD;
implies (templateParameterSubstitution->forAll(ts |&#xD;
    ts.formal.oclIsKindOf(Property)&#xD;
    and ts.formal.oclAsType(Property).isAttribute())))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-derived_union_is_derived" name="derived_union_is_derived" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-derived_union_is_derived-_ownedComment.0" annotatedElement="Property-derived_union_is_derived">
            <body>A derived union is derived.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-derived_union_is_derived-_specification">
            <language>OCL</language>
            <body>isDerivedUnion implies isDerived</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-deployment_target" name="deployment_target" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-deployment_target-_ownedComment.0" annotatedElement="Property-deployment_target">
            <body>A Property can be a DeploymentTarget if it is a kind of Node and functions as a part in the internal structure of an encompassing Node.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-deployment_target-_specification">
            <language>OCL</language>
            <body>deployment->notEmpty() implies owner.oclIsKindOf(Node) and Node.allInstances()->exists(n | n.part->exists(p | p = self))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-subsetted_property_names" name="subsetted_property_names" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-subsetted_property_names-_ownedComment.0" annotatedElement="Property-subsetted_property_names">
            <body>A Property may not subset a Property with the same name.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-subsetted_property_names-_specification">
            <language>OCL</language>
            <body>subsettedProperty->forAll(sp | sp.name &lt;> name)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-type_of_opposite_end" name="type_of_opposite_end" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-type_of_opposite_end-_ownedComment.0" annotatedElement="Property-type_of_opposite_end">
            <body>If a Property is a classifier-owned end of a binary Association, its owner must be the type of the opposite end.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-type_of_opposite_end-_specification">
            <language>OCL</language>
            <body>(opposite->notEmpty() and owningAssociation->isEmpty()) implies classifier = opposite.type</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Property-qualified_is_association_end" name="qualified_is_association_end" constrainedElement="Property" context="Property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-qualified_is_association_end-_ownedComment.0" annotatedElement="Property-qualified_is_association_end">
            <body>All qualified Properties must be Association ends</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-qualified_is_association_end-_specification">
            <language>OCL</language>
            <body>qualifier->notEmpty() implies association->notEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Property-_generalization.0" general="ConnectableElement" specific="Property"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Property-_generalization.2" general="DeploymentTarget" specific="Property"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Property-_generalization.1" general="StructuralFeature" specific="Property"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-aggregation" name="aggregation" type="AggregationKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-aggregation-_ownedComment.0" annotatedElement="Property-aggregation">
            <body>Specifies the kind of aggregation that applies to the Property.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="Property-aggregation-_defaultValue" type="AggregationKind" instance="AggregationKind-none"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-association" name="association" type="Association" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_memberEnd_association">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-association-_ownedComment.0" annotatedElement="Property-association">
            <body>The Association of which this Property is a member, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-association-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-associationEnd" name="associationEnd" type="Property" subsettedProperty="Element-owner" association="A_qualifier_associationEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-associationEnd-_ownedComment.0" annotatedElement="Property-associationEnd">
            <body>Designates the optional association end that owns a qualifier attribute.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-associationEnd-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-class" name="class" type="Class" subsettedProperty="A_attribute_classifier-classifier A_ownedAttribute_structuredClassifier-structuredClassifier NamedElement-namespace" association="A_ownedAttribute_class">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-class-_ownedComment.0" annotatedElement="Property-class">
            <body>The Class that owns this Property, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-class-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-datatype" name="datatype" type="DataType" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_datatype">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-datatype-_ownedComment.0" annotatedElement="Property-datatype">
            <body>The DataType that owns this Property, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-datatype-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-defaultValue" name="defaultValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_defaultValue_owningProperty">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-defaultValue-_ownedComment.0" annotatedElement="Property-defaultValue">
            <body>A ValueSpecification that is evaluated to give a default value for the Property when an instance of the owning Classifier is instantiated.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-defaultValue-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-interface" name="interface" type="Interface" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_interface">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-interface-_ownedComment.0" annotatedElement="Property-interface">
            <body>The Interface that owns this Property, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-interface-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-isComposite" name="isComposite" isDerived="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isComposite-_ownedComment.0" annotatedElement="Property-isComposite">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isComposite-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-isDerived" name="isDerived">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isDerived-_ownedComment.0" annotatedElement="Property-isDerived">
            <body>Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isDerived-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-isDerivedUnion" name="isDerivedUnion">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isDerivedUnion-_ownedComment.0" annotatedElement="Property-isDerivedUnion">
            <body>Specifies whether the property is derived as the union of all of the Properties that are constrained to subset it.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isDerivedUnion-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-isID" name="isID">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isID-_ownedComment.0" annotatedElement="Property-isID">
            <body>True indicates this property can be used to uniquely identify an instance of the containing Class.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isID-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-opposite" name="opposite" type="Property" isDerived="true" association="A_opposite_property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-opposite-_ownedComment.0" annotatedElement="Property-opposite">
            <body>In the case where the Property is one end of a binary association this gives the other end.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-opposite-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-owningAssociation" name="owningAssociation" type="Association" subsettedProperty="Feature-featuringClassifier NamedElement-namespace Property-association RedefinableElement-redefinitionContext" association="A_ownedEnd_owningAssociation">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-owningAssociation-_ownedComment.0" annotatedElement="Property-owningAssociation">
            <body>The owning association of this property, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-owningAssociation-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-qualifier" name="qualifier" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_qualifier_associationEnd">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-qualifier-_ownedComment.0" annotatedElement="Property-qualifier">
            <body>An optional list of ordered qualifier attributes for the end.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-qualifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-qualifier-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-redefinedProperty" name="redefinedProperty" type="Property" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedProperty_property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-redefinedProperty-_ownedComment.0" annotatedElement="Property-redefinedProperty">
            <body>The properties that are redefined by this property, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-redefinedProperty-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-redefinedProperty-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Property-subsettedProperty" name="subsettedProperty" type="Property" association="A_subsettedProperty_property">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-subsettedProperty-_ownedComment.0" annotatedElement="Property-subsettedProperty">
            <body>The properties of which this Property is constrained to be a subset, if any.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-subsettedProperty-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-subsettedProperty-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Property-isAttribute" name="isAttribute" bodyCondition="Property-isAttribute-spec" class="Property" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isAttribute-_ownedComment.0" annotatedElement="Property-isAttribute">
            <body>The query isAttribute() is true if the Property is defined as an attribute of some Classifier.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Property-isAttribute-spec" name="spec" constrainedElement="Property-isAttribute" context="Property-isAttribute">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isAttribute-spec-_specification">
              <language>OCL</language>
              <body>result = (not classifier->isEmpty())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-isAttribute-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Property-isCompatibleWith" name="isCompatibleWith" bodyCondition="Property-isCompatibleWith-spec" class="Property" isQuery="true" redefinedOperation="ParameterableElement-isCompatibleWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isCompatibleWith-_ownedComment.0" annotatedElement="Property-isCompatibleWith">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Property-isCompatibleWith-spec" name="spec" constrainedElement="Property-isCompatibleWith" context="Property-isCompatibleWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isCompatibleWith-spec-_specification">
              <language>OCL</language>
              <body>result = (self.oclIsKindOf(p.oclType()) and (p.oclIsKindOf(TypedElement) implies&#xD;
self.type.conformsTo(p.oclAsType(TypedElement).type)))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-isCompatibleWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-isCompatibleWith-p" name="p" type="ParameterableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Property-isComposite.1" name="isComposite" bodyCondition="Property-isComposite.1-spec" class="Property" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isComposite.1-_ownedComment.0" annotatedElement="Property-isComposite.1">
            <body>The value of isComposite is true only if aggregation is composite.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Property-isComposite.1-spec" name="spec" constrainedElement="Property-isComposite.1 Property-isComposite" context="Property-isComposite.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isComposite.1-spec-_specification">
              <language>OCL</language>
              <body>result = (aggregation = AggregationKind::composite)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-isComposite.1-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Property-isConsistentWith" name="isConsistentWith" bodyCondition="Property-isConsistentWith-spec" class="Property" isQuery="true" precondition="Property-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isConsistentWith-_ownedComment.0" annotatedElement="Property-isConsistentWith">
            <body>The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining Property is consistent with a redefined Property if the type of the redefining Property conforms to the type of the redefined Property, and the multiplicity of the redefining Property (if specified) is contained in the multiplicity of the redefined Property.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Property-isConsistentWith-pre" name="pre" constrainedElement="Property-isConsistentWith" context="Property-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isConsistentWith-pre-_specification">
              <language>OCL</language>
              <body>redefiningElement.isRedefinitionContextValid(self)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Property-isConsistentWith-spec" name="spec" constrainedElement="Property-isConsistentWith" context="Property-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (redefiningElement.oclIsKindOf(Property) and 
  let prop : Property = redefiningElement.oclAsType(Property) in 
  (prop.type.conformsTo(self.type) and 
  ((prop.lowerBound()->notEmpty() and self.lowerBound()->notEmpty()) implies prop.lowerBound() >= self.lowerBound()) and 
  ((prop.upperBound()->notEmpty() and self.upperBound()->notEmpty()) implies prop.lowerBound() &lt;= self.lowerBound()) and 
  (self.isComposite implies prop.isComposite)))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Property-isNavigable" name="isNavigable" bodyCondition="Property-isNavigable-spec" class="Property" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-isNavigable-_ownedComment.0" annotatedElement="Property-isNavigable">
            <body>The query isNavigable() indicates whether it is possible to navigate across the property.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Property-isNavigable-spec" name="spec" constrainedElement="Property-isNavigable" context="Property-isNavigable">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isNavigable-spec-_specification">
              <language>OCL</language>
              <body>result = (not classifier->isEmpty() or association.navigableOwnedEnd->includes(self))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-isNavigable-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Property-opposite.1" name="opposite" bodyCondition="Property-opposite.1-spec" class="Property" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-opposite.1-_ownedComment.0" annotatedElement="Property-opposite.1">
            <body>If this property is a memberEnd of a binary association, then opposite gives the other end.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Property-opposite.1-spec" name="spec" constrainedElement="Property-opposite.1 Property-opposite" context="Property-opposite.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-opposite.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if association &lt;> null and association.memberEnd->size() = 2
then
    association.memberEnd->any(e | e &lt;> self)
else
    null
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-opposite.1-result" name="result" type="Property" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Property-subsettingContext" name="subsettingContext" bodyCondition="Property-subsettingContext-spec" class="Property" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Property-subsettingContext-_ownedComment.0" annotatedElement="Property-subsettingContext">
            <body>The query subsettingContext() gives the context for subsetting a Property. It consists, in the case of an attribute, of the corresponding Classifier, and in the case of an association end, all of the Classifiers at the other ends.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Property-subsettingContext-spec" name="spec" constrainedElement="Property-subsettingContext" context="Property-subsettingContext">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-subsettingContext-spec-_specification">
              <language>OCL</language>
              <body>result = (if association &lt;> null
then association.memberEnd->excluding(self)->collect(type)->asSet()
else 
  if classifier&lt;>null
  then classifier->asSet()
  else Set{} 
  endif
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Property-subsettingContext-result" name="result" type="Type" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-subsettingContext-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-subsettingContext-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="RedefinableElement" name="RedefinableElement" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-_ownedComment.0" annotatedElement="RedefinableElement">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableElement-redefinition_consistent" name="redefinition_consistent" constrainedElement="RedefinableElement" context="RedefinableElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-redefinition_consistent-_ownedComment.0" annotatedElement="RedefinableElement-redefinition_consistent">
            <body>A redefining element must be consistent with each redefined element.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-redefinition_consistent-_specification">
            <language>OCL</language>
            <body>redefinedElement->forAll(re | re.isConsistentWith(self))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableElement-non_leaf_redefinition" name="non_leaf_redefinition" constrainedElement="RedefinableElement" context="RedefinableElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-non_leaf_redefinition-_ownedComment.0" annotatedElement="RedefinableElement-non_leaf_redefinition">
            <body>A RedefinableElement can only redefine non-leaf RedefinableElements.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-non_leaf_redefinition-_specification">
            <language>OCL</language>
            <body>redefinedElement->forAll(re | not re.isLeaf)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableElement-redefinition_context_valid" name="redefinition_context_valid" constrainedElement="RedefinableElement" context="RedefinableElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-redefinition_context_valid-_ownedComment.0" annotatedElement="RedefinableElement-redefinition_context_valid">
            <body>At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-redefinition_context_valid-_specification">
            <language>OCL</language>
            <body>redefinedElement->forAll(re | self.isRedefinitionContextValid(re))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="RedefinableElement-_generalization.0" general="NamedElement" specific="RedefinableElement"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RedefinableElement-isLeaf" name="isLeaf">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-isLeaf-_ownedComment.0" annotatedElement="RedefinableElement-isLeaf">
            <body>Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RedefinableElement-isLeaf-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RedefinableElement-redefinedElement" name="redefinedElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_redefinedElement_redefinableElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-redefinedElement-_ownedComment.0" annotatedElement="RedefinableElement-redefinedElement">
            <body>The RedefinableElement that is being redefined by this element.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableElement-redefinedElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableElement-redefinedElement-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RedefinableElement-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_redefinitionContext_redefinableElement">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-redefinitionContext-_ownedComment.0" annotatedElement="RedefinableElement-redefinitionContext">
            <body>The contexts that this element may be redefined from.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableElement-redefinitionContext-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableElement-redefinitionContext-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="RedefinableElement-isConsistentWith" name="isConsistentWith" bodyCondition="RedefinableElement-isConsistentWith-spec" class="RedefinableElement" isQuery="true" precondition="RedefinableElement-isConsistentWith-pre">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-isConsistentWith-_ownedComment.0" annotatedElement="RedefinableElement-isConsistentWith">
            <body>The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent. By default, this is false; this operation must be overridden for subclasses of RedefinableElement to define the consistency conditions.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableElement-isConsistentWith-spec" name="spec" constrainedElement="RedefinableElement-isConsistentWith" context="RedefinableElement-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-isConsistentWith-spec-_specification">
              <language>OCL</language>
              <body>result = (false)</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableElement-isConsistentWith-pre" name="pre" constrainedElement="RedefinableElement-isConsistentWith" context="RedefinableElement-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-isConsistentWith-pre-_specification">
              <language>OCL</language>
              <body>redefiningElement.isRedefinitionContextValid(self)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="RedefinableElement-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="RedefinableElement-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="RedefinableElement-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="RedefinableElement-isRedefinitionContextValid-spec" class="RedefinableElement" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableElement-isRedefinitionContextValid-_ownedComment.0" annotatedElement="RedefinableElement-isRedefinitionContextValid">
            <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableElement-isRedefinitionContextValid-spec" name="spec" constrainedElement="RedefinableElement-isRedefinitionContextValid" context="RedefinableElement-isRedefinitionContextValid">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-isRedefinitionContextValid-spec-_specification">
              <language>OCL</language>
              <body>result = (redefinitionContext->exists(c | c.allParents()->includesAll(redefinedElement.redefinitionContext)))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="RedefinableElement-isRedefinitionContextValid-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="RedefinableElement-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="RedefinableTemplateSignature" name="RedefinableTemplateSignature">
        <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableTemplateSignature-_ownedComment.0" annotatedElement="RedefinableTemplateSignature">
          <body>A RedefinableTemplateSignature supports the addition of formal template parameters in a specialization of a template classifier.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableTemplateSignature-redefines_parents" name="redefines_parents" constrainedElement="RedefinableTemplateSignature" context="RedefinableTemplateSignature">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableTemplateSignature-redefines_parents-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-redefines_parents">
            <body>If any of the parent Classifiers are a template, then the extendedSignature must include the signature of that Classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableTemplateSignature-redefines_parents-_specification">
            <language>OCL</language>
            <body>classifier.allParents()->forAll(c | c.ownedTemplateSignature->notEmpty() implies self->closure(extendedSignature)->includes(c.ownedTemplateSignature))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="RedefinableTemplateSignature-_generalization.0" general="RedefinableElement" specific="RedefinableTemplateSignature"/>
        <generalization xmi:type="uml:Generalization" xmi:id="RedefinableTemplateSignature-_generalization.1" general="TemplateSignature" specific="RedefinableTemplateSignature"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RedefinableTemplateSignature-classifier" name="classifier" type="Classifier" redefinedProperty="TemplateSignature-template" subsettedProperty="RedefinableElement-redefinitionContext" association="A_ownedTemplateSignature_classifier">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableTemplateSignature-classifier-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-classifier">
            <body>The Classifier that owns this RedefinableTemplateSignature.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RedefinableTemplateSignature-extendedSignature" name="extendedSignature" type="RedefinableTemplateSignature" subsettedProperty="RedefinableElement-redefinedElement" association="A_extendedSignature_redefinableTemplateSignature">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableTemplateSignature-extendedSignature-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-extendedSignature">
            <body>The signatures extended by this RedefinableTemplateSignature.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableTemplateSignature-extendedSignature-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableTemplateSignature-extendedSignature-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RedefinableTemplateSignature-inheritedParameter" name="inheritedParameter" type="TemplateParameter" isReadOnly="true" isDerived="true" subsettedProperty="TemplateSignature-parameter" association="A_inheritedParameter_redefinableTemplateSignature">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableTemplateSignature-inheritedParameter-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-inheritedParameter">
            <body>The formal template parameters of the extended signatures.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableTemplateSignature-inheritedParameter-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableTemplateSignature-inheritedParameter-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="RedefinableTemplateSignature-inheritedParameter.1" name="inheritedParameter" bodyCondition="RedefinableTemplateSignature-inheritedParameter.1-spec" class="RedefinableTemplateSignature" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-inheritedParameter.1">
            <body>Derivation for RedefinableTemplateSignature::/inheritedParameter</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-spec" name="spec" constrainedElement="RedefinableTemplateSignature-inheritedParameter.1 RedefinableTemplateSignature-inheritedParameter" context="RedefinableTemplateSignature-inheritedParameter.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-spec-_specification">
              <language>OCL</language>
              <body>result = (if extendedSignature->isEmpty() then Set{} else extendedSignature.parameter->asSet() endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-result" name="result" type="TemplateParameter" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="RedefinableTemplateSignature-isConsistentWith" name="isConsistentWith" bodyCondition="RedefinableTemplateSignature-isConsistentWith-spec" class="RedefinableTemplateSignature" isQuery="true" precondition="RedefinableTemplateSignature-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
          <ownedComment xmi:type="uml:Comment" xmi:id="RedefinableTemplateSignature-isConsistentWith-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-isConsistentWith">
            <body>The query isConsistentWith() specifies, for any two RedefinableTemplateSignatures in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining template signature is always consistent with a redefined template signature, as redefinition only adds new formal parameters.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableTemplateSignature-isConsistentWith-spec" name="spec" constrainedElement="RedefinableTemplateSignature-isConsistentWith" context="RedefinableTemplateSignature-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableTemplateSignature-isConsistentWith-spec-spec" name="spec">
              <language>OCL</language>
              <body>result = (redefiningElement.oclIsKindOf(RedefinableTemplateSignature))</body>
            </specification>
          </ownedRule>
          <ownedRule xmi:type="uml:Constraint" xmi:id="RedefinableTemplateSignature-isConsistentWith-pre" name="pre" constrainedElement="RedefinableTemplateSignature-isConsistentWith" context="RedefinableTemplateSignature-isConsistentWith">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableTemplateSignature-isConsistentWith-pre-_specification">
              <language>OCL</language>
              <body>redefiningElement.isRedefinitionContextValid(self)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="RedefinableTemplateSignature-isConsistentWith-result" name="result" direction="return">
            <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          </ownedParameter>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="RedefinableTemplateSignature-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Slot" name="Slot">
        <ownedComment xmi:type="uml:Comment" xmi:id="Slot-_ownedComment.0" annotatedElement="Slot">
          <body>A Slot designates that an entity modeled by an InstanceSpecification has a value or values for a specific StructuralFeature.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Slot-_generalization.0" general="Element" specific="Slot"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Slot-definingFeature" name="definingFeature" type="StructuralFeature" association="A_definingFeature_slot">
          <ownedComment xmi:type="uml:Comment" xmi:id="Slot-definingFeature-_ownedComment.0" annotatedElement="Slot-definingFeature">
            <body>The StructuralFeature that specifies the values that may be held by the Slot.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Slot-owningInstance" name="owningInstance" type="InstanceSpecification" subsettedProperty="Element-owner" association="A_slot_owningInstance">
          <ownedComment xmi:type="uml:Comment" xmi:id="Slot-owningInstance-_ownedComment.0" annotatedElement="Slot-owningInstance">
            <body>The InstanceSpecification that owns this Slot.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Slot-value" name="value" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_owningSlot">
          <ownedComment xmi:type="uml:Comment" xmi:id="Slot-value-_ownedComment.0" annotatedElement="Slot-value">
            <body>The value or values held by the Slot.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Slot-value-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Slot-value-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StructuralFeature" name="StructuralFeature" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeature-_ownedComment.0" annotatedElement="StructuralFeature">
          <body>A StructuralFeature is a typed feature of a Classifier that specifies the structure of instances of the Classifier.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="StructuralFeature-_generalization.0" general="MultiplicityElement" specific="StructuralFeature"/>
        <generalization xmi:type="uml:Generalization" xmi:id="StructuralFeature-_generalization.1" general="TypedElement" specific="StructuralFeature"/>
        <generalization xmi:type="uml:Generalization" xmi:id="StructuralFeature-_generalization.2" general="Feature" specific="StructuralFeature"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuralFeature-isReadOnly" name="isReadOnly">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeature-isReadOnly-_ownedComment.0" annotatedElement="StructuralFeature-isReadOnly">
            <body>If isReadOnly is true, the StructuralFeature may not be written to after initialization.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="StructuralFeature-isReadOnly-_defaultValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="AggregationKind" name="AggregationKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="AggregationKind-_ownedComment.0" annotatedElement="AggregationKind">
          <body>AggregationKind is an Enumeration for specifying the kind of aggregation of a Property.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="AggregationKind-none" name="none" enumeration="AggregationKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="AggregationKind-none-_ownedComment.0" annotatedElement="AggregationKind-none">
            <body>Indicates that the Property has no aggregation.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="AggregationKind-shared" name="shared" enumeration="AggregationKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="AggregationKind-shared-_ownedComment.0" annotatedElement="AggregationKind-shared">
            <body>Indicates that the Property has shared aggregation.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="AggregationKind-composite" name="composite" enumeration="AggregationKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="AggregationKind-composite-_ownedComment.0" annotatedElement="AggregationKind-composite">
            <body>Indicates that the Property is aggregated compositely, i.e., the composite object has responsibility for the existence and storage of the composed objects (parts).</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="CallConcurrencyKind" name="CallConcurrencyKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="CallConcurrencyKind-_ownedComment.0" annotatedElement="CallConcurrencyKind">
          <body>CallConcurrencyKind is an Enumeration used to specify the semantics of concurrent calls to a BehavioralFeature.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="CallConcurrencyKind-sequential" name="sequential" enumeration="CallConcurrencyKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallConcurrencyKind-sequential-_ownedComment.0" annotatedElement="CallConcurrencyKind-sequential">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="CallConcurrencyKind-guarded" name="guarded" enumeration="CallConcurrencyKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallConcurrencyKind-guarded-_ownedComment.0" annotatedElement="CallConcurrencyKind-guarded">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="CallConcurrencyKind-concurrent" name="concurrent" enumeration="CallConcurrencyKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallConcurrencyKind-concurrent-_ownedComment.0" annotatedElement="CallConcurrencyKind-concurrent">
            <body>Multiple invocations of a BehavioralFeature that overlap in time may occur to one instance and all of them may proceed concurrently.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="ParameterDirectionKind" name="ParameterDirectionKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="ParameterDirectionKind-_ownedComment.0" annotatedElement="ParameterDirectionKind">
          <body>ParameterDirectionKind is an Enumeration that defines literals used to specify direction of parameters.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ParameterDirectionKind-in" name="in" enumeration="ParameterDirectionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterDirectionKind-in-_ownedComment.0" annotatedElement="ParameterDirectionKind-in">
            <body>Indicates that Parameter values are passed in by the caller. </body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ParameterDirectionKind-inout" name="inout" enumeration="ParameterDirectionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterDirectionKind-inout-_ownedComment.0" annotatedElement="ParameterDirectionKind-inout">
            <body>Indicates that Parameter values are passed in by the caller and (possibly different) values passed out to the caller.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ParameterDirectionKind-out" name="out" enumeration="ParameterDirectionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterDirectionKind-out-_ownedComment.0" annotatedElement="ParameterDirectionKind-out">
            <body>Indicates that Parameter values are passed out to the caller.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ParameterDirectionKind-return" name="return" enumeration="ParameterDirectionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterDirectionKind-return-_ownedComment.0" annotatedElement="ParameterDirectionKind-return">
            <body>Indicates that Parameter values are passed as return values back to the caller.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="ParameterEffectKind" name="ParameterEffectKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="ParameterEffectKind-_ownedComment.0" annotatedElement="ParameterEffectKind">
          <body>ParameterEffectKind is an Enumeration that indicates the effect of a Behavior on values passed in or out of its parameters.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ParameterEffectKind-create" name="create" enumeration="ParameterEffectKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterEffectKind-create-_ownedComment.0" annotatedElement="ParameterEffectKind-create">
            <body>Indicates that the behavior creates values.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ParameterEffectKind-read" name="read" enumeration="ParameterEffectKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterEffectKind-read-_ownedComment.0" annotatedElement="ParameterEffectKind-read">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ParameterEffectKind-update" name="update" enumeration="ParameterEffectKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterEffectKind-update-_ownedComment.0" annotatedElement="ParameterEffectKind-update">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ParameterEffectKind-delete" name="delete" enumeration="ParameterEffectKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ParameterEffectKind-delete-_ownedComment.0" annotatedElement="ParameterEffectKind-delete">
            <body>Indicates objects that are values of the parameter do not exist after executions of the behavior are finished.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_definingFeature_slot" name="A_definingFeature_slot" memberEnd="Slot-definingFeature A_definingFeature_slot-slot">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_definingFeature_slot-slot" name="slot" type="Slot" owningAssociation="A_definingFeature_slot" association="A_definingFeature_slot">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_definingFeature_slot-slot-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_definingFeature_slot-slot-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_value_owningSlot" name="A_value_owningSlot" memberEnd="Slot-value A_value_owningSlot-owningSlot">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_value_owningSlot-owningSlot" name="owningSlot" type="Slot" owningAssociation="A_value_owningSlot" subsettedProperty="Element-owner" association="A_value_owningSlot">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_owningSlot-owningSlot-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_extendedSignature_redefinableTemplateSignature" name="A_extendedSignature_redefinableTemplateSignature" memberEnd="RedefinableTemplateSignature-extendedSignature A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature" name="redefinableTemplateSignature" type="RedefinableTemplateSignature" owningAssociation="A_extendedSignature_redefinableTemplateSignature" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_extendedSignature_redefinableTemplateSignature">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_inheritedParameter_redefinableTemplateSignature" name="A_inheritedParameter_redefinableTemplateSignature" isDerived="true" memberEnd="RedefinableTemplateSignature-inheritedParameter A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature" name="redefinableTemplateSignature" type="RedefinableTemplateSignature" owningAssociation="A_inheritedParameter_redefinableTemplateSignature" subsettedProperty="A_parameter_templateSignature-templateSignature" association="A_inheritedParameter_redefinableTemplateSignature">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_redefinableElement" name="A_redefinitionContext_redefinableElement" isDerived="true" memberEnd="RedefinableElement-redefinitionContext A_redefinitionContext_redefinableElement-redefinableElement">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinitionContext_redefinableElement-redefinableElement" name="redefinableElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_redefinitionContext_redefinableElement" association="A_redefinitionContext_redefinableElement">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinitionContext_redefinableElement-redefinableElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinitionContext_redefinableElement-redefinableElement-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedElement_redefinableElement" name="A_redefinedElement_redefinableElement" isDerived="true" memberEnd="RedefinableElement-redefinedElement A_redefinedElement_redefinableElement-redefinableElement">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedElement_redefinableElement-redefinableElement" name="redefinableElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_redefinedElement_redefinableElement" association="A_redefinedElement_redefinableElement">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedElement_redefinableElement-redefinableElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedElement_redefinableElement-redefinableElement-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_qualifier_associationEnd" name="A_qualifier_associationEnd" memberEnd="Property-qualifier Property-associationEnd"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedProperty_property" name="A_redefinedProperty_property" memberEnd="Property-redefinedProperty A_redefinedProperty_property-property">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedProperty_property-property" name="property" type="Property" owningAssociation="A_redefinedProperty_property" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedProperty_property">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedProperty_property-property-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedProperty_property-property-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_defaultValue_owningProperty" name="A_defaultValue_owningProperty" memberEnd="Property-defaultValue A_defaultValue_owningProperty-owningProperty">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_defaultValue_owningProperty-owningProperty" name="owningProperty" type="Property" owningAssociation="A_defaultValue_owningProperty" subsettedProperty="Element-owner" association="A_defaultValue_owningProperty">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_defaultValue_owningProperty-owningProperty-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_opposite_property" name="A_opposite_property" isDerived="true" memberEnd="Property-opposite A_opposite_property-property">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_opposite_property-property" name="property" type="Property" owningAssociation="A_opposite_property" association="A_opposite_property">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_opposite_property-property-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_subsettedProperty_property" name="A_subsettedProperty_property" memberEnd="Property-subsettedProperty A_subsettedProperty_property-property">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_subsettedProperty_property-property" name="property" type="Property" owningAssociation="A_subsettedProperty_property" association="A_subsettedProperty_property">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_subsettedProperty_property-property-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_subsettedProperty_property-property-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_condition_parameterSet" name="A_condition_parameterSet" memberEnd="ParameterSet-condition A_condition_parameterSet-parameterSet">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_condition_parameterSet-parameterSet" name="parameterSet" type="ParameterSet" owningAssociation="A_condition_parameterSet" subsettedProperty="Element-owner" association="A_condition_parameterSet">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_condition_parameterSet-parameterSet-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_parameterSet_parameter" name="A_parameterSet_parameter" memberEnd="Parameter-parameterSet ParameterSet-parameter"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_defaultValue_owningParameter" name="A_defaultValue_owningParameter" memberEnd="Parameter-defaultValue A_defaultValue_owningParameter-owningParameter">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_defaultValue_owningParameter-owningParameter" name="owningParameter" type="Parameter" owningAssociation="A_defaultValue_owningParameter" subsettedProperty="Element-owner" association="A_defaultValue_owningParameter">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_defaultValue_owningParameter-owningParameter-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_type_operation" name="A_type_operation" isDerived="true" memberEnd="Operation-type A_type_operation-operation">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_type_operation-operation" name="operation" type="Operation" owningAssociation="A_type_operation" association="A_type_operation">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_operation-operation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_operation-operation-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_operation_templateParameter_parameteredElement" name="A_operation_templateParameter_parameteredElement" memberEnd="Operation-templateParameter OperationTemplateParameter-parameteredElement"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_bodyCondition_bodyContext" name="A_bodyCondition_bodyContext" memberEnd="Operation-bodyCondition A_bodyCondition_bodyContext-bodyContext">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_bodyCondition_bodyContext-bodyContext" name="bodyContext" type="Operation" owningAssociation="A_bodyCondition_bodyContext" subsettedProperty="Constraint-context" association="A_bodyCondition_bodyContext">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_bodyCondition_bodyContext-bodyContext-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_postcondition_postContext" name="A_postcondition_postContext" memberEnd="Operation-postcondition A_postcondition_postContext-postContext">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_postcondition_postContext-postContext" name="postContext" type="Operation" owningAssociation="A_postcondition_postContext" subsettedProperty="Constraint-context" association="A_postcondition_postContext">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_postcondition_postContext-postContext-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedOperation_operation" name="A_redefinedOperation_operation" memberEnd="Operation-redefinedOperation A_redefinedOperation_operation-operation">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedOperation_operation-operation" name="operation" type="Operation" owningAssociation="A_redefinedOperation_operation" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedOperation_operation">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedOperation_operation-operation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedOperation_operation-operation-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_raisedException_operation" name="A_raisedException_operation" memberEnd="Operation-raisedException A_raisedException_operation-operation">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_raisedException_operation-operation" name="operation" type="Operation" owningAssociation="A_raisedException_operation" subsettedProperty="A_raisedException_behavioralFeature-behavioralFeature" association="A_raisedException_operation">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_raisedException_operation-operation-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_raisedException_operation-operation-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_precondition_preContext" name="A_precondition_preContext" memberEnd="Operation-precondition A_precondition_preContext-preContext">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_precondition_preContext-preContext" name="preContext" type="Operation" owningAssociation="A_precondition_preContext" subsettedProperty="Constraint-context" association="A_precondition_preContext">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_precondition_preContext-preContext-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameter_operation" name="A_ownedParameter_operation" memberEnd="Operation-ownedParameter Parameter-operation"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_instance_instanceValue" name="A_instance_instanceValue" memberEnd="InstanceValue-instance A_instance_instanceValue-instanceValue">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_instance_instanceValue-instanceValue" name="instanceValue" type="InstanceValue" owningAssociation="A_instance_instanceValue" association="A_instance_instanceValue">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_instance_instanceValue-instanceValue-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_instance_instanceValue-instanceValue-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_instanceSpecification" name="A_classifier_instanceSpecification" memberEnd="InstanceSpecification-classifier A_classifier_instanceSpecification-instanceSpecification">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_classifier_instanceSpecification-instanceSpecification" name="instanceSpecification" type="InstanceSpecification" owningAssociation="A_classifier_instanceSpecification" association="A_classifier_instanceSpecification">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_instanceSpecification-instanceSpecification-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_classifier_instanceSpecification-instanceSpecification-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_slot_owningInstance" name="A_slot_owningInstance" memberEnd="InstanceSpecification-slot Slot-owningInstance"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_specification_owningInstanceSpec" name="A_specification_owningInstanceSpec" memberEnd="InstanceSpecification-specification A_specification_owningInstanceSpec-owningInstanceSpec">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_specification_owningInstanceSpec-owningInstanceSpec" name="owningInstanceSpec" type="InstanceSpecification" owningAssociation="A_specification_owningInstanceSpec" subsettedProperty="Element-owner" association="A_specification_owningInstanceSpec">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_owningInstanceSpec-owningInstanceSpec-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_generalizationSet_generalization" name="A_generalizationSet_generalization" memberEnd="Generalization-generalizationSet GeneralizationSet-generalization"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_general_generalization" name="A_general_generalization" memberEnd="Generalization-general A_general_generalization-generalization">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_general_generalization-generalization" name="generalization" type="Generalization" owningAssociation="A_general_generalization" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_general_generalization">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_general_generalization-generalization-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_general_generalization-generalization-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_constrainingClassifier_classifierTemplateParameter" name="A_constrainingClassifier_classifierTemplateParameter" memberEnd="ClassifierTemplateParameter-constrainingClassifier A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter" name="classifierTemplateParameter" type="ClassifierTemplateParameter" owningAssociation="A_constrainingClassifier_classifierTemplateParameter" association="A_constrainingClassifier_classifierTemplateParameter">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_templateParameter_parameteredElement" name="A_classifier_templateParameter_parameteredElement" memberEnd="Classifier-templateParameter ClassifierTemplateParameter-parameteredElement"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_powertypeExtent_powertype" name="A_powertypeExtent_powertype" memberEnd="Classifier-powertypeExtent GeneralizationSet-powertype"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_generalization_specific" name="A_generalization_specific" memberEnd="Classifier-generalization Generalization-specific"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_general_classifier" name="A_general_classifier" isDerived="true" memberEnd="Classifier-general A_general_classifier-classifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_general_classifier-classifier" name="classifier" type="Classifier" owningAssociation="A_general_classifier" association="A_general_classifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_general_classifier-classifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_general_classifier-classifier-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_feature_featuringClassifier" name="A_feature_featuringClassifier" isDerived="true" memberEnd="Classifier-feature Feature-featuringClassifier"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_substitution_substitutingClassifier" name="A_substitution_substitutingClassifier" memberEnd="Classifier-substitution Substitution-substitutingClassifier"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_representation_classifier" name="A_representation_classifier" memberEnd="Classifier-representation A_representation_classifier-classifier">
        <generalization xmi:type="uml:Generalization" xmi:id="A_representation_classifier-_generalization.0" general="A_collaborationUse_classifier" specific="A_representation_classifier"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_representation_classifier-classifier" name="classifier" type="Classifier" owningAssociation="A_representation_classifier" redefinedProperty="A_collaborationUse_classifier-classifier" association="A_representation_classifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_representation_classifier-classifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedTemplateSignature_classifier" name="A_ownedTemplateSignature_classifier" memberEnd="Classifier-ownedTemplateSignature RedefinableTemplateSignature-classifier"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_inheritedMember_inheritingClassifier" name="A_inheritedMember_inheritingClassifier" isDerived="true" memberEnd="Classifier-inheritedMember A_inheritedMember_inheritingClassifier-inheritingClassifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_inheritedMember_inheritingClassifier-inheritingClassifier" name="inheritingClassifier" type="Classifier" owningAssociation="A_inheritedMember_inheritingClassifier" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_inheritedMember_inheritingClassifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inheritedMember_inheritingClassifier-inheritingClassifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_inheritedMember_inheritingClassifier-inheritingClassifier-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedClassifier_classifier" name="A_redefinedClassifier_classifier" memberEnd="Classifier-redefinedClassifier A_redefinedClassifier_classifier-classifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_redefinedClassifier_classifier-classifier" name="classifier" type="Classifier" owningAssociation="A_redefinedClassifier_classifier" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedClassifier_classifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedClassifier_classifier-classifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedClassifier_classifier-classifier-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_collaborationUse_classifier" name="A_collaborationUse_classifier" memberEnd="Classifier-collaborationUse A_collaborationUse_classifier-classifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_collaborationUse_classifier-classifier" name="classifier" type="Classifier" owningAssociation="A_collaborationUse_classifier" subsettedProperty="Element-owner" association="A_collaborationUse_classifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_collaborationUse_classifier-classifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_attribute_classifier" name="A_attribute_classifier" isDerived="true" memberEnd="Classifier-attribute A_attribute_classifier-classifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_attribute_classifier-classifier" name="classifier" type="Classifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_attribute_classifier" subsettedProperty="Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_attribute_classifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_attribute_classifier-classifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedUseCase_classifier" name="A_ownedUseCase_classifier" memberEnd="Classifier-ownedUseCase A_ownedUseCase_classifier-classifier">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedUseCase_classifier-classifier" name="classifier" type="Classifier" owningAssociation="A_ownedUseCase_classifier" subsettedProperty="NamedElement-namespace" association="A_ownedUseCase_classifier">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedUseCase_classifier-classifier-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameter_ownerFormalParam" name="A_ownedParameter_ownerFormalParam" memberEnd="BehavioralFeature-ownedParameter A_ownedParameter_ownerFormalParam-ownerFormalParam">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedParameter_ownerFormalParam-ownerFormalParam" name="ownerFormalParam" type="BehavioralFeature" owningAssociation="A_ownedParameter_ownerFormalParam" subsettedProperty="NamedElement-namespace" association="A_ownedParameter_ownerFormalParam">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameter_ownerFormalParam-ownerFormalParam-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_raisedException_behavioralFeature" name="A_raisedException_behavioralFeature" memberEnd="BehavioralFeature-raisedException A_raisedException_behavioralFeature-behavioralFeature">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_raisedException_behavioralFeature-behavioralFeature" name="behavioralFeature" type="BehavioralFeature" owningAssociation="A_raisedException_behavioralFeature" association="A_raisedException_behavioralFeature">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_raisedException_behavioralFeature-behavioralFeature-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_raisedException_behavioralFeature-behavioralFeature-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameterSet_behavioralFeature" name="A_ownedParameterSet_behavioralFeature" memberEnd="BehavioralFeature-ownedParameterSet A_ownedParameterSet_behavioralFeature-behavioralFeature">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_ownedParameterSet_behavioralFeature-behavioralFeature" name="behavioralFeature" type="BehavioralFeature" owningAssociation="A_ownedParameterSet_behavioralFeature" subsettedProperty="NamedElement-namespace" association="A_ownedParameterSet_behavioralFeature">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameterSet_behavioralFeature-behavioralFeature-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_method_specification" name="A_method_specification" memberEnd="BehavioralFeature-method Behavior-specification"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_contract_substitution" name="A_contract_substitution" memberEnd="Substitution-contract A_contract_substitution-substitution">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_contract_substitution-substitution" name="substitution" type="Substitution" owningAssociation="A_contract_substitution" subsettedProperty="A_supplier_supplierDependency-supplierDependency" association="A_contract_substitution">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_contract_substitution-substitution-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_contract_substitution-substitution-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="Actions" name="Actions">
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.0" importedPackage="Classification" importingNamespace="Actions"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.1" importedPackage="StructuredClassifiers" importingNamespace="Actions"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.2" importedPackage="CommonStructure" importingNamespace="Actions"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.3" importedPackage="Activities" importingNamespace="Actions"/>
      <packageImport xmi:type="uml:PackageImport" xmi:id="_packageImport.4" importedPackage="CommonBehavior" importingNamespace="Actions"/>
      <packagedElement xmi:type="uml:Class" xmi:id="ValueSpecificationAction" name="ValueSpecificationAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecificationAction-_ownedComment.0" annotatedElement="ValueSpecificationAction">
          <body>A ValueSpecificationAction is an Action that evaluates a ValueSpecification and provides a result.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecificationAction-multiplicity" name="multiplicity" constrainedElement="ValueSpecificationAction" context="ValueSpecificationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecificationAction-multiplicity-_ownedComment.0" annotatedElement="ValueSpecificationAction-multiplicity">
            <body>The multiplicity of the result OutputPin is 1..1</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecificationAction-multiplicity-_specification">
            <language>OCL</language>
            <body>result.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ValueSpecificationAction-compatible_type" name="compatible_type" constrainedElement="ValueSpecificationAction" context="ValueSpecificationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecificationAction-compatible_type-_ownedComment.0" annotatedElement="ValueSpecificationAction-compatible_type">
            <body>The type of the value ValueSpecification must conform to the type of the result OutputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecificationAction-compatible_type-_specification">
            <language>OCL</language>
            <body>value.type.conformsTo(result.type)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ValueSpecificationAction-_generalization.0" general="Action" specific="ValueSpecificationAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ValueSpecificationAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_valueSpecificationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecificationAction-result-_ownedComment.0" annotatedElement="ValueSpecificationAction-result">
            <body>The OutputPin on which the result value is placed.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ValueSpecificationAction-value" name="value" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_valueSpecificationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValueSpecificationAction-value-_ownedComment.0" annotatedElement="ValueSpecificationAction-value">
            <body>The ValueSpecification to be evaluated.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="VariableAction" name="VariableAction" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="VariableAction-_ownedComment.0" annotatedElement="VariableAction">
          <body>VariableAction is an abstract class for Actions that operate on a specified Variable.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="VariableAction-scope_of_variable" name="scope_of_variable" constrainedElement="VariableAction" context="VariableAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="VariableAction-scope_of_variable-_ownedComment.0" annotatedElement="VariableAction-scope_of_variable">
            <body>The VariableAction must be in the scope of the variable.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="VariableAction-scope_of_variable-_specification">
            <language>OCL</language>
            <body>variable.isAccessibleBy(self)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="VariableAction-_generalization.0" general="Action" specific="VariableAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="VariableAction-variable" name="variable" type="Variable" association="A_variable_variableAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="VariableAction-variable-_ownedComment.0" annotatedElement="VariableAction-variable">
            <body>The Variable to be read or written.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="WriteLinkAction" name="WriteLinkAction" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="WriteLinkAction-_ownedComment.0" annotatedElement="WriteLinkAction">
          <body>WriteLinkAction is an abstract class for LinkActions that create and destroy links.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="WriteLinkAction-allow_access" name="allow_access" constrainedElement="WriteLinkAction" context="WriteLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteLinkAction-allow_access-_ownedComment.0" annotatedElement="WriteLinkAction-allow_access">
            <body>The visibility of at least one end must allow access from the context Classifier of the WriteLinkAction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteLinkAction-allow_access-_specification">
            <language>OCL</language>
            <body>endData.end->exists(end |&#xD;
  end.type=_'context' or&#xD;
  end.visibility=VisibilityKind::public or &#xD;
  end.visibility=VisibilityKind::protected and&#xD;
  endData.end->exists(other | &#xD;
    other&lt;>end and _'context'.conformsTo(other.type.oclAsType(Classifier))))&#xD;
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="WriteLinkAction-_generalization.0" general="LinkAction" specific="WriteLinkAction"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="WriteStructuralFeatureAction" name="WriteStructuralFeatureAction" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="WriteStructuralFeatureAction-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction">
          <body>WriteStructuralFeatureAction is an abstract class for StructuralFeatureActions that change StructuralFeature values.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="WriteStructuralFeatureAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="WriteStructuralFeatureAction" context="WriteStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteStructuralFeatureAction-multiplicity_of_result-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-multiplicity_of_result">
            <body>The multiplicity of the result OutputPin must be 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteStructuralFeatureAction-multiplicity_of_result-_specification">
            <language>OCL</language>
            <body>result &lt;> null implies result.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="WriteStructuralFeatureAction-type_of_value" name="type_of_value" constrainedElement="WriteStructuralFeatureAction" context="WriteStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteStructuralFeatureAction-type_of_value-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-type_of_value">
            <body>The type of the value InputPin must conform to the type of the structuralFeature.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteStructuralFeatureAction-type_of_value-_specification">
            <language>OCL</language>
            <body>value &lt;> null implies value.type.conformsTo(structuralFeature.type)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="WriteStructuralFeatureAction-multiplicity_of_value" name="multiplicity_of_value" constrainedElement="WriteStructuralFeatureAction" context="WriteStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteStructuralFeatureAction-multiplicity_of_value-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-multiplicity_of_value">
            <body>The multiplicity of the value InputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteStructuralFeatureAction-multiplicity_of_value-_specification">
            <language>OCL</language>
            <body>value&lt;>null implies value.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="WriteStructuralFeatureAction-type_of_result" name="type_of_result" constrainedElement="WriteStructuralFeatureAction" context="WriteStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteStructuralFeatureAction-type_of_result-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-type_of_result">
            <body>The type of the result OutputPin is the same as the type of the inherited object InputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteStructuralFeatureAction-type_of_result-_specification">
            <language>OCL</language>
            <body>result &lt;> null implies result.type = object.type</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="WriteStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction" specific="WriteStructuralFeatureAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="WriteStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_writeStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteStructuralFeatureAction-result-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-result">
            <body>The OutputPin on which is put the input object as modified by the WriteStructuralFeatureAction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="WriteStructuralFeatureAction-result-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="WriteStructuralFeatureAction-value" name="value" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_value_writeStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteStructuralFeatureAction-value-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-value">
            <body>The InputPin that provides the value to be added or removed from the StructuralFeature.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="WriteStructuralFeatureAction-value-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="WriteVariableAction" name="WriteVariableAction" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="WriteVariableAction-_ownedComment.0" annotatedElement="WriteVariableAction">
          <body>WriteVariableAction is an abstract class for VariableActions that change Variable values.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="WriteVariableAction-value_type" name="value_type" constrainedElement="WriteVariableAction" context="WriteVariableAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteVariableAction-value_type-_ownedComment.0" annotatedElement="WriteVariableAction-value_type">
            <body>The type of the value InputPin must conform to the type of the variable.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteVariableAction-value_type-_specification">
            <language>OCL</language>
            <body>value &lt;> null implies value.type.conformsTo(variable.type)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="WriteVariableAction-multiplicity" name="multiplicity" constrainedElement="WriteVariableAction" context="WriteVariableAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteVariableAction-multiplicity-_ownedComment.0" annotatedElement="WriteVariableAction-multiplicity">
            <body>The multiplicity of the value InputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteVariableAction-multiplicity-_specification">
            <language>OCL</language>
            <body>value&lt;>null implies value.is(1,1)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="WriteVariableAction-_generalization.0" general="VariableAction" specific="WriteVariableAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="WriteVariableAction-value" name="value" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_value_writeVariableAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="WriteVariableAction-value-_ownedComment.0" annotatedElement="WriteVariableAction-value">
            <body>The InputPin that gives the value to be added or removed from the Variable.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="WriteVariableAction-value-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="ExpansionKind" name="ExpansionKind">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionKind-_ownedComment.0" annotatedElement="ExpansionKind">
          <body>ExpansionKind is an enumeration type used to specify how an ExpansionRegion executes its contents.</body>
        </ownedComment>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ExpansionKind-parallel" name="parallel" enumeration="ExpansionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionKind-parallel-_ownedComment.0" annotatedElement="ExpansionKind-parallel">
            <body>The content of the ExpansionRegion is executed concurrently for the elements of the input collections.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ExpansionKind-iterative" name="iterative" enumeration="ExpansionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionKind-iterative-_ownedComment.0" annotatedElement="ExpansionKind-iterative">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
        <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="ExpansionKind-stream" name="stream" enumeration="ExpansionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionKind-stream-_ownedComment.0" annotatedElement="ExpansionKind-stream">
            <body>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.</body>
          </ownedComment>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="AcceptCallAction" name="AcceptCallAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="AcceptCallAction-_ownedComment.0" annotatedElement="AcceptCallAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AcceptCallAction-result_pins" name="result_pins" constrainedElement="AcceptCallAction" context="AcceptCallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptCallAction-result_pins-_ownedComment.0" annotatedElement="AcceptCallAction-result_pins">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptCallAction-result_pins-_specification">
            <language>OCL</language>
            <body>let parameter: OrderedSet(Parameter) = trigger.event->asSequence()->first().oclAsType(CallEvent).operation.inputParameters() in&#xD;
result->size() = parameter->size() and&#xD;
Sequence{1..result->size()}->forAll(i | &#xD;
	parameter->at(i).type.conformsTo(result->at(i).type) and &#xD;
	parameter->at(i).isOrdered = result->at(i).isOrdered and&#xD;
	parameter->at(i).compatibleWith(result->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AcceptCallAction-trigger_call_event" name="trigger_call_event" constrainedElement="AcceptCallAction" context="AcceptCallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptCallAction-trigger_call_event-_ownedComment.0" annotatedElement="AcceptCallAction-trigger_call_event">
            <body>The action must have exactly one trigger, which must be for a CallEvent.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptCallAction-trigger_call_event-_specification">
            <language>OCL</language>
            <body>trigger->size()=1 and&#xD;
trigger->asSequence()->first().event.oclIsKindOf(CallEvent)&#xD;
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AcceptCallAction-unmarshall" name="unmarshall" constrainedElement="AcceptCallAction" context="AcceptCallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptCallAction-unmarshall-_ownedComment.0" annotatedElement="AcceptCallAction-unmarshall">
            <body>isUnmrashall must be true for an AcceptCallAction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptCallAction-unmarshall-_specification">
            <language>OCL</language>
            <body>isUnmarshall = true</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="AcceptCallAction-_generalization.0" general="AcceptEventAction" specific="AcceptCallAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="AcceptCallAction-returnInformation" name="returnInformation" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_returnInformation_acceptCallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptCallAction-returnInformation-_ownedComment.0" annotatedElement="AcceptCallAction-returnInformation">
            <body>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.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="AcceptEventAction" name="AcceptEventAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-_ownedComment.0" annotatedElement="AcceptEventAction">
          <body>An AcceptEventAction is an Action that waits for the occurrence of one or more specific Events.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AcceptEventAction-one_output_pin" name="one_output_pin" constrainedElement="AcceptEventAction" context="AcceptEventAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-one_output_pin-_ownedComment.0" annotatedElement="AcceptEventAction-one_output_pin">
            <body>If isUnmarshall=false and any of the triggers are for SignalEvents or TimeEvents, there must be exactly one result OutputPin with multiplicity 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-one_output_pin-_specification">
            <language>OCL</language>
            <body>not isUnmarshall and trigger->exists(event.oclIsKindOf(SignalEvent) or event.oclIsKindOf(TimeEvent)) implies &#xD;
	output->size() = 1 and output->first().is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AcceptEventAction-no_input_pins" name="no_input_pins" constrainedElement="AcceptEventAction" context="AcceptEventAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-no_input_pins-_ownedComment.0" annotatedElement="AcceptEventAction-no_input_pins">
            <body>AcceptEventActions may have no input pins.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-no_input_pins-_specification">
            <language>OCL</language>
            <body>input->size() = 0</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AcceptEventAction-no_output_pins" name="no_output_pins" constrainedElement="AcceptEventAction" context="AcceptEventAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-no_output_pins-_ownedComment.0" annotatedElement="AcceptEventAction-no_output_pins">
            <body>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).</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-no_output_pins-_specification">
            <language>OCL</language>
            <body>(self.oclIsTypeOf(AcceptEventAction) and&#xD;
   (trigger->forAll(event.oclIsKindOf(ChangeEvent) or  &#xD;
                             event.oclIsKindOf(CallEvent))))&#xD;
implies output->size() = 0</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AcceptEventAction-unmarshall_signal_events" name="unmarshall_signal_events" constrainedElement="AcceptEventAction" context="AcceptEventAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-unmarshall_signal_events-_ownedComment.0" annotatedElement="AcceptEventAction-unmarshall_signal_events">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-unmarshall_signal_events-_specification">
            <language>OCL</language>
            <body>isUnmarshall and self.oclIsTypeOf(AcceptEventAction) implies&#xD;
	trigger->size()=1 and&#xD;
	trigger->asSequence()->first().event.oclIsKindOf(SignalEvent) and&#xD;
	let attribute: OrderedSet(Property) = trigger->asSequence()->first().event.oclAsType(SignalEvent).signal.allAttributes() in&#xD;
	attribute->size()>0 and result->size() = attribute->size() and&#xD;
	Sequence{1..result->size()}->forAll(i | &#xD;
		result->at(i).type = attribute->at(i).type and &#xD;
		result->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;
		result->at(i).includesMultiplicity(attribute->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AcceptEventAction-conforming_type" name="conforming_type" constrainedElement="AcceptEventAction" context="AcceptEventAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-conforming_type-_ownedComment.0" annotatedElement="AcceptEventAction-conforming_type">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-conforming_type-_specification">
            <language>OCL</language>
            <body>not isUnmarshall implies &#xD;
	result->isEmpty() or&#xD;
	let type: Type = result->first().type in&#xD;
	type=null or &#xD;
		(trigger->forAll(event.oclIsKindOf(SignalEvent)) and &#xD;
		 trigger.event.oclAsType(SignalEvent).signal->forAll(s | s.conformsTo(type)))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="AcceptEventAction-_generalization.0" general="Action" specific="AcceptEventAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="AcceptEventAction-isUnmarshall" name="isUnmarshall">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-isUnmarshall-_ownedComment.0" annotatedElement="AcceptEventAction-isUnmarshall">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="AcceptEventAction-isUnmarshall-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="AcceptEventAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_acceptEventAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-result-_ownedComment.0" annotatedElement="AcceptEventAction-result">
            <body>OutputPins holding the values received from an Event occurrence.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="AcceptEventAction-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="AcceptEventAction-result-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="AcceptEventAction-trigger" name="trigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_trigger_acceptEventAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AcceptEventAction-trigger-_ownedComment.0" annotatedElement="AcceptEventAction-trigger">
            <body>The Triggers specifying the Events of which the AcceptEventAction waits for occurrences.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="AcceptEventAction-trigger-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Action" name="Action" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Action-_ownedComment.0" annotatedElement="Action">
          <body>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.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="Action-_generalization.0" general="ExecutableNode" specific="Action"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Action-context" name="context" type="Classifier" isReadOnly="true" isDerived="true" association="A_context_action">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-context-_ownedComment.0" annotatedElement="Action-context">
            <body>The context Classifier of the Behavior that contains this Action, or the Behavior itself if it has no context.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-context-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Action-input" name="input" type="InputPin" isOrdered="true" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement" association="A_input_action">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-input-_ownedComment.0" annotatedElement="Action-input">
            <body>The ordered set of InputPins representing the inputs to the Action.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-input-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-input-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Action-isLocallyReentrant" name="isLocallyReentrant">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-isLocallyReentrant-_ownedComment.0" annotatedElement="Action-isLocallyReentrant">
            <body>If true, the Action can begin a new, concurrent execution, even if there is already another execution of the Action ongoing. If false, the Action cannot begin a new execution until any previous execution has completed.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Action-isLocallyReentrant-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Action-localPostcondition" name="localPostcondition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_localPostcondition_action">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-localPostcondition-_ownedComment.0" annotatedElement="Action-localPostcondition">
            <body>A Constraint that must be satisfied when execution of the Action is completed.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-localPostcondition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-localPostcondition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Action-localPrecondition" name="localPrecondition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_localPrecondition_action">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-localPrecondition-_ownedComment.0" annotatedElement="Action-localPrecondition">
            <body>A Constraint that must be satisfied when execution of the Action is started.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-localPrecondition-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-localPrecondition-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Action-output" name="output" type="OutputPin" isOrdered="true" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement" association="A_output_action">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-output-_ownedComment.0" annotatedElement="Action-output">
            <body>The ordered set of OutputPins representing outputs from the Action.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-output-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-output-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Action-context.1" name="context" bodyCondition="Action-context.1-spec" class="Action" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-context.1-_ownedComment.0" annotatedElement="Action-context.1">
            <body>The derivation for the context property.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Action-context.1-spec" name="spec" constrainedElement="Action-context.1 Action-context" context="Action-context.1">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Action-context.1-spec-_specification">
              <language>OCL</language>
              <body>result = (let behavior: Behavior = self.containingBehavior() in&#xD;
if behavior=null then null&#xD;
else if behavior._'context' = null then behavior&#xD;
else behavior._'context'&#xD;
endif&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Action-context.1-result" name="result" type="Classifier" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-context.1-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Action-allActions" name="allActions" bodyCondition="Action-allActions-spec" class="Action" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-allActions-_ownedComment.0" annotatedElement="Action-allActions">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Action-allActions-spec" name="spec" constrainedElement="Action-allActions" context="Action-allActions">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Action-allActions-spec-_specification">
              <language>OCL</language>
              <body>result = (self->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Action-allActions-result" name="result" type="Action" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-allActions-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-allActions-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Action-allOwnedNodes" name="allOwnedNodes" bodyCondition="Action-allOwnedNodes-spec" class="Action" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="Action-allOwnedNodes-_ownedComment.0" annotatedElement="Action-allOwnedNodes">
            <body>Returns all the ActivityNodes directly or indirectly owned by this Action. This includes at least all the Pins of the Action.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="Action-allOwnedNodes-spec" name="spec" constrainedElement="Action-allOwnedNodes" context="Action-allOwnedNodes">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Action-allOwnedNodes-spec-_specification">
              <language>OCL</language>
              <body>result = (input.oclAsType(Pin)->asSet()->union(output->asSet()))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Action-allOwnedNodes-result" name="result" type="ActivityNode" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-allOwnedNodes-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-allOwnedNodes-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="Action-containingBehavior" name="containingBehavior" bodyCondition="Action-containingBehavior-spec" class="Action" isQuery="true">
          <ownedRule xmi:type="uml:Constraint" xmi:id="Action-containingBehavior-spec" name="spec" constrainedElement="Action-containingBehavior" context="Action-containingBehavior">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="Action-containingBehavior-spec-_specification">
              <language>OCL</language>
              <body>result = (if inStructuredNode&lt;>null then inStructuredNode.containingBehavior() &#xD;
else if activity&lt;>null then activity&#xD;
else interaction &#xD;
endif&#xD;
endif&#xD;
)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="Action-containingBehavior-result" name="result" type="Behavior" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-containingBehavior-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ActionInputPin" name="ActionInputPin">
        <ownedComment xmi:type="uml:Comment" xmi:id="ActionInputPin-_ownedComment.0" annotatedElement="ActionInputPin">
          <body>An ActionInputPin is a kind of InputPin that executes an Action to determine the values to input to another Action.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActionInputPin-input_pin" name="input_pin" constrainedElement="ActionInputPin" context="ActionInputPin">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActionInputPin-input_pin-_ownedComment.0" annotatedElement="ActionInputPin-input_pin">
            <body>The fromAction of an ActionInputPin must only have ActionInputPins as InputPins.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActionInputPin-input_pin-_specification">
            <language>OCL</language>
            <body>fromAction.input->forAll(oclIsKindOf(ActionInputPin))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActionInputPin-one_output_pin" name="one_output_pin" constrainedElement="ActionInputPin" context="ActionInputPin">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActionInputPin-one_output_pin-_ownedComment.0" annotatedElement="ActionInputPin-one_output_pin">
            <body>The fromAction of an ActionInputPin must have exactly one OutputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActionInputPin-one_output_pin-_specification">
            <language>OCL</language>
            <body>fromAction.output->size() = 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ActionInputPin-no_control_or_object_flow" name="no_control_or_object_flow" constrainedElement="ActionInputPin" context="ActionInputPin">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActionInputPin-no_control_or_object_flow-_ownedComment.0" annotatedElement="ActionInputPin-no_control_or_object_flow">
            <body>The fromAction of an ActionInputPin cannot have ActivityEdges coming into or out of it or its Pins.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActionInputPin-no_control_or_object_flow-_specification">
            <language>OCL</language>
            <body>fromAction.incoming->union(outgoing)->isEmpty() and&#xD;
fromAction.input.incoming->isEmpty() and&#xD;
fromAction.output.outgoing->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ActionInputPin-_generalization.0" general="InputPin" specific="ActionInputPin"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ActionInputPin-fromAction" name="fromAction" type="Action" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_fromAction_actionInputPin">
          <ownedComment xmi:type="uml:Comment" xmi:id="ActionInputPin-fromAction-_ownedComment.0" annotatedElement="ActionInputPin-fromAction">
            <body>The Action used to provide the values of the ActionInputPin.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="AddStructuralFeatureValueAction" name="AddStructuralFeatureValueAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="AddStructuralFeatureValueAction-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction">
          <body>An AddStructuralFeatureValueAction is a WriteStructuralFeatureAction for adding values to a StructuralFeature.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AddStructuralFeatureValueAction-required_value" name="required_value" constrainedElement="AddStructuralFeatureValueAction" context="AddStructuralFeatureValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AddStructuralFeatureValueAction-required_value-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction-required_value">
            <body>A value InputPin is required.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AddStructuralFeatureValueAction-required_value-_specification">
            <language>OCL</language>
            <body>value&lt;>null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AddStructuralFeatureValueAction-insertAt_pin" name="insertAt_pin" constrainedElement="AddStructuralFeatureValueAction" context="AddStructuralFeatureValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AddStructuralFeatureValueAction-insertAt_pin-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction-insertAt_pin">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AddStructuralFeatureValueAction-insertAt_pin-_specification">
            <language>OCL</language>
            <body>if not structuralFeature.isOrdered then insertAt = null
else 
  not isReplaceAll implies
  	insertAt&lt;>null and 
  	insertAt->forAll(type=UnlimitedNatural and is(1,1.oclAsType(UnlimitedNatural)))
endif
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="AddStructuralFeatureValueAction-_generalization.0" general="WriteStructuralFeatureAction" specific="AddStructuralFeatureValueAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="AddStructuralFeatureValueAction-insertAt" name="insertAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_insertAt_addStructuralFeatureValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AddStructuralFeatureValueAction-insertAt-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction-insertAt">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="AddStructuralFeatureValueAction-insertAt-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="AddStructuralFeatureValueAction-isReplaceAll" name="isReplaceAll">
          <ownedComment xmi:type="uml:Comment" xmi:id="AddStructuralFeatureValueAction-isReplaceAll-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction-isReplaceAll">
            <body>Specifies whether existing values of the StructuralFeature should be removed before adding the new value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="AddStructuralFeatureValueAction-isReplaceAll-_defaultValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="AddVariableValueAction" name="AddVariableValueAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="AddVariableValueAction-_ownedComment.0" annotatedElement="AddVariableValueAction">
          <body>An AddVariableValueAction is a WriteVariableAction for adding values to a Variable.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AddVariableValueAction-required_value" name="required_value" constrainedElement="AddVariableValueAction" context="AddVariableValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AddVariableValueAction-required_value-_ownedComment.0" annotatedElement="AddVariableValueAction-required_value">
            <body>A value InputPin is required.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AddVariableValueAction-required_value-_specification">
            <language>OCL</language>
            <body>value &lt;> null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="AddVariableValueAction-insertAt_pin" name="insertAt_pin" constrainedElement="AddVariableValueAction" context="AddVariableValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AddVariableValueAction-insertAt_pin-_ownedComment.0" annotatedElement="AddVariableValueAction-insertAt_pin">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="AddVariableValueAction-insertAt_pin-_specification">
            <language>OCL</language>
            <body>if not variable.isOrdered then insertAt = null
else 
  not isReplaceAll implies
  	insertAt&lt;>null and 
  	insertAt->forAll(type=UnlimitedNatural and is(1,1.oclAsType(UnlimitedNatural)))
endif
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="AddVariableValueAction-_generalization.0" general="WriteVariableAction" specific="AddVariableValueAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="AddVariableValueAction-insertAt" name="insertAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_insertAt_addVariableValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="AddVariableValueAction-insertAt-_ownedComment.0" annotatedElement="AddVariableValueAction-insertAt">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="AddVariableValueAction-insertAt-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="AddVariableValueAction-isReplaceAll" name="isReplaceAll">
          <ownedComment xmi:type="uml:Comment" xmi:id="AddVariableValueAction-isReplaceAll-_ownedComment.0" annotatedElement="AddVariableValueAction-isReplaceAll">
            <body>Specifies whether existing values of the Variable should be removed before adding the new value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="AddVariableValueAction-isReplaceAll-_defaultValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="BroadcastSignalAction" name="BroadcastSignalAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="BroadcastSignalAction-_ownedComment.0" annotatedElement="BroadcastSignalAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="BroadcastSignalAction-number_of_arguments" name="number_of_arguments" constrainedElement="BroadcastSignalAction" context="BroadcastSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="BroadcastSignalAction-number_of_arguments-_ownedComment.0" annotatedElement="BroadcastSignalAction-number_of_arguments">
            <body>The number of argument InputPins must be the same as the number of attributes in the signal.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="BroadcastSignalAction-number_of_arguments-_specification">
            <language>OCL</language>
            <body>argument->size() = signal.allAttributes()->size()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="BroadcastSignalAction-type_ordering_multiplicity" name="type_ordering_multiplicity" constrainedElement="BroadcastSignalAction" context="BroadcastSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="BroadcastSignalAction-type_ordering_multiplicity-_ownedComment.0" annotatedElement="BroadcastSignalAction-type_ordering_multiplicity">
            <body>The type, ordering, and multiplicity of an argument InputPin must be the same as the corresponding attribute of the signal.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="BroadcastSignalAction-type_ordering_multiplicity-_specification">
            <language>OCL</language>
            <body>let attribute: OrderedSet(Property) = signal.allAttributes() in&#xD;
Sequence{1..argument->size()}->forAll(i | &#xD;
	argument->at(i).type.conformsTo(attribute->at(i).type) and &#xD;
	argument->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;
	argument->at(i).compatibleWith(attribute->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="BroadcastSignalAction-no_onport" name="no_onport" constrainedElement="BroadcastSignalAction" context="BroadcastSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="BroadcastSignalAction-no_onport-_ownedComment.0" annotatedElement="BroadcastSignalAction-no_onport">
            <body>A BroadcaseSignalAction may not specify onPort.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="BroadcastSignalAction-no_onport-_specification">
            <language>OCL</language>
            <body>onPort=null</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="BroadcastSignalAction-_generalization.0" general="InvocationAction" specific="BroadcastSignalAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="BroadcastSignalAction-signal" name="signal" type="Signal" association="A_signal_broadcastSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="BroadcastSignalAction-signal-_ownedComment.0" annotatedElement="BroadcastSignalAction-signal">
            <body>The Signal whose instances are to be sent.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CallAction" name="CallAction" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="CallAction-_ownedComment.0" annotatedElement="CallAction">
          <body>CallAction is an abstract class for Actions that invoke a Behavior with given argument values and (if the invocation is synchronous) receive reply values.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CallAction-argument_pins" name="argument_pins" constrainedElement="CallAction" context="CallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallAction-argument_pins-_ownedComment.0" annotatedElement="CallAction-argument_pins">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallAction-argument_pins-_specification">
            <language>OCL</language>
            <body>let parameter: OrderedSet(Parameter) = self.inputParameters() in&#xD;
argument->size() = parameter->size() and&#xD;
Sequence{1..argument->size()}->forAll(i | &#xD;
	argument->at(i).type.conformsTo(parameter->at(i).type) and &#xD;
	argument->at(i).isOrdered = parameter->at(i).isOrdered and&#xD;
	argument->at(i).compatibleWith(parameter->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CallAction-result_pins" name="result_pins" constrainedElement="CallAction" context="CallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallAction-result_pins-_ownedComment.0" annotatedElement="CallAction-result_pins">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallAction-result_pins-_specification">
            <language>OCL</language>
            <body>let parameter: OrderedSet(Parameter) = self.outputParameters() in&#xD;
result->size() = parameter->size() and&#xD;
Sequence{1..result->size()}->forAll(i | &#xD;
	parameter->at(i).type.conformsTo(result->at(i).type) and &#xD;
	parameter->at(i).isOrdered = result->at(i).isOrdered and&#xD;
	parameter->at(i).compatibleWith(result->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CallAction-synchronous_call" name="synchronous_call" constrainedElement="CallAction" context="CallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallAction-synchronous_call-_ownedComment.0" annotatedElement="CallAction-synchronous_call">
            <body>Only synchronous CallActions can have result OutputPins.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallAction-synchronous_call-_specification">
            <language>OCL</language>
            <body>result->notEmpty() implies isSynchronous</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CallAction-_generalization.0" general="InvocationAction" specific="CallAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CallAction-isSynchronous" name="isSynchronous">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallAction-isSynchronous-_ownedComment.0" annotatedElement="CallAction-isSynchronous">
            <body>If true, the call is synchronous and the caller waits for completion of the invoked Behavior. If false, the call is asynchronous and the caller proceeds immediately and cannot receive return values.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="CallAction-isSynchronous-_defaultValue" value="true"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CallAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_callAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallAction-result-_ownedComment.0" annotatedElement="CallAction-result">
            <body>The OutputPins on which the reply values from the invocation are placed (if the call is synchronous).</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallAction-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallAction-result-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="CallAction-inputParameters" name="inputParameters" isAbstract="true" class="CallAction" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallAction-inputParameters-_ownedComment.0" annotatedElement="CallAction-inputParameters">
            <body>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.)</body>
          </ownedComment>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="CallAction-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallAction-inputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallAction-inputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="CallAction-outputParameters" name="outputParameters" isAbstract="true" class="CallAction" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallAction-outputParameters-_ownedComment.0" annotatedElement="CallAction-outputParameters">
            <body>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.)</body>
          </ownedComment>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="CallAction-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallAction-outputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallAction-outputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CallBehaviorAction" name="CallBehaviorAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="CallBehaviorAction-_ownedComment.0" annotatedElement="CallBehaviorAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CallBehaviorAction-no_onport" name="no_onport" constrainedElement="CallBehaviorAction" context="CallBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallBehaviorAction-no_onport-_ownedComment.0" annotatedElement="CallBehaviorAction-no_onport">
            <body>A CallBehaviorAction may not specify onPort.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallBehaviorAction-no_onport-_specification">
            <language>OCL</language>
            <body>onPort=null</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CallBehaviorAction-_generalization.0" general="CallAction" specific="CallBehaviorAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CallBehaviorAction-behavior" name="behavior" type="Behavior" association="A_behavior_callBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallBehaviorAction-behavior-_ownedComment.0" annotatedElement="CallBehaviorAction-behavior">
            <body>The Behavior being invoked.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="CallBehaviorAction-outputParameters" name="outputParameters" bodyCondition="CallBehaviorAction-outputParameters-spec" class="CallBehaviorAction" isQuery="true" redefinedOperation="CallAction-outputParameters">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallBehaviorAction-outputParameters-_ownedComment.0" annotatedElement="CallBehaviorAction-outputParameters">
            <body>Return the inout, out and return ownedParameters of the Behavior being called.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="CallBehaviorAction-outputParameters-spec" name="spec" constrainedElement="CallBehaviorAction-outputParameters" context="CallBehaviorAction-outputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="CallBehaviorAction-outputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (behavior.outputParameters())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="CallBehaviorAction-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallBehaviorAction-outputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallBehaviorAction-outputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="CallBehaviorAction-inputParameters" name="inputParameters" bodyCondition="CallBehaviorAction-inputParameters-spec" class="CallBehaviorAction" isQuery="true" redefinedOperation="CallAction-inputParameters">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallBehaviorAction-inputParameters-_ownedComment.0" annotatedElement="CallBehaviorAction-inputParameters">
            <body>Return the in and inout ownedParameters of the Behavior being called.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="CallBehaviorAction-inputParameters-spec" name="spec" constrainedElement="CallBehaviorAction-inputParameters" context="CallBehaviorAction-inputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="CallBehaviorAction-inputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (behavior.inputParameters())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="CallBehaviorAction-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallBehaviorAction-inputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallBehaviorAction-inputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CallOperationAction" name="CallOperationAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="CallOperationAction-_ownedComment.0" annotatedElement="CallOperationAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CallOperationAction-type_target_pin" name="type_target_pin" constrainedElement="CallOperationAction" context="CallOperationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallOperationAction-type_target_pin-_ownedComment.0" annotatedElement="CallOperationAction-type_target_pin">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallOperationAction-type_target_pin-_specification">
            <language>OCL</language>
            <body>if onPort=null then  target.type.oclAsType(Classifier).allFeatures()->includes(operation)&#xD;
else target.type.oclAsType(Classifier).allFeatures()->includes(onPort) and onPort.provided->union(onPort.required).allFeatures()->includes(operation)&#xD;
endif</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CallOperationAction-_generalization.0" general="CallAction" specific="CallOperationAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CallOperationAction-operation" name="operation" type="Operation" association="A_operation_callOperationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallOperationAction-operation-_ownedComment.0" annotatedElement="CallOperationAction-operation">
            <body>The Operation being invoked.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CallOperationAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_callOperationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallOperationAction-target-_ownedComment.0" annotatedElement="CallOperationAction-target">
            <body>The InputPin that provides the target object to which the Operation call request is sent.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="CallOperationAction-outputParameters" name="outputParameters" bodyCondition="CallOperationAction-outputParameters-spec" class="CallOperationAction" isQuery="true" redefinedOperation="CallAction-outputParameters">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallOperationAction-outputParameters-_ownedComment.0" annotatedElement="CallOperationAction-outputParameters">
            <body>Return the inout, out and return ownedParameters of the Operation being called.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="CallOperationAction-outputParameters-spec" name="spec" constrainedElement="CallOperationAction-outputParameters" context="CallOperationAction-outputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="CallOperationAction-outputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (operation.outputParameters())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="CallOperationAction-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallOperationAction-outputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallOperationAction-outputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="CallOperationAction-inputParameters" name="inputParameters" bodyCondition="CallOperationAction-inputParameters-spec" class="CallOperationAction" isQuery="true" redefinedOperation="CallAction-inputParameters">
          <ownedComment xmi:type="uml:Comment" xmi:id="CallOperationAction-inputParameters-_ownedComment.0" annotatedElement="CallOperationAction-inputParameters">
            <body>Return the in and inout ownedParameters of the Operation being called.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="CallOperationAction-inputParameters-spec" name="spec" constrainedElement="CallOperationAction-inputParameters" context="CallOperationAction-inputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="CallOperationAction-inputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (operation.inputParameters())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="CallOperationAction-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallOperationAction-inputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallOperationAction-inputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Clause" name="Clause">
        <ownedComment xmi:type="uml:Comment" xmi:id="Clause-_ownedComment.0" annotatedElement="Clause">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Clause-body_output_pins" name="body_output_pins" constrainedElement="Clause" context="Clause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-body_output_pins-_ownedComment.0" annotatedElement="Clause-body_output_pins">
            <body>The bodyOutput Pins are OutputPins on Actions in the body of the Clause.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Clause-body_output_pins-_specification">
            <language>OCL</language>
            <body>_'body'.oclAsType(Action).allActions().output->includesAll(bodyOutput)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Clause-decider_output" name="decider_output" constrainedElement="Clause" context="Clause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-decider_output-_ownedComment.0" annotatedElement="Clause-decider_output">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Clause-decider_output-_specification">
            <language>OCL</language>
            <body>test.oclAsType(Action).allActions().output->includes(decider) and&#xD;
decider.type = Boolean and&#xD;
decider.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Clause-test_and_body" name="test_and_body" constrainedElement="Clause" context="Clause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-test_and_body-_ownedComment.0" annotatedElement="Clause-test_and_body">
            <body>The test and body parts of a ConditionalNode must be disjoint with each other.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Clause-test_and_body-_specification">
            <language>OCL</language>
            <body>test->intersection(_'body')->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Clause-_generalization.0" general="Element" specific="Clause"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Clause-body" name="body" type="ExecutableNode" association="A_body_clause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-body-_ownedComment.0" annotatedElement="Clause-body">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Clause-body-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-body-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Clause-bodyOutput" name="bodyOutput" type="OutputPin" isOrdered="true" association="A_bodyOutput_clause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-bodyOutput-_ownedComment.0" annotatedElement="Clause-bodyOutput">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Clause-bodyOutput-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-bodyOutput-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Clause-decider" name="decider" type="OutputPin" association="A_decider_clause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-decider-_ownedComment.0" annotatedElement="Clause-decider">
            <body>An OutputPin on an Action in the test section whose Boolean value determines the result of the test.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Clause-predecessorClause" name="predecessorClause" type="Clause" association="A_predecessorClause_successorClause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-predecessorClause-_ownedComment.0" annotatedElement="Clause-predecessorClause">
            <body>A set of Clauses whose tests must all evaluate to false before this Clause can evaluate its test.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Clause-predecessorClause-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-predecessorClause-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Clause-successorClause" name="successorClause" type="Clause" association="A_predecessorClause_successorClause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-successorClause-_ownedComment.0" annotatedElement="Clause-successorClause">
            <body>A set of Clauses that may not evaluate their tests unless the test for this Clause evaluates to false.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Clause-successorClause-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-successorClause-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Clause-test" name="test" type="ExecutableNode" association="A_test_clause">
          <ownedComment xmi:type="uml:Comment" xmi:id="Clause-test-_ownedComment.0" annotatedElement="Clause-test">
            <body>The set of ExecutableNodes that are executed in order to provide a test result for the Clause.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-test-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ClearAssociationAction" name="ClearAssociationAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ClearAssociationAction-_ownedComment.0" annotatedElement="ClearAssociationAction">
          <body>A ClearAssociationAction is an Action that destroys all links of an Association in which a particular object participates.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClearAssociationAction-multiplicity" name="multiplicity" constrainedElement="ClearAssociationAction" context="ClearAssociationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClearAssociationAction-multiplicity-_ownedComment.0" annotatedElement="ClearAssociationAction-multiplicity">
            <body>The multiplicity of the object InputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClearAssociationAction-multiplicity-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClearAssociationAction-same_type" name="same_type" constrainedElement="ClearAssociationAction" context="ClearAssociationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClearAssociationAction-same_type-_ownedComment.0" annotatedElement="ClearAssociationAction-same_type">
            <body>The type of the InputPin must conform to the type of at least one of the memberEnds of the association.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClearAssociationAction-same_type-_specification">
            <language>OCL</language>
            <body>association.memberEnd->exists(self.object.type.conformsTo(type))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ClearAssociationAction-_generalization.0" general="Action" specific="ClearAssociationAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ClearAssociationAction-association" name="association" type="Association" association="A_association_clearAssociationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClearAssociationAction-association-_ownedComment.0" annotatedElement="ClearAssociationAction-association">
            <body>The Association to be cleared.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ClearAssociationAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_clearAssociationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClearAssociationAction-object-_ownedComment.0" annotatedElement="ClearAssociationAction-object">
            <body>The InputPin that gives the object whose participation in the Association is to be cleared.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ClearStructuralFeatureAction" name="ClearStructuralFeatureAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ClearStructuralFeatureAction-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction">
          <body>A ClearStructuralFeatureAction is a StructuralFeatureAction that removes all values of a StructuralFeature.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClearStructuralFeatureAction-type_of_result" name="type_of_result" constrainedElement="ClearStructuralFeatureAction" context="ClearStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClearStructuralFeatureAction-type_of_result-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction-type_of_result">
            <body>The type of the result OutputPin is the same as the type of the inherited object InputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClearStructuralFeatureAction-type_of_result-_specification">
            <language>OCL</language>
            <body>result&lt;>null implies result.type = object.type</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ClearStructuralFeatureAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ClearStructuralFeatureAction" context="ClearStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClearStructuralFeatureAction-multiplicity_of_result-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction-multiplicity_of_result">
            <body>The multiplicity of the result OutputPin must be 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ClearStructuralFeatureAction-multiplicity_of_result-_specification">
            <language>OCL</language>
            <body>result&lt;>null implies result.is(1,1)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ClearStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction" specific="ClearStructuralFeatureAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ClearStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_clearStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ClearStructuralFeatureAction-result-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction-result">
            <body>The OutputPin on which is put the input object as modified by the ClearStructuralFeatureAction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ClearStructuralFeatureAction-result-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ClearVariableAction" name="ClearVariableAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ClearVariableAction-_ownedComment.0" annotatedElement="ClearVariableAction">
          <body>A ClearVariableAction is a VariableAction that removes all values of a Variable.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ClearVariableAction-_generalization.0" general="VariableAction" specific="ClearVariableAction"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ConditionalNode" name="ConditionalNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-_ownedComment.0" annotatedElement="ConditionalNode">
          <body>A ConditionalNode is a StructuredActivityNode that chooses one among some number of alternative collections of ExecutableNodes to execute.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConditionalNode-result_no_incoming" name="result_no_incoming" constrainedElement="ConditionalNode" context="ConditionalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-result_no_incoming-_ownedComment.0" annotatedElement="ConditionalNode-result_no_incoming">
            <body>The result OutputPins have no incoming edges.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-result_no_incoming-_specification">
            <language>OCL</language>
            <body>result.incoming->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConditionalNode-no_input_pins" name="no_input_pins" constrainedElement="ConditionalNode" context="ConditionalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-no_input_pins-_ownedComment.0" annotatedElement="ConditionalNode-no_input_pins">
            <body>A ConditionalNode has no InputPins.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-no_input_pins-_specification">
            <language>OCL</language>
            <body>input->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConditionalNode-one_clause_with_executable_node" name="one_clause_with_executable_node" constrainedElement="ConditionalNode" context="ConditionalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-one_clause_with_executable_node-_ownedComment.0" annotatedElement="ConditionalNode-one_clause_with_executable_node">
            <body>No ExecutableNode in the ConditionNode may appear in the test or body part of more than one clause of a ConditionalNode.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-one_clause_with_executable_node-_specification">
            <language>OCL</language>
            <body>node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->forAll(n | &#xD;
	self.clause->select(test->union(_'body')->includes(n))->size()=1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConditionalNode-matching_output_pins" name="matching_output_pins" constrainedElement="ConditionalNode" context="ConditionalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-matching_output_pins-_ownedComment.0" annotatedElement="ConditionalNode-matching_output_pins">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-matching_output_pins-_specification">
            <language>OCL</language>
            <body>clause->forAll(&#xD;
	bodyOutput->size()=self.result->size() and&#xD;
	Sequence{1..self.result->size()}->forAll(i |&#xD;
		bodyOutput->at(i).type.conformsTo(result->at(i).type) and&#xD;
		bodyOutput->at(i).isOrdered = result->at(i).isOrdered and&#xD;
		bodyOutput->at(i).isUnique = result->at(i).isUnique and&#xD;
		bodyOutput->at(i).compatibleWith(result->at(i))))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConditionalNode-executable_nodes" name="executable_nodes" constrainedElement="ConditionalNode" context="ConditionalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-executable_nodes-_ownedComment.0" annotatedElement="ConditionalNode-executable_nodes">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-executable_nodes-_specification">
            <language>OCL</language>
            <body>clause.test->union(clause._'body') = node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ConditionalNode-clause_no_predecessor" name="clause_no_predecessor" constrainedElement="ConditionalNode" context="ConditionalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-clause_no_predecessor-_ownedComment.0" annotatedElement="ConditionalNode-clause_no_predecessor">
            <body>No two clauses within a ConditionalNode may be predecessorClauses of each other, either directly or indirectly.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-clause_no_predecessor-_specification">
            <language>OCL</language>
            <body>clause->closure(predecessorClause)->intersection(clause)->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ConditionalNode-_generalization.0" general="StructuredActivityNode" specific="ConditionalNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConditionalNode-clause" name="clause" type="Clause" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_clause_conditionalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-clause-_ownedComment.0" annotatedElement="ConditionalNode-clause">
            <body>The set of Clauses composing the ConditionalNode.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConditionalNode-clause-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConditionalNode-isAssured" name="isAssured">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-isAssured-_ownedComment.0" annotatedElement="ConditionalNode-isAssured">
            <body>If true, the modeler asserts that the test for at least one Clause of the ConditionalNode will succeed.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ConditionalNode-isAssured-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConditionalNode-isDeterminate" name="isDeterminate">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-isDeterminate-_ownedComment.0" annotatedElement="ConditionalNode-isDeterminate">
            <body>If true, the modeler asserts that the test for at most one Clause of the ConditionalNode will succeed.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ConditionalNode-isDeterminate-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ConditionalNode-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeOutput" association="A_result_conditionalNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-result-_ownedComment.0" annotatedElement="ConditionalNode-result">
            <body>The OutputPins that onto which are moved values from the bodyOutputs of the Clause selected for execution.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConditionalNode-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConditionalNode-result-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ConditionalNode-allActions" name="allActions" bodyCondition="ConditionalNode-allActions-spec" class="ConditionalNode" isQuery="true" redefinedOperation="Action-allActions">
          <ownedComment xmi:type="uml:Comment" xmi:id="ConditionalNode-allActions-_ownedComment.0" annotatedElement="ConditionalNode-allActions">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ConditionalNode-allActions-spec" name="spec" constrainedElement="ConditionalNode-allActions" context="ConditionalNode-allActions">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-allActions-spec-_specification">
              <language>OCL</language>
              <body>result = (self->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ConditionalNode-allActions-result" name="result" type="Action" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConditionalNode-allActions-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConditionalNode-allActions-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CreateLinkAction" name="CreateLinkAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="CreateLinkAction-_ownedComment.0" annotatedElement="CreateLinkAction">
          <body>A CreateLinkAction is a WriteLinkAction for creating links.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CreateLinkAction-association_not_abstract" name="association_not_abstract" constrainedElement="CreateLinkAction" context="CreateLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateLinkAction-association_not_abstract-_ownedComment.0" annotatedElement="CreateLinkAction-association_not_abstract">
            <body>The Association cannot be an abstract Classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateLinkAction-association_not_abstract-_specification">
            <language>OCL</language>
            <body>not self.association().isAbstract</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CreateLinkAction-_generalization.0" general="WriteLinkAction" specific="CreateLinkAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CreateLinkAction-endData" name="endData" type="LinkEndCreationData" aggregation="composite" redefinedProperty="LinkAction-endData" association="A_endData_createLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateLinkAction-endData-_ownedComment.0" annotatedElement="CreateLinkAction-endData">
            <body>The LinkEndData that specifies the values to be placed on the Association ends for the new link.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CreateLinkAction-endData-_lowerValue" value="2"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CreateLinkAction-endData-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CreateLinkObjectAction" name="CreateLinkObjectAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="CreateLinkObjectAction-_ownedComment.0" annotatedElement="CreateLinkObjectAction">
          <body>A CreateLinkObjectAction is a CreateLinkAction for creating link objects (AssociationClasse instances).</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CreateLinkObjectAction-multiplicity" name="multiplicity" constrainedElement="CreateLinkObjectAction" context="CreateLinkObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateLinkObjectAction-multiplicity-_ownedComment.0" annotatedElement="CreateLinkObjectAction-multiplicity">
            <body>The multiplicity of the OutputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateLinkObjectAction-multiplicity-_specification">
            <language>OCL</language>
            <body>result.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CreateLinkObjectAction-type_of_result" name="type_of_result" constrainedElement="CreateLinkObjectAction" context="CreateLinkObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateLinkObjectAction-type_of_result-_ownedComment.0" annotatedElement="CreateLinkObjectAction-type_of_result">
            <body>The type of the result OutputPin must be the same as the Association of the CreateLinkObjectAction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateLinkObjectAction-type_of_result-_specification">
            <language>OCL</language>
            <body>result.type = association()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CreateLinkObjectAction-association_class" name="association_class" constrainedElement="CreateLinkObjectAction" context="CreateLinkObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateLinkObjectAction-association_class-_ownedComment.0" annotatedElement="CreateLinkObjectAction-association_class">
            <body>The Association must be an AssociationClass.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateLinkObjectAction-association_class-_specification">
            <language>OCL</language>
            <body>self.association().oclIsKindOf(AssociationClass)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CreateLinkObjectAction-_generalization.0" general="CreateLinkAction" specific="CreateLinkObjectAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CreateLinkObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_createLinkObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateLinkObjectAction-result-_ownedComment.0" annotatedElement="CreateLinkObjectAction-result">
            <body>The output pin on which the newly created link object is placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="CreateObjectAction" name="CreateObjectAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="CreateObjectAction-_ownedComment.0" annotatedElement="CreateObjectAction">
          <body>A CreateObjectAction is an Action that creates an instance of the specified Classifier.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CreateObjectAction-classifier_not_abstract" name="classifier_not_abstract" constrainedElement="CreateObjectAction" context="CreateObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateObjectAction-classifier_not_abstract-_ownedComment.0" annotatedElement="CreateObjectAction-classifier_not_abstract">
            <body>The classifier cannot be abstract.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateObjectAction-classifier_not_abstract-_specification">
            <language>OCL</language>
            <body>not classifier.isAbstract </body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CreateObjectAction-multiplicity" name="multiplicity" constrainedElement="CreateObjectAction" context="CreateObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateObjectAction-multiplicity-_ownedComment.0" annotatedElement="CreateObjectAction-multiplicity">
            <body>The multiplicity of the result OutputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateObjectAction-multiplicity-_specification">
            <language>OCL</language>
            <body>result.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CreateObjectAction-classifier_not_association_class" name="classifier_not_association_class" constrainedElement="CreateObjectAction" context="CreateObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateObjectAction-classifier_not_association_class-_ownedComment.0" annotatedElement="CreateObjectAction-classifier_not_association_class">
            <body>The classifier cannot be an AssociationClass.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateObjectAction-classifier_not_association_class-_specification">
            <language>OCL</language>
            <body>not classifier.oclIsKindOf(AssociationClass)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="CreateObjectAction-same_type" name="same_type" constrainedElement="CreateObjectAction" context="CreateObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateObjectAction-same_type-_ownedComment.0" annotatedElement="CreateObjectAction-same_type">
            <body>The type of the result OutputPin must be the same as the classifier of the CreateObjectAction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateObjectAction-same_type-_specification">
            <language>OCL</language>
            <body>result.type = classifier</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="CreateObjectAction-_generalization.0" general="Action" specific="CreateObjectAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CreateObjectAction-classifier" name="classifier" type="Classifier" association="A_classifier_createObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateObjectAction-classifier-_ownedComment.0" annotatedElement="CreateObjectAction-classifier">
            <body>The Classifier to be instantiated.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="CreateObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_createObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="CreateObjectAction-result-_ownedComment.0" annotatedElement="CreateObjectAction-result">
            <body>The OutputPin on which the newly created object is placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DestroyLinkAction" name="DestroyLinkAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="DestroyLinkAction-_ownedComment.0" annotatedElement="DestroyLinkAction">
          <body>A DestroyLinkAction is a WriteLinkAction that destroys links (including link objects).</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="DestroyLinkAction-_generalization.0" general="WriteLinkAction" specific="DestroyLinkAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DestroyLinkAction-endData" name="endData" type="LinkEndDestructionData" aggregation="composite" redefinedProperty="LinkAction-endData" association="A_endData_destroyLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="DestroyLinkAction-endData-_ownedComment.0" annotatedElement="DestroyLinkAction-endData">
            <body>The LinkEndData that the values of the Association ends for the links to be destroyed.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DestroyLinkAction-endData-_lowerValue" value="2"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DestroyLinkAction-endData-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="DestroyObjectAction" name="DestroyObjectAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="DestroyObjectAction-_ownedComment.0" annotatedElement="DestroyObjectAction">
          <body>A DestroyObjectAction is an Action that destroys objects.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DestroyObjectAction-multiplicity" name="multiplicity" constrainedElement="DestroyObjectAction" context="DestroyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="DestroyObjectAction-multiplicity-_ownedComment.0" annotatedElement="DestroyObjectAction-multiplicity">
            <body>The multiplicity of the targe IinputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DestroyObjectAction-multiplicity-_specification">
            <language>OCL</language>
            <body>target.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="DestroyObjectAction-no_type" name="no_type" constrainedElement="DestroyObjectAction" context="DestroyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="DestroyObjectAction-no_type-_ownedComment.0" annotatedElement="DestroyObjectAction-no_type">
            <body>The target InputPin has no type.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DestroyObjectAction-no_type-_specification">
            <language>OCL</language>
            <body>target.type= null</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="DestroyObjectAction-_generalization.0" general="Action" specific="DestroyObjectAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DestroyObjectAction-isDestroyLinks" name="isDestroyLinks">
          <ownedComment xmi:type="uml:Comment" xmi:id="DestroyObjectAction-isDestroyLinks-_ownedComment.0" annotatedElement="DestroyObjectAction-isDestroyLinks">
            <body>Specifies whether links in which the object participates are destroyed along with the object.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="DestroyObjectAction-isDestroyLinks-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DestroyObjectAction-isDestroyOwnedObjects" name="isDestroyOwnedObjects">
          <ownedComment xmi:type="uml:Comment" xmi:id="DestroyObjectAction-isDestroyOwnedObjects-_ownedComment.0" annotatedElement="DestroyObjectAction-isDestroyOwnedObjects">
            <body>Specifies whether objects owned by the object (via composition) are destroyed along with the object.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="DestroyObjectAction-isDestroyOwnedObjects-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="DestroyObjectAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_destroyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="DestroyObjectAction-target-_ownedComment.0" annotatedElement="DestroyObjectAction-target">
            <body>The InputPin providing the object to be destroyed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExpansionNode" name="ExpansionNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionNode-_ownedComment.0" annotatedElement="ExpansionNode">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ExpansionNode-region_as_input_or_output" name="region_as_input_or_output" constrainedElement="ExpansionNode" context="ExpansionNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionNode-region_as_input_or_output-_ownedComment.0" annotatedElement="ExpansionNode-region_as_input_or_output">
            <body>One of regionAsInput or regionAsOutput must be non-empty, but not both.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExpansionNode-region_as_input_or_output-_specification">
            <language>OCL</language>
            <body>regionAsInput->notEmpty() xor regionAsOutput->notEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ExpansionNode-_generalization.0" general="ObjectNode" specific="ExpansionNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExpansionNode-regionAsInput" name="regionAsInput" type="ExpansionRegion" association="A_inputElement_regionAsInput">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionNode-regionAsInput-_ownedComment.0" annotatedElement="ExpansionNode-regionAsInput">
            <body>The ExpansionRegion for which the ExpansionNode is an input.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExpansionNode-regionAsInput-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExpansionNode-regionAsOutput" name="regionAsOutput" type="ExpansionRegion" association="A_outputElement_regionAsOutput">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionNode-regionAsOutput-_ownedComment.0" annotatedElement="ExpansionNode-regionAsOutput">
            <body>The ExpansionRegion for which the ExpansionNode is an output.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExpansionNode-regionAsOutput-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ExpansionRegion" name="ExpansionRegion">
        <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionRegion-_ownedComment.0" annotatedElement="ExpansionRegion">
          <body>An ExpansionRegion is a StructuredActivityNode that executes its content multiple times corresponding to elements of input collection(s).</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="ExpansionRegion-_generalization.0" general="StructuredActivityNode" specific="ExpansionRegion"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExpansionRegion-inputElement" name="inputElement" type="ExpansionNode" association="A_inputElement_regionAsInput">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionRegion-inputElement-_ownedComment.0" annotatedElement="ExpansionRegion-inputElement">
            <body>The ExpansionNodes that hold the input collections for the ExpansionRegion.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ExpansionRegion-inputElement-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExpansionRegion-mode" name="mode" type="ExpansionKind">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionRegion-mode-_ownedComment.0" annotatedElement="ExpansionRegion-mode">
            <body>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.</body>
          </ownedComment>
          <defaultValue xmi:type="uml:InstanceValue" xmi:id="ExpansionRegion-mode-_defaultValue" type="ExpansionKind" instance="ExpansionKind-iterative"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ExpansionRegion-outputElement" name="outputElement" type="ExpansionNode" association="A_outputElement_regionAsOutput">
          <ownedComment xmi:type="uml:Comment" xmi:id="ExpansionRegion-outputElement-_ownedComment.0" annotatedElement="ExpansionRegion-outputElement">
            <body>The ExpansionNodes that form the output collections of the ExpansionRegion.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExpansionRegion-outputElement-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ExpansionRegion-outputElement-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InputPin" name="InputPin">
        <ownedComment xmi:type="uml:Comment" xmi:id="InputPin-_ownedComment.0" annotatedElement="InputPin">
          <body>An InputPin is a Pin that holds input values to be consumed by an Action.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="InputPin-outgoing_edges_structured_only" name="outgoing_edges_structured_only" constrainedElement="InputPin" context="InputPin">
          <ownedComment xmi:type="uml:Comment" xmi:id="InputPin-outgoing_edges_structured_only-_ownedComment.0" annotatedElement="InputPin-outgoing_edges_structured_only">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="InputPin-outgoing_edges_structured_only-_specification">
            <language>OCL</language>
            <body>outgoing->notEmpty() implies&#xD;
	action&lt;>null and&#xD;
	action.oclIsKindOf(StructuredActivityNode) and&#xD;
	action.oclAsType(StructuredActivityNode).allOwnedNodes()->includesAll(outgoing.target)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="InputPin-_generalization.0" general="Pin" specific="InputPin"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="InvocationAction" name="InvocationAction" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="InvocationAction-_ownedComment.0" annotatedElement="InvocationAction">
          <body>InvocationAction is an abstract class for the various actions that request Behavior invocation.&#xD;
</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="InvocationAction-_generalization.0" general="Action" specific="InvocationAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InvocationAction-argument" name="argument" type="InputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-input" association="A_argument_invocationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="InvocationAction-argument-_ownedComment.0" annotatedElement="InvocationAction-argument">
            <body>The InputPins that provide the argument values passed in the invocation request.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InvocationAction-argument-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InvocationAction-argument-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="InvocationAction-onPort" name="onPort" type="Port" association="A_onPort_invocationAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="InvocationAction-onPort-_ownedComment.0" annotatedElement="InvocationAction-onPort">
            <body>For CallOperationActions, SendSignalActions, and SendObjectActions, an optional Port of the target object through which the invocation request is sent.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InvocationAction-onPort-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LinkAction" name="LinkAction" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="LinkAction-_ownedComment.0" annotatedElement="LinkAction">
          <body>LinkAction is an abstract class for all Actions that identify the links to be acted on using LinkEndData.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkAction-same_pins" name="same_pins" constrainedElement="LinkAction" context="LinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkAction-same_pins-_ownedComment.0" annotatedElement="LinkAction-same_pins">
            <body>The inputValue InputPins is the same as the union of all the InputPins referenced by the endData.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkAction-same_pins-_specification">
            <language>OCL</language>
            <body>inputValue->asBag()=endData.allPins()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkAction-same_association" name="same_association" constrainedElement="LinkAction" context="LinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkAction-same_association-_ownedComment.0" annotatedElement="LinkAction-same_association">
            <body>The ends of the endData must all be from the same Association and include all and only the memberEnds of that association.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkAction-same_association-_specification">
            <language>OCL</language>
            <body>endData.end = self.association().memberEnd->asBag()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkAction-not_static" name="not_static" constrainedElement="LinkAction" context="LinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkAction-not_static-_ownedComment.0" annotatedElement="LinkAction-not_static">
            <body>The ends of the endData must not be static.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkAction-not_static-_specification">
            <language>OCL</language>
            <body>endData->forAll(not end.isStatic)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="LinkAction-_generalization.0" general="Action" specific="LinkAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkAction-endData" name="endData" type="LinkEndData" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_endData_linkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkAction-endData-_ownedComment.0" annotatedElement="LinkAction-endData">
            <body>The LinkEndData identifying the values on the ends of the links acting on by this LinkAction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkAction-endData-_lowerValue" value="2"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkAction-endData-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkAction-inputValue" name="inputValue" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_inputValue_linkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkAction-inputValue-_ownedComment.0" annotatedElement="LinkAction-inputValue">
            <body>InputPins used by the LinkEndData of the LinkAction.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkAction-inputValue-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LinkAction-association" name="association" bodyCondition="LinkAction-association-spec" class="LinkAction" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkAction-association-_ownedComment.0" annotatedElement="LinkAction-association">
            <body>Returns the Association acted on by this LinkAction.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LinkAction-association-spec" name="spec" constrainedElement="LinkAction-association" context="LinkAction-association">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkAction-association-spec-_specification">
              <language>OCL</language>
              <body>result = (endData->asSequence()->first().end.association)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LinkAction-association-result" name="result" type="Association" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LinkEndCreationData" name="LinkEndCreationData">
        <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndCreationData-_ownedComment.0" annotatedElement="LinkEndCreationData">
          <body>LinkEndCreationData is LinkEndData used to provide values for one end of a link to be created by a CreateLinkAction.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndCreationData-insertAt_pin" name="insertAt_pin" constrainedElement="LinkEndCreationData" context="LinkEndCreationData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndCreationData-insertAt_pin-_ownedComment.0" annotatedElement="LinkEndCreationData-insertAt_pin">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndCreationData-insertAt_pin-_specification">
            <language>OCL</language>
            <body>if  not end.isOrdered
then insertAt = null
else
	not isReplaceAll=false implies
	insertAt &lt;> null and insertAt->forAll(type=UnlimitedNatural and is(1,1))
endif
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="LinkEndCreationData-_generalization.0" general="LinkEndData" specific="LinkEndCreationData"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkEndCreationData-insertAt" name="insertAt" type="InputPin" association="A_insertAt_linkEndCreationData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndCreationData-insertAt-_ownedComment.0" annotatedElement="LinkEndCreationData-insertAt">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndCreationData-insertAt-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkEndCreationData-isReplaceAll" name="isReplaceAll">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndCreationData-isReplaceAll-_ownedComment.0" annotatedElement="LinkEndCreationData-isReplaceAll">
            <body>Specifies whether the existing links emanating from the object on this end should be destroyed before creating a new link.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LinkEndCreationData-isReplaceAll-_defaultValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LinkEndCreationData-allPins" name="allPins" bodyCondition="LinkEndCreationData-allPins-spec" class="LinkEndCreationData" isQuery="true" redefinedOperation="LinkEndData-allPins">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndCreationData-allPins-_ownedComment.0" annotatedElement="LinkEndCreationData-allPins">
            <body>Adds the insertAt InputPin (if any) to the set of all Pins.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndCreationData-allPins-spec" name="spec" constrainedElement="LinkEndCreationData-allPins" context="LinkEndCreationData-allPins">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndCreationData-allPins-spec-_specification">
              <language>OCL</language>
              <body>result = (self.LinkEndData::allPins()->including(insertAt))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LinkEndCreationData-allPins-result" name="result" type="InputPin" isUnique="false" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndCreationData-allPins-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkEndCreationData-allPins-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LinkEndData" name="LinkEndData">
        <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-_ownedComment.0" annotatedElement="LinkEndData">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndData-same_type" name="same_type" constrainedElement="LinkEndData" context="LinkEndData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-same_type-_ownedComment.0" annotatedElement="LinkEndData-same_type">
            <body>The type of the value InputPin conforms to the type of the Association end.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-same_type-_specification">
            <language>OCL</language>
            <body>value&lt;>null implies value.type.conformsTo(end.type)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndData-multiplicity" name="multiplicity" constrainedElement="LinkEndData" context="LinkEndData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-multiplicity-_ownedComment.0" annotatedElement="LinkEndData-multiplicity">
            <body>The multiplicity of the value InputPin must be 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-multiplicity-_specification">
            <language>OCL</language>
            <body>value&lt;>null implies value.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndData-end_object_input_pin" name="end_object_input_pin" constrainedElement="LinkEndData" context="LinkEndData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-end_object_input_pin-_ownedComment.0" annotatedElement="LinkEndData-end_object_input_pin">
            <body>The value InputPin is not also the qualifier value InputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-end_object_input_pin-_specification">
            <language>OCL</language>
            <body>value->excludesAll(qualifier.value)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndData-property_is_association_end" name="property_is_association_end" constrainedElement="LinkEndData" context="LinkEndData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-property_is_association_end-_ownedComment.0" annotatedElement="LinkEndData-property_is_association_end">
            <body>The Property must be an Association memberEnd.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-property_is_association_end-_specification">
            <language>OCL</language>
            <body>end.association &lt;> null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndData-qualifiers" name="qualifiers" constrainedElement="LinkEndData" context="LinkEndData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-qualifiers-_ownedComment.0" annotatedElement="LinkEndData-qualifiers">
            <body>The qualifiers must be qualifiers of the Association end.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-qualifiers-_specification">
            <language>OCL</language>
            <body>end.qualifier->includesAll(qualifier.qualifier)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="LinkEndData-_generalization.0" general="Element" specific="LinkEndData"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkEndData-end" name="end" type="Property" association="A_end_linkEndData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-end-_ownedComment.0" annotatedElement="LinkEndData-end">
            <body>The Association end for which this LinkEndData specifies values.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkEndData-qualifier" name="qualifier" type="QualifierValue" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_qualifier_linkEndData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-qualifier-_ownedComment.0" annotatedElement="LinkEndData-qualifier">
            <body>A set of QualifierValues used to provide values for the qualifiers of the end.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndData-qualifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkEndData-qualifier-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkEndData-value" name="value" type="InputPin" association="A_value_linkEndData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-value-_ownedComment.0" annotatedElement="LinkEndData-value">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndData-value-_lowerValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LinkEndData-allPins" name="allPins" bodyCondition="LinkEndData-allPins-spec" class="LinkEndData" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndData-allPins-_ownedComment.0" annotatedElement="LinkEndData-allPins">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndData-allPins-spec" name="spec" constrainedElement="LinkEndData-allPins" context="LinkEndData-allPins">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-allPins-spec-_specification">
              <language>OCL</language>
              <body>result = (value->asBag()->union(qualifier.value))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LinkEndData-allPins-result" name="result" type="InputPin" isUnique="false" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndData-allPins-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkEndData-allPins-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LinkEndDestructionData" name="LinkEndDestructionData">
        <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndDestructionData-_ownedComment.0" annotatedElement="LinkEndDestructionData">
          <body>LinkEndDestructionData is LinkEndData used to provide values for one end of a link to be destroyed by a DestroyLinkAction.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndDestructionData-destroyAt_pin" name="destroyAt_pin" constrainedElement="LinkEndDestructionData" context="LinkEndDestructionData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndDestructionData-destroyAt_pin-_ownedComment.0" annotatedElement="LinkEndDestructionData-destroyAt_pin">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndDestructionData-destroyAt_pin-_specification">
            <language>OCL</language>
            <body>if  not end.isOrdered or end.isUnique or isDestroyDuplicates&#xD;
then destroyAt = null&#xD;
else&#xD;
	destroyAt &lt;> null and &#xD;
	destroyAt->forAll(type=UnlimitedNatural and is(1,1))&#xD;
endif&#xD;
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="LinkEndDestructionData-_generalization.0" general="LinkEndData" specific="LinkEndDestructionData"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkEndDestructionData-destroyAt" name="destroyAt" type="InputPin" association="A_destroyAt_linkEndDestructionData">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndDestructionData-destroyAt-_ownedComment.0" annotatedElement="LinkEndDestructionData-destroyAt">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndDestructionData-destroyAt-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LinkEndDestructionData-isDestroyDuplicates" name="isDestroyDuplicates">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndDestructionData-isDestroyDuplicates-_ownedComment.0" annotatedElement="LinkEndDestructionData-isDestroyDuplicates">
            <body>Specifies whether to destroy duplicates of the value in nonunique Association ends.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LinkEndDestructionData-isDestroyDuplicates-_defaultValue"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LinkEndDestructionData-allPins" name="allPins" bodyCondition="LinkEndDestructionData-allPins-spec" class="LinkEndDestructionData" isQuery="true" redefinedOperation="LinkEndData-allPins">
          <ownedComment xmi:type="uml:Comment" xmi:id="LinkEndDestructionData-allPins-_ownedComment.0" annotatedElement="LinkEndDestructionData-allPins">
            <body>Adds the destroyAt InputPin (if any) to the set of all Pins.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LinkEndDestructionData-allPins-spec" name="spec" constrainedElement="LinkEndDestructionData-allPins" context="LinkEndDestructionData-allPins">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndDestructionData-allPins-spec-_specification">
              <language>OCL</language>
              <body>result = (self.LinkEndData::allPins()->including(destroyAt))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LinkEndDestructionData-allPins-result" name="result" type="InputPin" isUnique="false" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndDestructionData-allPins-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkEndDestructionData-allPins-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="LoopNode" name="LoopNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-_ownedComment.0" annotatedElement="LoopNode">
          <body>A LoopNode is a StructuredActivityNode that represents an iterative loop with setup, test, and body sections.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-result_no_incoming" name="result_no_incoming" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-result_no_incoming-_ownedComment.0" annotatedElement="LoopNode-result_no_incoming">
            <body>The result OutputPins have no incoming edges.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-result_no_incoming-_specification">
            <language>OCL</language>
            <body>result.incoming->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-input_edges" name="input_edges" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-input_edges-_ownedComment.0" annotatedElement="LoopNode-input_edges">
            <body>The loopVariableInputs must not have outgoing edges.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-input_edges-_specification">
            <language>OCL</language>
            <body>loopVariableInput.outgoing->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-executable_nodes" name="executable_nodes" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-executable_nodes-_ownedComment.0" annotatedElement="LoopNode-executable_nodes">
            <body>The union of the ExecutableNodes in the setupPart, test and bodyPart of a LoopNode must be the same as the subset of nodes contained in the LoopNode (considered as a StructuredActivityNode) that are ExecutableNodes.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-executable_nodes-_specification">
            <language>OCL</language>
            <body>setupPart->union(test)->union(bodyPart)=node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->asSet()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-body_output_pins" name="body_output_pins" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-body_output_pins-_ownedComment.0" annotatedElement="LoopNode-body_output_pins">
            <body>The bodyOutput pins are OutputPins on Actions in the body of the LoopNode.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-body_output_pins-_specification">
            <language>OCL</language>
            <body>bodyPart.oclAsType(Action).allActions().output->includesAll(bodyOutput)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-setup_test_and_body" name="setup_test_and_body" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-setup_test_and_body-_ownedComment.0" annotatedElement="LoopNode-setup_test_and_body">
            <body>The test and body parts of a ConditionalNode must be disjoint with each other.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-setup_test_and_body-_specification">
            <language>OCL</language>
            <body>setupPart->intersection(test)->isEmpty() and&#xD;
setupPart->intersection(bodyPart)->isEmpty() and&#xD;
test->intersection(bodyPart)->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-matching_output_pins" name="matching_output_pins" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-matching_output_pins-_ownedComment.0" annotatedElement="LoopNode-matching_output_pins">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-matching_output_pins-_specification">
            <language>OCL</language>
            <body>bodyOutput->size()=loopVariable->size() and&#xD;
Sequence{1..loopVariable->size()}->forAll(i |&#xD;
	bodyOutput->at(i).type.conformsTo(loopVariable->at(i).type) and&#xD;
	bodyOutput->at(i).isOrdered = loopVariable->at(i).isOrdered and&#xD;
	bodyOutput->at(i).isUnique = loopVariable->at(i).isUnique and&#xD;
	loopVariable->at(i).includesMultiplicity(bodyOutput->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-matching_loop_variables" name="matching_loop_variables" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-matching_loop_variables-_ownedComment.0" annotatedElement="LoopNode-matching_loop_variables">
            <body>A LoopNode must have the same number of loopVariableInputs and loopVariables, and they must match in type, uniqueness and multiplicity.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-matching_loop_variables-_specification">
            <language>OCL</language>
            <body>loopVariableInput->size()=loopVariable->size() and&#xD;
loopVariableInput.type=loopVariable.type and&#xD;
loopVariableInput.isUnique=loopVariable.isUnique and&#xD;
loopVariableInput.lower=loopVariable.lower and&#xD;
loopVariableInput.upper=loopVariable.upper</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-matching_result_pins" name="matching_result_pins" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-matching_result_pins-_ownedComment.0" annotatedElement="LoopNode-matching_result_pins">
            <body>A LoopNode must have the same number of result OutputPins and loopVariables, and they must match in type, uniqueness and multiplicity.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-matching_result_pins-_specification">
            <language>OCL</language>
            <body>result->size()=loopVariable->size() and&#xD;
result.type=loopVariable.type and&#xD;
result.isUnique=loopVariable.isUnique and&#xD;
result.lower=loopVariable.lower and&#xD;
result.upper=loopVariable.upper</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-loop_variable_outgoing" name="loop_variable_outgoing" constrainedElement="LoopNode" context="LoopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-loop_variable_outgoing-_ownedComment.0" annotatedElement="LoopNode-loop_variable_outgoing">
            <body>All ActivityEdges outgoing from loopVariable OutputPins must have targets within the LoopNode.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-loop_variable_outgoing-_specification">
            <language>OCL</language>
            <body>allOwnedNodes()->includesAll(loopVariable.outgoing.target)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="LoopNode-_generalization.0" general="StructuredActivityNode" specific="LoopNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-bodyOutput" name="bodyOutput" type="OutputPin" isOrdered="true" association="A_bodyOutput_loopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-bodyOutput-_ownedComment.0" annotatedElement="LoopNode-bodyOutput">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-bodyOutput-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-bodyOutput-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-bodyPart" name="bodyPart" type="ExecutableNode" association="A_bodyPart_loopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-bodyPart-_ownedComment.0" annotatedElement="LoopNode-bodyPart">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-bodyPart-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-bodyPart-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-decider" name="decider" type="OutputPin" association="A_decider_loopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-decider-_ownedComment.0" annotatedElement="LoopNode-decider">
            <body>An OutputPin on an Action in the test section whose Boolean value determines whether to continue executing the loop bodyPart.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-isTestedFirst" name="isTestedFirst">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-isTestedFirst-_ownedComment.0" annotatedElement="LoopNode-isTestedFirst">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LoopNode-isTestedFirst-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-loopVariable" name="loopVariable" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_loopVariable_loopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-loopVariable-_ownedComment.0" annotatedElement="LoopNode-loopVariable">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-loopVariable-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-loopVariable-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-loopVariableInput" name="loopVariableInput" type="InputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeInput" association="A_loopVariableInput_loopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-loopVariableInput-_ownedComment.0" annotatedElement="LoopNode-loopVariableInput">
            <body>A list of InputPins whose values are moved into the loopVariable Pins before the first iteration of the loop.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-loopVariableInput-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-loopVariableInput-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeOutput" association="A_result_loopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-result-_ownedComment.0" annotatedElement="LoopNode-result">
            <body>A list of OutputPins that receive the loopVariable values after the last iteration of the loop and constitute the output of the LoopNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-result-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-setupPart" name="setupPart" type="ExecutableNode" association="A_setupPart_loopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-setupPart-_ownedComment.0" annotatedElement="LoopNode-setupPart">
            <body>The set of ExecutableNodes executed before the first iteration of the loop, in order to initialize values or perform other setup computations.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-setupPart-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-setupPart-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="LoopNode-test" name="test" type="ExecutableNode" association="A_test_loopNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-test-_ownedComment.0" annotatedElement="LoopNode-test">
            <body>The set of ExecutableNodes executed in order to provide the test result for the loop.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-test-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LoopNode-allActions" name="allActions" bodyCondition="LoopNode-allActions-spec" class="LoopNode" isQuery="true" redefinedOperation="Action-allActions">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-allActions-_ownedComment.0" annotatedElement="LoopNode-allActions">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-allActions-spec" name="spec" constrainedElement="LoopNode-allActions" context="LoopNode-allActions">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-allActions-spec-_specification">
              <language>OCL</language>
              <body>result = (self->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LoopNode-allActions-result" name="result" type="Action" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-allActions-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-allActions-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="LoopNode-sourceNodes" name="sourceNodes" bodyCondition="LoopNode-sourceNodes-spec" class="LoopNode" isQuery="true" redefinedOperation="StructuredActivityNode-sourceNodes">
          <ownedComment xmi:type="uml:Comment" xmi:id="LoopNode-sourceNodes-_ownedComment.0" annotatedElement="LoopNode-sourceNodes">
            <body>Return the loopVariable OutputPins in addition to other source nodes for the LoopNode as a StructuredActivityNode.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="LoopNode-sourceNodes-spec" name="spec" constrainedElement="LoopNode-sourceNodes" context="LoopNode-sourceNodes">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-sourceNodes-spec-_specification">
              <language>OCL</language>
              <body>result = (self.StructuredActivityNode::sourceNodes()->union(loopVariable))</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="LoopNode-sourceNodes-result" name="result" type="ActivityNode" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-sourceNodes-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-sourceNodes-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OpaqueAction" name="OpaqueAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueAction-_ownedComment.0" annotatedElement="OpaqueAction">
          <body>An OpaqueAction is an Action whose functionality is not specified within UML.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="OpaqueAction-language_body_size" name="language_body_size" constrainedElement="OpaqueAction" context="OpaqueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueAction-language_body_size-_ownedComment.0" annotatedElement="OpaqueAction-language_body_size">
            <body>If the language attribute is not empty, then the size of the body and language lists must be the same.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueAction-language_body_size-_specification">
            <language>OCL</language>
            <body>language->notEmpty() implies (_'body'->size() = language->size())</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="OpaqueAction-_generalization.0" general="Action" specific="OpaqueAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueAction-body" name="body" isOrdered="true" isUnique="false">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueAction-body-_ownedComment.0" annotatedElement="OpaqueAction-body">
            <body>Provides a textual specification of the functionality of the Action, in one or more languages other than UML.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueAction-body-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueAction-body-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueAction-inputValue" name="inputValue" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_inputValue_opaqueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueAction-inputValue-_ownedComment.0" annotatedElement="OpaqueAction-inputValue">
            <body>The InputPins providing inputs to the OpaqueAction.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueAction-inputValue-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueAction-inputValue-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueAction-language" name="language" isOrdered="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueAction-language-_ownedComment.0" annotatedElement="OpaqueAction-language">
            <body>If provided, a specification of the language used for each of the body Strings.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueAction-language-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueAction-language-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="OpaqueAction-outputValue" name="outputValue" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_outputValue_opaqueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="OpaqueAction-outputValue-_ownedComment.0" annotatedElement="OpaqueAction-outputValue">
            <body>The OutputPins on which the OpaqueAction provides outputs.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueAction-outputValue-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueAction-outputValue-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OutputPin" name="OutputPin">
        <ownedComment xmi:type="uml:Comment" xmi:id="OutputPin-_ownedComment.0" annotatedElement="OutputPin">
          <body>An OutputPin is a Pin that holds output values produced by an Action.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="OutputPin-incoming_edges_structured_only" name="incoming_edges_structured_only" constrainedElement="OutputPin" context="OutputPin">
          <ownedComment xmi:type="uml:Comment" xmi:id="OutputPin-incoming_edges_structured_only-_ownedComment.0" annotatedElement="OutputPin-incoming_edges_structured_only">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OutputPin-incoming_edges_structured_only-_specification">
            <language>OCL</language>
            <body>incoming->notEmpty() implies&#xD;
	action&lt;>null and&#xD;
	action.oclIsKindOf(StructuredActivityNode) and&#xD;
	action.oclAsType(StructuredActivityNode).allOwnedNodes()->includesAll(incoming.source)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="OutputPin-_generalization.0" general="Pin" specific="OutputPin"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="Pin" name="Pin" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="Pin-_ownedComment.0" annotatedElement="Pin">
          <body>A Pin is an ObjectNode and MultiplicityElement that provides input values to an Action or accepts output values from an Action.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pin-control_pins" name="control_pins" constrainedElement="Pin" context="Pin">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pin-control_pins-_ownedComment.0" annotatedElement="Pin-control_pins">
            <body>A control Pin has a control type.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pin-control_pins-_specification">
            <language>OCL</language>
            <body>isControl implies isControlType</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="Pin-not_unique" name="not_unique" constrainedElement="Pin" context="Pin">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pin-not_unique-_ownedComment.0" annotatedElement="Pin-not_unique">
            <body>Pin multiplicity is not unique.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Pin-not_unique-_specification">
            <language>OCL</language>
            <body>not isUnique</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="Pin-_generalization.1" general="ObjectNode" specific="Pin"/>
        <generalization xmi:type="uml:Generalization" xmi:id="Pin-_generalization.0" general="MultiplicityElement" specific="Pin"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="Pin-isControl" name="isControl">
          <ownedComment xmi:type="uml:Comment" xmi:id="Pin-isControl-_ownedComment.0" annotatedElement="Pin-isControl">
            <body>Indicates whether the Pin provides data to the Action or just controls how the Action executes.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Pin-isControl-_defaultValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="QualifierValue" name="QualifierValue">
        <ownedComment xmi:type="uml:Comment" xmi:id="QualifierValue-_ownedComment.0" annotatedElement="QualifierValue">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="QualifierValue-multiplicity_of_qualifier" name="multiplicity_of_qualifier" constrainedElement="QualifierValue" context="QualifierValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="QualifierValue-multiplicity_of_qualifier-_ownedComment.0" annotatedElement="QualifierValue-multiplicity_of_qualifier">
            <body>The multiplicity of the value InputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="QualifierValue-multiplicity_of_qualifier-_specification">
            <language>OCL</language>
            <body>value.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="QualifierValue-type_of_qualifier" name="type_of_qualifier" constrainedElement="QualifierValue" context="QualifierValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="QualifierValue-type_of_qualifier-_ownedComment.0" annotatedElement="QualifierValue-type_of_qualifier">
            <body>The type of the value InputPin conforms to the type of the qualifier Property.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="QualifierValue-type_of_qualifier-_specification">
            <language>OCL</language>
            <body>value.type.conformsTo(qualifier.type)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="QualifierValue-qualifier_attribute" name="qualifier_attribute" constrainedElement="QualifierValue" context="QualifierValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="QualifierValue-qualifier_attribute-_ownedComment.0" annotatedElement="QualifierValue-qualifier_attribute">
            <body>The qualifier must be a qualifier of the Association end of the linkEndData that owns this QualifierValue.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="QualifierValue-qualifier_attribute-_specification">
            <language>OCL</language>
            <body>linkEndData.end.qualifier->includes(qualifier)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="QualifierValue-_generalization.0" general="Element" specific="QualifierValue"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="QualifierValue-qualifier" name="qualifier" type="Property" association="A_qualifier_qualifierValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="QualifierValue-qualifier-_ownedComment.0" annotatedElement="QualifierValue-qualifier">
            <body>The qualifier Property for which the value is to be specified.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="QualifierValue-value" name="value" type="InputPin" association="A_value_qualifierValue">
          <ownedComment xmi:type="uml:Comment" xmi:id="QualifierValue-value-_ownedComment.0" annotatedElement="QualifierValue-value">
            <body>The InputPin from which the specified value for the qualifier is taken.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="RaiseExceptionAction" name="RaiseExceptionAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="RaiseExceptionAction-_ownedComment.0" annotatedElement="RaiseExceptionAction">
          <body>A RaiseExceptionAction is an Action that causes an exception to occur. The input value becomes the exception object.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="RaiseExceptionAction-_generalization.0" general="Action" specific="RaiseExceptionAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RaiseExceptionAction-exception" name="exception" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_exception_raiseExceptionAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="RaiseExceptionAction-exception-_ownedComment.0" annotatedElement="RaiseExceptionAction-exception">
            <body>An InputPin whose value becomes the exception object.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReadExtentAction" name="ReadExtentAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReadExtentAction-_ownedComment.0" annotatedElement="ReadExtentAction">
          <body>A ReadExtentAction is an Action that retrieves the current instances of a Classifier.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadExtentAction-type_is_classifier" name="type_is_classifier" constrainedElement="ReadExtentAction" context="ReadExtentAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadExtentAction-type_is_classifier-_ownedComment.0" annotatedElement="ReadExtentAction-type_is_classifier">
            <body>The type of the result OutputPin is the classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadExtentAction-type_is_classifier-_specification">
            <language>OCL</language>
            <body>result.type = classifier</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadExtentAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadExtentAction" context="ReadExtentAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadExtentAction-multiplicity_of_result-_ownedComment.0" annotatedElement="ReadExtentAction-multiplicity_of_result">
            <body>The multiplicity of the result OutputPin is 0..*.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadExtentAction-multiplicity_of_result-_specification">
            <language>OCL</language>
            <body>result.is(0,*)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReadExtentAction-_generalization.0" general="Action" specific="ReadExtentAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadExtentAction-classifier" name="classifier" type="Classifier" association="A_classifier_readExtentAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadExtentAction-classifier-_ownedComment.0" annotatedElement="ReadExtentAction-classifier">
            <body>The Classifier whose instances are to be retrieved.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadExtentAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readExtentAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadExtentAction-result-_ownedComment.0" annotatedElement="ReadExtentAction-result">
            <body>The OutputPin on which the Classifier instances are placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReadIsClassifiedObjectAction" name="ReadIsClassifiedObjectAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction">
          <body>A ReadIsClassifiedObjectAction is an Action that determines whether an object is classified by a given Classifier.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadIsClassifiedObjectAction-no_type" name="no_type" constrainedElement="ReadIsClassifiedObjectAction" context="ReadIsClassifiedObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-no_type-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-no_type">
            <body>The object InputPin has no type.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadIsClassifiedObjectAction-no_type-_specification">
            <language>OCL</language>
            <body>object.type = null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_output" name="multiplicity_of_output" constrainedElement="ReadIsClassifiedObjectAction" context="ReadIsClassifiedObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_output-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-multiplicity_of_output">
            <body>The multiplicity of the result OutputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_output-_specification">
            <language>OCL</language>
            <body>result.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadIsClassifiedObjectAction-boolean_result" name="boolean_result" constrainedElement="ReadIsClassifiedObjectAction" context="ReadIsClassifiedObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-boolean_result-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-boolean_result">
            <body>The type of the result OutputPin is Boolean.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadIsClassifiedObjectAction-boolean_result-_specification">
            <language>OCL</language>
            <body>result.type = Boolean</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_input" name="multiplicity_of_input" constrainedElement="ReadIsClassifiedObjectAction" context="ReadIsClassifiedObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_input-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-multiplicity_of_input">
            <body>The multiplicity of the object InputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_input-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReadIsClassifiedObjectAction-_generalization.0" general="Action" specific="ReadIsClassifiedObjectAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadIsClassifiedObjectAction-classifier" name="classifier" type="Classifier" association="A_classifier_readIsClassifiedObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-classifier-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-classifier">
            <body>The Classifier against which the classification of the input object is tested.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadIsClassifiedObjectAction-isDirect" name="isDirect">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-isDirect-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-isDirect">
            <body>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.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReadIsClassifiedObjectAction-isDirect-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadIsClassifiedObjectAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readIsClassifiedObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-object-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-object">
            <body>The InputPin that holds the object whose classification is to be tested.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadIsClassifiedObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readIsClassifiedObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadIsClassifiedObjectAction-result-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-result">
            <body>The OutputPin that holds the Boolean result of the test.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReadLinkAction" name="ReadLinkAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkAction-_ownedComment.0" annotatedElement="ReadLinkAction">
          <body>A ReadLinkAction is a LinkAction that navigates across an Association to retrieve the objects on one end.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadLinkAction" context="ReadLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkAction-type_and_ordering-_ownedComment.0" annotatedElement="ReadLinkAction-type_and_ordering">
            <body>The type and ordering of the result OutputPin are same as the type and ordering of the open Association end.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-type_and_ordering-_specification">
            <language>OCL</language>
            <body>self.openEnd()->forAll(type=result.type and isOrdered=result.isOrdered)
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkAction-compatible_multiplicity" name="compatible_multiplicity" constrainedElement="ReadLinkAction" context="ReadLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkAction-compatible_multiplicity-_ownedComment.0" annotatedElement="ReadLinkAction-compatible_multiplicity">
            <body>The multiplicity of the open Association end must be compatible with the multiplicity of the result OutputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-compatible_multiplicity-_specification">
            <language>OCL</language>
            <body>self.openEnd()->first().compatibleWith(result)
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkAction-visibility" name="visibility" constrainedElement="ReadLinkAction" context="ReadLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkAction-visibility-_ownedComment.0" annotatedElement="ReadLinkAction-visibility">
            <body>Visibility of the open end must allow access from the object performing the action.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-visibility-_specification">
            <language>OCL</language>
            <body>let openEnd : Property = self.openEnd()->first() in
  openEnd.visibility = VisibilityKind::public or 
  endData->exists(oed | 
    oed.end&lt;>openEnd and 
    (_'context' = oed.end.type or 
      (openEnd.visibility = VisibilityKind::protected and 
        _'context'.conformsTo(oed.end.type.oclAsType(Classifier)))))
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkAction-one_open_end" name="one_open_end" constrainedElement="ReadLinkAction" context="ReadLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkAction-one_open_end-_ownedComment.0" annotatedElement="ReadLinkAction-one_open_end">
            <body>Exactly one linkEndData specification (corresponding to the &quot;open&quot; end) must not have an value InputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-one_open_end-_specification">
            <language>OCL</language>
            <body>self.openEnd()->size() = 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkAction-navigable_open_end" name="navigable_open_end" constrainedElement="ReadLinkAction" context="ReadLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkAction-navigable_open_end-_ownedComment.0" annotatedElement="ReadLinkAction-navigable_open_end">
            <body>The open end must be navigable.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-navigable_open_end-_specification">
            <language>OCL</language>
            <body>self.openEnd()->first().isNavigable()
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReadLinkAction-_generalization.0" general="LinkAction" specific="ReadLinkAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadLinkAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkAction-result-_ownedComment.0" annotatedElement="ReadLinkAction-result">
            <body>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.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="ReadLinkAction-openEnd" name="openEnd" bodyCondition="ReadLinkAction-openEnd-spec" class="ReadLinkAction" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkAction-openEnd-_ownedComment.0" annotatedElement="ReadLinkAction-openEnd">
            <body>Returns the ends corresponding to endData with no value InputPin. (A well-formed ReadLinkAction is constrained to have only one of these.)</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkAction-openEnd-spec" name="spec" constrainedElement="ReadLinkAction-openEnd" context="ReadLinkAction-openEnd">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-openEnd-spec-_specification">
              <language>OCL</language>
              <body>result = (endData->select(value=null).end->asOrderedSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="ReadLinkAction-openEnd-result" name="result" type="Property" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ReadLinkAction-openEnd-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ReadLinkAction-openEnd-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReadLinkObjectEndAction" name="ReadLinkObjectEndAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction">
          <body>A ReadLinkObjectEndAction is an Action that retrieves an end object from a link object.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndAction-property" name="property" constrainedElement="ReadLinkObjectEndAction" context="ReadLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-property-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-property">
            <body>The end Property must be an Association memberEnd.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-property-_specification">
            <language>OCL</language>
            <body>end.association &lt;> null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="ReadLinkObjectEndAction" context="ReadLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-multiplicity_of_object-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-multiplicity_of_object">
            <body>The multiplicity of the object InputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-multiplicity_of_object-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndAction-ends_of_association" name="ends_of_association" constrainedElement="ReadLinkObjectEndAction" context="ReadLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-ends_of_association-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-ends_of_association">
            <body>The ends of the association must not be static.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-ends_of_association-_specification">
            <language>OCL</language>
            <body>end.association.memberEnd->forAll(e | not e.isStatic)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndAction-type_of_result" name="type_of_result" constrainedElement="ReadLinkObjectEndAction" context="ReadLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-type_of_result-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-type_of_result">
            <body>The type of the result OutputPin is the same as the type of the end Property.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-type_of_result-_specification">
            <language>OCL</language>
            <body>result.type = end.type</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadLinkObjectEndAction" context="ReadLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-multiplicity_of_result-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-multiplicity_of_result">
            <body>The multiplicity of the result OutputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-multiplicity_of_result-_specification">
            <language>OCL</language>
            <body>result.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndAction-type_of_object" name="type_of_object" constrainedElement="ReadLinkObjectEndAction" context="ReadLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-type_of_object-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-type_of_object">
            <body>The type of the object InputPin is the AssociationClass that owns the end Property.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-type_of_object-_specification">
            <language>OCL</language>
            <body>object.type = end.association</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndAction-association_of_association" name="association_of_association" constrainedElement="ReadLinkObjectEndAction" context="ReadLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-association_of_association-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-association_of_association">
            <body>The association of the end must be an AssociationClass.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-association_of_association-_specification">
            <language>OCL</language>
            <body>end.association.oclIsKindOf(AssociationClass)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReadLinkObjectEndAction-_generalization.0" general="Action" specific="ReadLinkObjectEndAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadLinkObjectEndAction-end" name="end" type="Property" association="A_end_readLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-end-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-end">
            <body>The Association end to be read.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadLinkObjectEndAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-object-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-object">
            <body>The input pin from which the link object is obtained.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadLinkObjectEndAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkObjectEndAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndAction-result-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-result">
            <body>The OutputPin where the result value is placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReadLinkObjectEndQualifierAction" name="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction">
          <body>A ReadLinkObjectEndQualifierAction is an Action that retrieves a qualifier end value from a link object.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="ReadLinkObjectEndQualifierAction" context="ReadLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_object-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-multiplicity_of_object">
            <body>The multiplicity of the object InputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_object-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndQualifierAction-type_of_object" name="type_of_object" constrainedElement="ReadLinkObjectEndQualifierAction" context="ReadLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-type_of_object-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-type_of_object">
            <body>The type of the object InputPin is the AssociationClass that owns the Association end that has the given qualifier Property.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-type_of_object-_specification">
            <language>OCL</language>
            <body>object.type = qualifier.associationEnd.association</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier" name="multiplicity_of_qualifier" constrainedElement="ReadLinkObjectEndQualifierAction" context="ReadLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier">
            <body>The multiplicity of the qualifier Property is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier-_specification">
            <language>OCL</language>
            <body>qualifier.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndQualifierAction-ends_of_association" name="ends_of_association" constrainedElement="ReadLinkObjectEndQualifierAction" context="ReadLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-ends_of_association-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-ends_of_association">
            <body>The ends of the Association must not be static.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-ends_of_association-_specification">
            <language>OCL</language>
            <body>qualifier.associationEnd.association.memberEnd->forAll(e | not e.isStatic)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadLinkObjectEndQualifierAction" context="ReadLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_result-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-multiplicity_of_result">
            <body>The multiplicity of the result OutputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_result-_specification">
            <language>OCL</language>
            <body>result.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndQualifierAction-same_type" name="same_type" constrainedElement="ReadLinkObjectEndQualifierAction" context="ReadLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-same_type-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-same_type">
            <body>The type of the result OutputPin is the same as the type of the qualifier Property.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-same_type-_specification">
            <language>OCL</language>
            <body>result.type = qualifier.type</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndQualifierAction-association_of_association" name="association_of_association" constrainedElement="ReadLinkObjectEndQualifierAction" context="ReadLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-association_of_association-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-association_of_association">
            <body>The association of the Association end of the qualifier Property must be an AssociationClass.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-association_of_association-_specification">
            <language>OCL</language>
            <body>qualifier.associationEnd.association.oclIsKindOf(AssociationClass)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadLinkObjectEndQualifierAction-qualifier_attribute" name="qualifier_attribute" constrainedElement="ReadLinkObjectEndQualifierAction" context="ReadLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-qualifier_attribute-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-qualifier_attribute">
            <body>The qualifier Property must be a qualifier of an Association end.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-qualifier_attribute-_specification">
            <language>OCL</language>
            <body>qualifier.associationEnd &lt;> null</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReadLinkObjectEndQualifierAction-_generalization.0" general="Action" specific="ReadLinkObjectEndQualifierAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadLinkObjectEndQualifierAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-object-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-object">
            <body>The InputPin from which the link object is obtained.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadLinkObjectEndQualifierAction-qualifier" name="qualifier" type="Property" association="A_qualifier_readLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-qualifier-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-qualifier">
            <body>The qualifier Property to be read.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadLinkObjectEndQualifierAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkObjectEndQualifierAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadLinkObjectEndQualifierAction-result-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-result">
            <body>The OutputPin where the result value is placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReadSelfAction" name="ReadSelfAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReadSelfAction-_ownedComment.0" annotatedElement="ReadSelfAction">
          <body>A ReadSelfAction is an Action that retrieves the context object of the Behavior execution within which the ReadSelfAction execution is taking place.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadSelfAction-contained" name="contained" constrainedElement="ReadSelfAction" context="ReadSelfAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadSelfAction-contained-_ownedComment.0" annotatedElement="ReadSelfAction-contained">
            <body>A ReadSelfAction must have a context Classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadSelfAction-contained-_specification">
            <language>OCL</language>
            <body>_'context' &lt;> null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadSelfAction-multiplicity" name="multiplicity" constrainedElement="ReadSelfAction" context="ReadSelfAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadSelfAction-multiplicity-_ownedComment.0" annotatedElement="ReadSelfAction-multiplicity">
            <body>The multiplicity of the result OutputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadSelfAction-multiplicity-_specification">
            <language>OCL</language>
            <body>result.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadSelfAction-not_static" name="not_static" constrainedElement="ReadSelfAction" context="ReadSelfAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadSelfAction-not_static-_ownedComment.0" annotatedElement="ReadSelfAction-not_static">
            <body>If the ReadSelfAction is contained in an Behavior that is acting as a method, then the Operation of the method must not be static.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadSelfAction-not_static-_specification">
            <language>OCL</language>
            <body>let behavior: Behavior = self.containingBehavior() in&#xD;
behavior.specification&lt;>null implies not behavior.specification.isStatic</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadSelfAction-type" name="type" constrainedElement="ReadSelfAction" context="ReadSelfAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadSelfAction-type-_ownedComment.0" annotatedElement="ReadSelfAction-type">
            <body>The type of the result OutputPin is the context Classifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadSelfAction-type-_specification">
            <language>OCL</language>
            <body>result.type = _'context'</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReadSelfAction-_generalization.0" general="Action" specific="ReadSelfAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadSelfAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readSelfAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadSelfAction-result-_ownedComment.0" annotatedElement="ReadSelfAction-result">
            <body>The OutputPin on which the context object is placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReadStructuralFeatureAction" name="ReadStructuralFeatureAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReadStructuralFeatureAction-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction">
          <body>A ReadStructuralFeatureAction is a StructuralFeatureAction that retrieves the values of a StructuralFeature.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadStructuralFeatureAction-multiplicity" name="multiplicity" constrainedElement="ReadStructuralFeatureAction" context="ReadStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadStructuralFeatureAction-multiplicity-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction-multiplicity">
            <body>The multiplicity of the StructuralFeature must be compatible with the multiplicity of the result OutputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadStructuralFeatureAction-multiplicity-_specification">
            <language>OCL</language>
            <body>structuralFeature.compatibleWith(result)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadStructuralFeatureAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadStructuralFeatureAction" context="ReadStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadStructuralFeatureAction-type_and_ordering-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction-type_and_ordering">
            <body>The type and ordering of the result OutputPin are the same as the type and ordering of the StructuralFeature.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadStructuralFeatureAction-type_and_ordering-_specification">
            <language>OCL</language>
            <body>result.type =structuralFeature.type and 
result.isOrdered = structuralFeature.isOrdered
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReadStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction" specific="ReadStructuralFeatureAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readStructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadStructuralFeatureAction-result-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction-result">
            <body>The OutputPin on which the result values are placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReadVariableAction" name="ReadVariableAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReadVariableAction-_ownedComment.0" annotatedElement="ReadVariableAction">
          <body>A ReadVariableAction is a VariableAction that retrieves the values of a Variable.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadVariableAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadVariableAction" context="ReadVariableAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadVariableAction-type_and_ordering-_ownedComment.0" annotatedElement="ReadVariableAction-type_and_ordering">
            <body>The type and ordering of the result OutputPin are the same as the type and ordering of the variable.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadVariableAction-type_and_ordering-_specification">
            <language>OCL</language>
            <body>result.type =variable.type and 
result.isOrdered = variable.isOrdered
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReadVariableAction-compatible_multiplicity" name="compatible_multiplicity" constrainedElement="ReadVariableAction" context="ReadVariableAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadVariableAction-compatible_multiplicity-_ownedComment.0" annotatedElement="ReadVariableAction-compatible_multiplicity">
            <body>The multiplicity of the variable must be compatible with the multiplicity of the output pin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadVariableAction-compatible_multiplicity-_specification">
            <language>OCL</language>
            <body>variable.compatibleWith(result)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReadVariableAction-_generalization.0" general="VariableAction" specific="ReadVariableAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReadVariableAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readVariableAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReadVariableAction-result-_ownedComment.0" annotatedElement="ReadVariableAction-result">
            <body>The OutputPin on which the result values are placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReclassifyObjectAction" name="ReclassifyObjectAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReclassifyObjectAction-_ownedComment.0" annotatedElement="ReclassifyObjectAction">
          <body>A ReclassifyObjectAction is an Action that changes the Classifiers that classify an object.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReclassifyObjectAction-input_pin" name="input_pin" constrainedElement="ReclassifyObjectAction" context="ReclassifyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReclassifyObjectAction-input_pin-_ownedComment.0" annotatedElement="ReclassifyObjectAction-input_pin">
            <body>The object InputPin has no type.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReclassifyObjectAction-input_pin-_specification">
            <language>OCL</language>
            <body>object.type = null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReclassifyObjectAction-classifier_not_abstract" name="classifier_not_abstract" constrainedElement="ReclassifyObjectAction" context="ReclassifyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReclassifyObjectAction-classifier_not_abstract-_ownedComment.0" annotatedElement="ReclassifyObjectAction-classifier_not_abstract">
            <body>None of the newClassifiers may be abstract.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReclassifyObjectAction-classifier_not_abstract-_specification">
            <language>OCL</language>
            <body>not newClassifier->exists(isAbstract)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReclassifyObjectAction-multiplicity" name="multiplicity" constrainedElement="ReclassifyObjectAction" context="ReclassifyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReclassifyObjectAction-multiplicity-_ownedComment.0" annotatedElement="ReclassifyObjectAction-multiplicity">
            <body>The multiplicity of the object InputPin is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReclassifyObjectAction-multiplicity-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReclassifyObjectAction-_generalization.0" general="Action" specific="ReclassifyObjectAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReclassifyObjectAction-isReplaceAll" name="isReplaceAll">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReclassifyObjectAction-isReplaceAll-_ownedComment.0" annotatedElement="ReclassifyObjectAction-isReplaceAll">
            <body>Specifies whether existing Classifiers should be removed before adding the new Classifiers.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReclassifyObjectAction-isReplaceAll-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReclassifyObjectAction-newClassifier" name="newClassifier" type="Classifier" association="A_newClassifier_reclassifyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReclassifyObjectAction-newClassifier-_ownedComment.0" annotatedElement="ReclassifyObjectAction-newClassifier">
            <body>A set of Classifiers to be added to the Classifiers of the given object.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ReclassifyObjectAction-newClassifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ReclassifyObjectAction-newClassifier-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReclassifyObjectAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_reclassifyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReclassifyObjectAction-object-_ownedComment.0" annotatedElement="ReclassifyObjectAction-object">
            <body>The InputPin that holds the object to be reclassified.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReclassifyObjectAction-oldClassifier" name="oldClassifier" type="Classifier" association="A_oldClassifier_reclassifyObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReclassifyObjectAction-oldClassifier-_ownedComment.0" annotatedElement="ReclassifyObjectAction-oldClassifier">
            <body>A set of Classifiers to be removed from the Classifiers of the given object.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ReclassifyObjectAction-oldClassifier-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ReclassifyObjectAction-oldClassifier-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReduceAction" name="ReduceAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReduceAction-_ownedComment.0" annotatedElement="ReduceAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReduceAction-reducer_inputs_output" name="reducer_inputs_output" constrainedElement="ReduceAction" context="ReduceAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReduceAction-reducer_inputs_output-_ownedComment.0" annotatedElement="ReduceAction-reducer_inputs_output">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReduceAction-reducer_inputs_output-_specification">
            <language>OCL</language>
            <body>let inputs: OrderedSet(Parameter) = reducer.inputParameters() in&#xD;
let outputs: OrderedSet(Parameter) = reducer.outputParameters() in&#xD;
inputs->size()=2 and outputs->size()=1 and&#xD;
inputs.type->forAll(t | &#xD;
	outputs.type->forAll(conformsTo(t)) and &#xD;
	-- Note that the following only checks the case when the collection is via multiple tokens.&#xD;
	collection.upperBound()>1 implies collection.type.conformsTo(t))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReduceAction-input_type_is_collection" name="input_type_is_collection" constrainedElement="ReduceAction" context="ReduceAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReduceAction-input_type_is_collection-_ownedComment.0" annotatedElement="ReduceAction-input_type_is_collection">
            <body>The type of the collection InputPin must be a collection.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReduceAction-input_type_is_collection-_specification" language=""/>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReduceAction-output_types_are_compatible" name="output_types_are_compatible" constrainedElement="ReduceAction" context="ReduceAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReduceAction-output_types_are_compatible-_ownedComment.0" annotatedElement="ReduceAction-output_types_are_compatible">
            <body>The type of the output of the reducer Behavior must conform to the type of the result OutputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReduceAction-output_types_are_compatible-_specification">
            <language>OCL</language>
            <body>reducer.outputParameters().type->forAll(conformsTo(result.type))</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReduceAction-_generalization.0" general="Action" specific="ReduceAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReduceAction-collection" name="collection" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_collection_reduceAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReduceAction-collection-_ownedComment.0" annotatedElement="ReduceAction-collection">
            <body>The InputPin that provides the collection to be reduced.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReduceAction-isOrdered" name="isOrdered">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReduceAction-isOrdered-_ownedComment.0" annotatedElement="ReduceAction-isOrdered">
            <body>Indicates whether the order of the input collection should determine the order in which the reducer Behavior is applied to its elements.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReduceAction-isOrdered-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReduceAction-reducer" name="reducer" type="Behavior" association="A_reducer_reduceAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReduceAction-reducer-_ownedComment.0" annotatedElement="ReduceAction-reducer">
            <body>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.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReduceAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_reduceAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReduceAction-result-_ownedComment.0" annotatedElement="ReduceAction-result">
            <body>The output pin on which the result value is placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="RemoveStructuralFeatureValueAction" name="RemoveStructuralFeatureValueAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="RemoveStructuralFeatureValueAction-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction">
          <body>A RemoveStructuralFeatureValueAction is a WriteStructuralFeatureAction that removes values from a StructuralFeature.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="RemoveStructuralFeatureValueAction-removeAt_and_value" name="removeAt_and_value" constrainedElement="RemoveStructuralFeatureValueAction" context="RemoveStructuralFeatureValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="RemoveStructuralFeatureValueAction-removeAt_and_value-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction-removeAt_and_value">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RemoveStructuralFeatureValueAction-removeAt_and_value-_specification">
            <language>OCL</language>
            <body>if structuralFeature.isOrdered and not structuralFeature.isUnique and  not isRemoveDuplicates then&#xD;
  value = null and&#xD;
  removeAt &lt;> null and&#xD;
  removeAt.type = UnlimitedNatural and&#xD;
  removeAt.is(1,1)&#xD;
else&#xD;
  removeAt = null and value &lt;> null&#xD;
endif</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="RemoveStructuralFeatureValueAction-_generalization.0" general="WriteStructuralFeatureAction" specific="RemoveStructuralFeatureValueAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RemoveStructuralFeatureValueAction-isRemoveDuplicates" name="isRemoveDuplicates">
          <ownedComment xmi:type="uml:Comment" xmi:id="RemoveStructuralFeatureValueAction-isRemoveDuplicates-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction-isRemoveDuplicates">
            <body>Specifies whether to remove duplicates of the value in nonunique StructuralFeatures.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RemoveStructuralFeatureValueAction-isRemoveDuplicates-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RemoveStructuralFeatureValueAction-removeAt" name="removeAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_removeAt_removeStructuralFeatureValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="RemoveStructuralFeatureValueAction-removeAt-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction-removeAt">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RemoveStructuralFeatureValueAction-removeAt-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="RemoveVariableValueAction" name="RemoveVariableValueAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="RemoveVariableValueAction-_ownedComment.0" annotatedElement="RemoveVariableValueAction">
          <body>A RemoveVariableValueAction is a WriteVariableAction that removes values from a Variables.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="RemoveVariableValueAction-removeAt_and_value" name="removeAt_and_value" constrainedElement="RemoveVariableValueAction" context="RemoveVariableValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="RemoveVariableValueAction-removeAt_and_value-_ownedComment.0" annotatedElement="RemoveVariableValueAction-removeAt_and_value">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RemoveVariableValueAction-removeAt_and_value-_specification">
            <language>OCL</language>
            <body>if  variable.isOrdered and not variable.isUnique and not isRemoveDuplicates then &#xD;
  value = null and&#xD;
  removeAt &lt;> null and&#xD;
  removeAt.type = UnlimitedNatural and&#xD;
  removeAt.is(1,1)&#xD;
else&#xD;
  removeAt = null and value &lt;> null&#xD;
endif</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="RemoveVariableValueAction-_generalization.0" general="WriteVariableAction" specific="RemoveVariableValueAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RemoveVariableValueAction-isRemoveDuplicates" name="isRemoveDuplicates">
          <ownedComment xmi:type="uml:Comment" xmi:id="RemoveVariableValueAction-isRemoveDuplicates-_ownedComment.0" annotatedElement="RemoveVariableValueAction-isRemoveDuplicates">
            <body>Specifies whether to remove duplicates of the value in nonunique Variables.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RemoveVariableValueAction-isRemoveDuplicates-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="RemoveVariableValueAction-removeAt" name="removeAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_removeAt_removeVariableValueAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="RemoveVariableValueAction-removeAt-_ownedComment.0" annotatedElement="RemoveVariableValueAction-removeAt">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RemoveVariableValueAction-removeAt-_lowerValue"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ReplyAction" name="ReplyAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="ReplyAction-_ownedComment.0" annotatedElement="ReplyAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReplyAction-pins_match_parameter" name="pins_match_parameter" constrainedElement="ReplyAction" context="ReplyAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReplyAction-pins_match_parameter-_ownedComment.0" annotatedElement="ReplyAction-pins_match_parameter">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReplyAction-pins_match_parameter-_specification">
            <language>OCL</language>
            <body>let parameter:OrderedSet(Parameter) = replyToCall.event.oclAsType(CallEvent).operation.outputParameters() in&#xD;
replyValue->size()=parameter->size() and&#xD;
Sequence{1..replyValue->size()}->forAll(i |&#xD;
	replyValue->at(i).type.conformsTo(parameter->at(i).type) and&#xD;
	replyValue->at(i).isOrdered=parameter->at(i).isOrdered and&#xD;
	replyValue->at(i).compatibleWith(parameter->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ReplyAction-event_on_reply_to_call_trigger" name="event_on_reply_to_call_trigger" constrainedElement="ReplyAction" context="ReplyAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReplyAction-event_on_reply_to_call_trigger-_ownedComment.0" annotatedElement="ReplyAction-event_on_reply_to_call_trigger">
            <body>The event of the replyToCall Trigger must be a CallEvent.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReplyAction-event_on_reply_to_call_trigger-_specification">
            <language>OCL</language>
            <body>replyToCall.event.oclIsKindOf(CallEvent)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ReplyAction-_generalization.0" general="Action" specific="ReplyAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReplyAction-replyToCall" name="replyToCall" type="Trigger" association="A_replyToCall_replyAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReplyAction-replyToCall-_ownedComment.0" annotatedElement="ReplyAction-replyToCall">
            <body>The Trigger specifying the Operation whose call is being replied to.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReplyAction-replyValue" name="replyValue" type="InputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-input" association="A_replyValue_replyAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReplyAction-replyValue-_ownedComment.0" annotatedElement="ReplyAction-replyValue">
            <body>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.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ReplyAction-replyValue-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ReplyAction-replyValue-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ReplyAction-returnInformation" name="returnInformation" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_returnInformation_replyAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="ReplyAction-returnInformation-_ownedComment.0" annotatedElement="ReplyAction-returnInformation">
            <body>An InputPin that holds the return information value produced by an earlier AcceptCallAction.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="SendObjectAction" name="SendObjectAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="SendObjectAction-_ownedComment.0" annotatedElement="SendObjectAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="SendObjectAction-type_target_pin" name="type_target_pin" constrainedElement="SendObjectAction" context="SendObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="SendObjectAction-type_target_pin-_ownedComment.0" annotatedElement="SendObjectAction-type_target_pin">
            <body>If onPort is not empty, the Port given by onPort must be an owned or inherited feature of the type of the target InputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="SendObjectAction-type_target_pin-_specification">
            <language>OCL</language>
            <body>onPort&lt;>null implies target.type.oclAsType(Classifier).allFeatures()->includes(onPort)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="SendObjectAction-_generalization.0" general="InvocationAction" specific="SendObjectAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="SendObjectAction-request" name="request" type="InputPin" aggregation="composite" redefinedProperty="InvocationAction-argument" association="A_request_sendObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="SendObjectAction-request-_ownedComment.0" annotatedElement="SendObjectAction-request">
            <body>The request object, which is transmitted to the target object. The object may be copied in transmission, so identity might not be preserved.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="SendObjectAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_sendObjectAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="SendObjectAction-target-_ownedComment.0" annotatedElement="SendObjectAction-target">
            <body>The target object to which the object is sent.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="SendSignalAction" name="SendSignalAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="SendSignalAction-_ownedComment.0" annotatedElement="SendSignalAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="SendSignalAction-type_ordering_multiplicity" name="type_ordering_multiplicity" constrainedElement="SendSignalAction" context="SendSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="SendSignalAction-type_ordering_multiplicity-_ownedComment.0" annotatedElement="SendSignalAction-type_ordering_multiplicity">
            <body>The type, ordering, and multiplicity of an argument InputPin must be the same as the corresponding attribute of the signal.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="SendSignalAction-type_ordering_multiplicity-_specification">
            <language>OCL</language>
            <body>let attribute: OrderedSet(Property) = signal.allAttributes() in&#xD;
Sequence{1..argument->size()}->forAll(i | &#xD;
	argument->at(i).type.conformsTo(attribute->at(i).type) and &#xD;
	argument->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;
	argument->at(i).compatibleWith(attribute->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="SendSignalAction-number_order" name="number_order" constrainedElement="SendSignalAction" context="SendSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="SendSignalAction-number_order-_ownedComment.0" annotatedElement="SendSignalAction-number_order">
            <body>The number and order of argument InputPins must be the same as the number and order of attributes of the signal.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="SendSignalAction-number_order-_specification">
            <language>OCL</language>
            <body>argument->size()=signal.allAttributes()->size()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="SendSignalAction-type_target_pin" name="type_target_pin" constrainedElement="SendSignalAction" context="SendSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="SendSignalAction-type_target_pin-_ownedComment.0" annotatedElement="SendSignalAction-type_target_pin">
            <body>If onPort is not empty, the Port given by onPort must be an owned or inherited feature of the type of the target InputPin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="SendSignalAction-type_target_pin-_specification">
            <language>OCL</language>
            <body>not onPort->isEmpty() implies target.type.oclAsType(Classifier).allFeatures()->includes(onPort)&#xD;
</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="SendSignalAction-_generalization.0" general="InvocationAction" specific="SendSignalAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="SendSignalAction-signal" name="signal" type="Signal" association="A_signal_sendSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="SendSignalAction-signal-_ownedComment.0" annotatedElement="SendSignalAction-signal">
            <body>The Signal whose instance is transmitted to the target.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="SendSignalAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_sendSignalAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="SendSignalAction-target-_ownedComment.0" annotatedElement="SendSignalAction-target">
            <body>The InputPin that provides the target object to which the Signal instance is sent.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="SequenceNode" name="SequenceNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="SequenceNode-_ownedComment.0" annotatedElement="SequenceNode">
          <body>A SequenceNode is a StructuredActivityNode that executes a sequence of ExecutableNodes in order.</body>
        </ownedComment>
        <generalization xmi:type="uml:Generalization" xmi:id="SequenceNode-_generalization.0" general="StructuredActivityNode" specific="SequenceNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="SequenceNode-executableNode" name="executableNode" type="ExecutableNode" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-node" association="A_executableNode_sequenceNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="SequenceNode-executableNode-_ownedComment.0" annotatedElement="SequenceNode-executableNode">
            <body>The ordered set of ExecutableNodes to be sequenced.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SequenceNode-executableNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SequenceNode-executableNode-_upperValue" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StartClassifierBehaviorAction" name="StartClassifierBehaviorAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="StartClassifierBehaviorAction-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction">
          <body>A StartClassifierBehaviorAction is an Action that starts the classifierBehavior of the input object.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StartClassifierBehaviorAction-multiplicity" name="multiplicity" constrainedElement="StartClassifierBehaviorAction" context="StartClassifierBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartClassifierBehaviorAction-multiplicity-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction-multiplicity">
            <body>The multiplicity of the object InputPin is 1..1</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StartClassifierBehaviorAction-multiplicity-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StartClassifierBehaviorAction-type_has_classifier" name="type_has_classifier" constrainedElement="StartClassifierBehaviorAction" context="StartClassifierBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartClassifierBehaviorAction-type_has_classifier-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction-type_has_classifier">
            <body>If the InputPin has a type, then the type or one of its ancestors must have a classifierBehavior.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StartClassifierBehaviorAction-type_has_classifier-_specification">
            <language>OCL</language>
            <body>object.type->notEmpty() implies &#xD;
   (object.type.oclIsKindOf(BehavioredClassifier) and object.type.oclAsType(BehavioredClassifier).classifierBehavior&lt;>null)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="StartClassifierBehaviorAction-_generalization.0" general="Action" specific="StartClassifierBehaviorAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StartClassifierBehaviorAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_startClassifierBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartClassifierBehaviorAction-object-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction-object">
            <body>The InputPin that holds the object whose classifierBehavior is to be started.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StartObjectBehaviorAction" name="StartObjectBehaviorAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="StartObjectBehaviorAction-_ownedComment.0" annotatedElement="StartObjectBehaviorAction">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StartObjectBehaviorAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="StartObjectBehaviorAction" context="StartObjectBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartObjectBehaviorAction-multiplicity_of_object-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-multiplicity_of_object">
            <body>The multiplicity of the object InputPin must be 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-multiplicity_of_object-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StartObjectBehaviorAction-type_of_object" name="type_of_object" constrainedElement="StartObjectBehaviorAction" context="StartObjectBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartObjectBehaviorAction-type_of_object-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-type_of_object">
            <body>The type of the object InputPin must be either a Behavior or a BehavioredClassifier with a classifierBehavior.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-type_of_object-_specification">
            <language>OCL</language>
            <body>self.behavior()&lt;>null</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StartObjectBehaviorAction-no_onport" name="no_onport" constrainedElement="StartObjectBehaviorAction" context="StartObjectBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartObjectBehaviorAction-no_onport-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-no_onport">
            <body>A StartObjectBehaviorAction may not specify onPort.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-no_onport-_specification">
            <language>OCL</language>
            <body>onPort->isEmpty()</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="StartObjectBehaviorAction-_generalization.0" general="CallAction" specific="StartObjectBehaviorAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StartObjectBehaviorAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_startObjectBehaviorAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartObjectBehaviorAction-object-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-object">
            <body>An InputPin that holds the object that is either a Behavior to be started or has a classifierBehavior to be started.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StartObjectBehaviorAction-outputParameters" name="outputParameters" bodyCondition="StartObjectBehaviorAction-outputParameters-spec" class="StartObjectBehaviorAction" isQuery="true" redefinedOperation="CallAction-outputParameters">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartObjectBehaviorAction-outputParameters-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-outputParameters">
            <body>Return the inout, out and return ownedParameters of the Behavior being called.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StartObjectBehaviorAction-outputParameters-spec" name="spec" constrainedElement="StartObjectBehaviorAction-outputParameters" context="StartObjectBehaviorAction-outputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-outputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (self.behavior().outputParameters())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StartObjectBehaviorAction-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StartObjectBehaviorAction-outputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StartObjectBehaviorAction-outputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StartObjectBehaviorAction-inputParameters" name="inputParameters" bodyCondition="StartObjectBehaviorAction-inputParameters-spec" class="StartObjectBehaviorAction" isQuery="true" redefinedOperation="CallAction-inputParameters">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartObjectBehaviorAction-inputParameters-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-inputParameters">
            <body>Return the in and inout ownedParameters of the Behavior being called.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StartObjectBehaviorAction-inputParameters-spec" name="spec" constrainedElement="StartObjectBehaviorAction-inputParameters" context="StartObjectBehaviorAction-inputParameters">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-inputParameters-spec-_specification">
              <language>OCL</language>
              <body>result = (self.behavior().inputParameters())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StartObjectBehaviorAction-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StartObjectBehaviorAction-inputParameters-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StartObjectBehaviorAction-inputParameters-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StartObjectBehaviorAction-behavior" name="behavior" bodyCondition="StartObjectBehaviorAction-behavior-spec" class="StartObjectBehaviorAction" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="StartObjectBehaviorAction-behavior-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-behavior">
            <body>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.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StartObjectBehaviorAction-behavior-spec" name="spec" constrainedElement="StartObjectBehaviorAction-behavior" context="StartObjectBehaviorAction-behavior">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-behavior-spec-_specification">
              <language>OCL</language>
              <body>result = (if object.type.oclIsKindOf(Behavior) then&#xD;
  object.type.oclAsType(Behavior)&#xD;
else if object.type.oclIsKindOf(BehavioredClassifier) then&#xD;
  object.type.oclAsType(BehavioredClassifier).classifierBehavior&#xD;
else&#xD;
  null&#xD;
endif&#xD;
endif)</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StartObjectBehaviorAction-behavior-result" name="result" type="Behavior" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StartObjectBehaviorAction-behavior-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StructuralFeatureAction" name="StructuralFeatureAction" isAbstract="true">
        <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeatureAction-_ownedComment.0" annotatedElement="StructuralFeatureAction">
          <body>StructuralFeatureAction is an abstract class for all Actions that operate on StructuralFeatures.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StructuralFeatureAction-multiplicity" name="multiplicity" constrainedElement="StructuralFeatureAction" context="StructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeatureAction-multiplicity-_ownedComment.0" annotatedElement="StructuralFeatureAction-multiplicity">
            <body>The multiplicity of the object InputPin must be 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-multiplicity-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StructuralFeatureAction-object_type" name="object_type" constrainedElement="StructuralFeatureAction" context="StructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeatureAction-object_type-_ownedComment.0" annotatedElement="StructuralFeatureAction-object_type">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-object_type-_specification">
            <language>OCL</language>
            <body>object.type.oclAsType(Classifier).allFeatures()->includes(structuralFeature) or&#xD;
	object.type.conformsTo(structuralFeature.oclAsType(Property).opposite.type)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StructuralFeatureAction-visibility" name="visibility" constrainedElement="StructuralFeatureAction" context="StructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeatureAction-visibility-_ownedComment.0" annotatedElement="StructuralFeatureAction-visibility">
            <body>The visibility of the structuralFeature must allow access from the object performing the ReadStructuralFeatureAction.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-visibility-_specification">
            <language>OCL</language>
            <body>structuralFeature.visibility = VisibilityKind::public or
_'context'.allFeatures()->includes(structuralFeature) or
structuralFeature.visibility=VisibilityKind::protected and
_'context'.conformsTo(structuralFeature.oclAsType(Property).opposite.type.oclAsType(Classifier))
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StructuralFeatureAction-not_static" name="not_static" constrainedElement="StructuralFeatureAction" context="StructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeatureAction-not_static-_ownedComment.0" annotatedElement="StructuralFeatureAction-not_static">
            <body>The structuralFeature must not be static.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-not_static-_specification">
            <language>OCL</language>
            <body>not structuralFeature.isStatic</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StructuralFeatureAction-one_featuring_classifier" name="one_featuring_classifier" constrainedElement="StructuralFeatureAction" context="StructuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeatureAction-one_featuring_classifier-_ownedComment.0" annotatedElement="StructuralFeatureAction-one_featuring_classifier">
            <body>The structuralFeature must have exactly one featuringClassifier.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-one_featuring_classifier-_specification">
            <language>OCL</language>
            <body>structuralFeature.featuringClassifier->size() = 1</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="StructuralFeatureAction-_generalization.0" general="Action" specific="StructuralFeatureAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuralFeatureAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_structuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeatureAction-object-_ownedComment.0" annotatedElement="StructuralFeatureAction-object">
            <body>The InputPin from which the object whose StructuralFeature is to be read or written is obtained.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuralFeatureAction-structuralFeature" name="structuralFeature" type="StructuralFeature" association="A_structuralFeature_structuralFeatureAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuralFeatureAction-structuralFeature-_ownedComment.0" annotatedElement="StructuralFeatureAction-structuralFeature">
            <body>The StructuralFeature to be read or written.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="StructuredActivityNode" name="StructuredActivityNode">
        <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-_ownedComment.0" annotatedElement="StructuredActivityNode">
          <body>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.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredActivityNode-output_pin_edges" name="output_pin_edges" constrainedElement="StructuredActivityNode" context="StructuredActivityNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-output_pin_edges-_ownedComment.0" annotatedElement="StructuredActivityNode-output_pin_edges">
            <body>The outgoing ActivityEdges of the OutputPins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-output_pin_edges-_specification">
            <language>OCL</language>
            <body>output.outgoing.target->excludesAll(allOwnedNodes()-input)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredActivityNode-edges" name="edges" constrainedElement="StructuredActivityNode" context="StructuredActivityNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-edges-_ownedComment.0" annotatedElement="StructuredActivityNode-edges">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-edges-_specification">
            <language>OCL</language>
            <body>edge=self.sourceNodes().outgoing->intersection(self.allOwnedNodes().incoming)->&#xD;
	union(self.targetNodes().incoming->intersection(self.allOwnedNodes().outgoing))->asSet()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredActivityNode-input_pin_edges" name="input_pin_edges" constrainedElement="StructuredActivityNode" context="StructuredActivityNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-input_pin_edges-_ownedComment.0" annotatedElement="StructuredActivityNode-input_pin_edges">
            <body>The incoming ActivityEdges of an InputPin of a StructuredActivityNode must have sources that are not within the StructuredActivityNode.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-input_pin_edges-_specification">
            <language>OCL</language>
            <body>input.incoming.source->excludesAll(allOwnedNodes()-output)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="StructuredActivityNode-_generalization.0" general="Namespace" specific="StructuredActivityNode"/>
        <generalization xmi:type="uml:Generalization" xmi:id="StructuredActivityNode-_generalization.2" general="ActivityGroup" specific="StructuredActivityNode"/>
        <generalization xmi:type="uml:Generalization" xmi:id="StructuredActivityNode-_generalization.1" general="Action" specific="StructuredActivityNode"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredActivityNode-activity" name="activity" type="Activity" redefinedProperty="ActivityGroup-inActivity ActivityNode-activity" association="A_structuredNode_activity">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-activity-_ownedComment.0" annotatedElement="StructuredActivityNode-activity">
            <body>The Activity immediately containing the StructuredActivityNode, if it is not contained in another StructuredActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-activity-_lowerValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredActivityNode-edge" name="edge" type="ActivityEdge" aggregation="composite" subsettedProperty="ActivityGroup-containedEdge Element-ownedElement" association="A_edge_inStructuredNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-edge-_ownedComment.0" annotatedElement="StructuredActivityNode-edge">
            <body>The ActivityEdges immediately contained in the StructuredActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-edge-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-edge-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredActivityNode-mustIsolate" name="mustIsolate">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-mustIsolate-_ownedComment.0" annotatedElement="StructuredActivityNode-mustIsolate">
            <body>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.&#xD;
</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="StructuredActivityNode-mustIsolate-_defaultValue"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredActivityNode-node" name="node" type="ActivityNode" aggregation="composite" subsettedProperty="ActivityGroup-containedNode Element-ownedElement" association="A_node_inStructuredNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-node-_ownedComment.0" annotatedElement="StructuredActivityNode-node">
            <body>The ActivityNodes immediately contained in the StructuredActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-node-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-node-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredActivityNode-structuredNodeInput" name="structuredNodeInput" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_structuredNodeInput_structuredActivityNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-structuredNodeInput-_ownedComment.0" annotatedElement="StructuredActivityNode-structuredNodeInput">
            <body>The InputPins owned by the StructuredActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-structuredNodeInput-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-structuredNodeInput-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredActivityNode-structuredNodeOutput" name="structuredNodeOutput" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_structuredNodeOutput_structuredActivityNode">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-structuredNodeOutput-_ownedComment.0" annotatedElement="StructuredActivityNode-structuredNodeOutput">
            <body>The OutputPins owned by the StructuredActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-structuredNodeOutput-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-structuredNodeOutput-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="StructuredActivityNode-variable" name="variable" type="Variable" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_variable_scope">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-variable-_ownedComment.0" annotatedElement="StructuredActivityNode-variable">
            <body>The Variables defined in the scope of the StructuredActivityNode.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-variable-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-variable-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StructuredActivityNode-allActions" name="allActions" bodyCondition="StructuredActivityNode-allActions-spec" class="StructuredActivityNode" isQuery="true" redefinedOperation="Action-allActions">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-allActions-_ownedComment.0" annotatedElement="StructuredActivityNode-allActions">
            <body>Returns this StructuredActivityNode and all Actions contained in it.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredActivityNode-allActions-spec" name="spec" constrainedElement="StructuredActivityNode-allActions" context="StructuredActivityNode-allActions">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-allActions-spec-_specification">
              <language>OCL</language>
              <body>result = (node->select(oclIsKindOf(Action)).oclAsType(Action).allActions()->including(self)->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StructuredActivityNode-allActions-result" name="result" type="Action" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-allActions-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-allActions-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StructuredActivityNode-allOwnedNodes" name="allOwnedNodes" bodyCondition="StructuredActivityNode-allOwnedNodes-spec" class="StructuredActivityNode" isQuery="true" redefinedOperation="Action-allOwnedNodes">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-allOwnedNodes-_ownedComment.0" annotatedElement="StructuredActivityNode-allOwnedNodes">
            <body>Returns all the ActivityNodes contained directly or indirectly within this StructuredActivityNode, in addition to the Pins of the StructuredActivityNode.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredActivityNode-allOwnedNodes-spec" name="spec" constrainedElement="StructuredActivityNode-allOwnedNodes" context="StructuredActivityNode-allOwnedNodes">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-allOwnedNodes-spec-_specification">
              <language>OCL</language>
              <body>result = (self.Action::allOwnedNodes()->union(node)->union(node->select(oclIsKindOf(Action)).oclAsType(Action).allOwnedNodes())->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StructuredActivityNode-allOwnedNodes-result" name="result" type="ActivityNode" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-allOwnedNodes-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-allOwnedNodes-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StructuredActivityNode-sourceNodes" name="sourceNodes" bodyCondition="StructuredActivityNode-sourceNodes-spec" class="StructuredActivityNode" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-sourceNodes-_ownedComment.0" annotatedElement="StructuredActivityNode-sourceNodes">
            <body>Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as sources of edges owned by the StructuredActivityNode.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredActivityNode-sourceNodes-spec" name="spec" constrainedElement="StructuredActivityNode-sourceNodes" context="StructuredActivityNode-sourceNodes">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-sourceNodes-spec-_specification">
              <language>OCL</language>
              <body>result = (node->union(input.oclAsType(ActivityNode)->asSet())->&#xD;
  union(node->select(oclIsKindOf(Action)).oclAsType(Action).output)->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StructuredActivityNode-sourceNodes-result" name="result" type="ActivityNode" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-sourceNodes-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-sourceNodes-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StructuredActivityNode-targetNodes" name="targetNodes" bodyCondition="StructuredActivityNode-targetNodes-spec" class="StructuredActivityNode" isQuery="true">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-targetNodes-_ownedComment.0" annotatedElement="StructuredActivityNode-targetNodes">
            <body>Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as targets of edges owned by the StructuredActivityNode.</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredActivityNode-targetNodes-spec" name="spec" constrainedElement="StructuredActivityNode-targetNodes" context="StructuredActivityNode-targetNodes">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-targetNodes-spec-_specification">
              <language>OCL</language>
              <body>result = (node->union(output.oclAsType(ActivityNode)->asSet())->&#xD;
  union(node->select(oclIsKindOf(Action)).oclAsType(Action).input)->asSet())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StructuredActivityNode-targetNodes-result" name="result" type="ActivityNode" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-targetNodes-result-_lowerValue"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-targetNodes-result-_upperValue" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:type="uml:Operation" xmi:id="StructuredActivityNode-containingActivity" name="containingActivity" bodyCondition="StructuredActivityNode-containingActivity-spec" class="StructuredActivityNode" isQuery="true" redefinedOperation="ActivityGroup-containingActivity ActivityNode-containingActivity">
          <ownedComment xmi:type="uml:Comment" xmi:id="StructuredActivityNode-containingActivity-_ownedComment.0" annotatedElement="StructuredActivityNode-containingActivity">
            <body>The Activity that directly or indirectly contains this StructuredActivityNode (considered as an Action).</body>
          </ownedComment>
          <ownedRule xmi:type="uml:Constraint" xmi:id="StructuredActivityNode-containingActivity-spec" name="spec" constrainedElement="StructuredActivityNode-containingActivity" context="StructuredActivityNode-containingActivity">
            <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-containingActivity-spec-_specification">
              <language>OCL</language>
              <body>result = (self.Action::containingActivity())</body>
            </specification>
          </ownedRule>
          <ownedParameter xmi:type="uml:Parameter" xmi:id="StructuredActivityNode-containingActivity-result" name="result" type="Activity" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-containingActivity-result-_lowerValue"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="TestIdentityAction" name="TestIdentityAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="TestIdentityAction-_ownedComment.0" annotatedElement="TestIdentityAction">
          <body>A TestIdentityAction is an Action that tests if two values are identical objects.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TestIdentityAction-multiplicity" name="multiplicity" constrainedElement="TestIdentityAction" context="TestIdentityAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="TestIdentityAction-multiplicity-_ownedComment.0" annotatedElement="TestIdentityAction-multiplicity">
            <body>The multiplicity of the InputPins is 1..1.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TestIdentityAction-multiplicity-_specification">
            <language>OCL</language>
            <body>first.is(1,1) and second.is(1,1)
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TestIdentityAction-no_type" name="no_type" constrainedElement="TestIdentityAction" context="TestIdentityAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="TestIdentityAction-no_type-_ownedComment.0" annotatedElement="TestIdentityAction-no_type">
            <body>The InputPins have no type.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TestIdentityAction-no_type-_specification">
            <language>OCL</language>
            <body>first.type= null and second.type = null
</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="TestIdentityAction-result_is_boolean" name="result_is_boolean" constrainedElement="TestIdentityAction" context="TestIdentityAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="TestIdentityAction-result_is_boolean-_ownedComment.0" annotatedElement="TestIdentityAction-result_is_boolean">
            <body>The type of the result OutputPin is Boolean. </body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TestIdentityAction-result_is_boolean-_specification">
            <language>OCL</language>
            <body>result.type=Boolean</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="TestIdentityAction-_generalization.0" general="Action" specific="TestIdentityAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TestIdentityAction-first" name="first" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_first_testIdentityAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="TestIdentityAction-first-_ownedComment.0" annotatedElement="TestIdentityAction-first">
            <body>The InputPin on which the first input object is placed.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TestIdentityAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_testIdentityAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="TestIdentityAction-result-_ownedComment.0" annotatedElement="TestIdentityAction-result">
            <body>The OutputPin whose Boolean value indicates whether the two input objects are identical.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="TestIdentityAction-second" name="second" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_second_testIdentityAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="TestIdentityAction-second-_ownedComment.0" annotatedElement="TestIdentityAction-second">
            <body>The OutputPin on which the second input object is placed.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="UnmarshallAction" name="UnmarshallAction">
        <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-_ownedComment.0" annotatedElement="UnmarshallAction">
          <body>An UnmarshallAction is an Action that retrieves the values of the StructuralFeatures of an object and places them on OutputPins. </body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UnmarshallAction-structural_feature" name="structural_feature" constrainedElement="UnmarshallAction" context="UnmarshallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-structural_feature-_ownedComment.0" annotatedElement="UnmarshallAction-structural_feature">
            <body>The unmarshallType must have at least one StructuralFeature.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-structural_feature-_specification">
            <language>OCL</language>
            <body>unmarshallType.allAttributes()->size() >= 1</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UnmarshallAction-number_of_result" name="number_of_result" constrainedElement="UnmarshallAction" context="UnmarshallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-number_of_result-_ownedComment.0" annotatedElement="UnmarshallAction-number_of_result">
            <body>The number of result outputPins must be the same as the number of attributes of the unmarshallType.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-number_of_result-_specification">
            <language>OCL</language>
            <body>unmarshallType.allAttributes()->size() = result->size()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UnmarshallAction-type_ordering_and_multiplicity" name="type_ordering_and_multiplicity" constrainedElement="UnmarshallAction" context="UnmarshallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-type_ordering_and_multiplicity-_ownedComment.0" annotatedElement="UnmarshallAction-type_ordering_and_multiplicity">
            <body>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.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-type_ordering_and_multiplicity-_specification">
            <language>OCL</language>
            <body>let attribute:OrderedSet(Property) = unmarshallType.allAttributes() in&#xD;
Sequence{1..result->size()}->forAll(i | &#xD;
	attribute->at(i).type.conformsTo(result->at(i).type) and&#xD;
	attribute->at(i).isOrdered=result->at(i).isOrdered and&#xD;
	attribute->at(i).compatibleWith(result->at(i)))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UnmarshallAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="UnmarshallAction" context="UnmarshallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-multiplicity_of_object-_ownedComment.0" annotatedElement="UnmarshallAction-multiplicity_of_object">
            <body>The multiplicity of the object InputPin is 1..1</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-multiplicity_of_object-_specification">
            <language>OCL</language>
            <body>object.is(1,1)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="UnmarshallAction-object_type" name="object_type" constrainedElement="UnmarshallAction" context="UnmarshallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-object_type-_ownedComment.0" annotatedElement="UnmarshallAction-object_type">
            <body>The type of the object InputPin conform to the unmarshallType.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-object_type-_specification">
            <language>OCL</language>
            <body>object.type.conformsTo(unmarshallType)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="UnmarshallAction-_generalization.0" general="Action" specific="UnmarshallAction"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="UnmarshallAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_unmarshallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-object-_ownedComment.0" annotatedElement="UnmarshallAction-object">
            <body>The InputPin that gives the object to be unmarshalled.</body>
          </ownedComment>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="UnmarshallAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_unmarshallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-result-_ownedComment.0" annotatedElement="UnmarshallAction-result">
            <body>The OutputPins on which are placed the values of the StructuralFeatures of the input object.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UnmarshallAction-result-_upperValue" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:type="uml:Property" xmi:id="UnmarshallAction-unmarshallType" name="unmarshallType" type="Classifier" association="A_unmarshallType_unmarshallAction">
          <ownedComment xmi:type="uml:Comment" xmi:id="UnmarshallAction-unmarshallType-_ownedComment.0" annotatedElement="UnmarshallAction-unmarshallType">
            <body>The type of the object to be unmarshalled.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="ValuePin" name="ValuePin">
        <ownedComment xmi:type="uml:Comment" xmi:id="ValuePin-_ownedComment.0" annotatedElement="ValuePin">
          <body>A ValuePin is an InputPin that provides a value by evaluating a ValueSpecification.</body>
        </ownedComment>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ValuePin-no_incoming_edges" name="no_incoming_edges" constrainedElement="ValuePin" context="ValuePin">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValuePin-no_incoming_edges-_ownedComment.0" annotatedElement="ValuePin-no_incoming_edges">
            <body>A ValuePin may have no incoming ActivityEdges.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValuePin-no_incoming_edges-_specification">
            <language>OCL</language>
            <body>incoming->isEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:type="uml:Constraint" xmi:id="ValuePin-compatible_type" name="compatible_type" constrainedElement="ValuePin" context="ValuePin">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValuePin-compatible_type-_ownedComment.0" annotatedElement="ValuePin-compatible_type">
            <body>The type of the value ValueSpecification must conform to the type of the ValuePin.</body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValuePin-compatible_type-_specification">
            <language>OCL</language>
            <body>value.type.conformsTo(type)</body>
          </specification>
        </ownedRule>
        <generalization xmi:type="uml:Generalization" xmi:id="ValuePin-_generalization.0" general="InputPin" specific="ValuePin"/>
        <ownedAttribute xmi:type="uml:Property" xmi:id="ValuePin-value" name="value" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_valuePin">
          <ownedComment xmi:type="uml:Comment" xmi:id="ValuePin-value-_ownedComment.0" annotatedElement="ValuePin-value">
            <body>The ValueSpecification that is evaluated to obtain the value that the ValuePin will provide.</body>
          </ownedComment>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_value_valuePin" name="A_value_valuePin" memberEnd="ValuePin-value A_value_valuePin-valuePin">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_value_valuePin-valuePin" name="valuePin" type="ValuePin" owningAssociation="A_value_valuePin" subsettedProperty="Element-owner" association="A_value_valuePin">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_valuePin-valuePin-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_unmarshallAction" name="A_result_unmarshallAction" memberEnd="UnmarshallAction-result A_result_unmarshallAction-unmarshallAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_unmarshallAction-unmarshallAction" name="unmarshallAction" type="UnmarshallAction" owningAssociation="A_result_unmarshallAction" subsettedProperty="A_output_action-action" association="A_result_unmarshallAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_unmarshallAction-unmarshallAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_unmarshallType_unmarshallAction" name="A_unmarshallType_unmarshallAction" memberEnd="UnmarshallAction-unmarshallType A_unmarshallType_unmarshallAction-unmarshallAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_unmarshallType_unmarshallAction-unmarshallAction" name="unmarshallAction" type="UnmarshallAction" owningAssociation="A_unmarshallType_unmarshallAction" association="A_unmarshallType_unmarshallAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_unmarshallType_unmarshallAction-unmarshallAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_unmarshallType_unmarshallAction-unmarshallAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_unmarshallAction" name="A_object_unmarshallAction" memberEnd="UnmarshallAction-object A_object_unmarshallAction-unmarshallAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_unmarshallAction-unmarshallAction" name="unmarshallAction" type="UnmarshallAction" owningAssociation="A_object_unmarshallAction" subsettedProperty="A_input_action-action" association="A_object_unmarshallAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_unmarshallAction-unmarshallAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_first_testIdentityAction" name="A_first_testIdentityAction" memberEnd="TestIdentityAction-first A_first_testIdentityAction-testIdentityAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_first_testIdentityAction-testIdentityAction" name="testIdentityAction" type="TestIdentityAction" owningAssociation="A_first_testIdentityAction" subsettedProperty="A_input_action-action" association="A_first_testIdentityAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_first_testIdentityAction-testIdentityAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_second_testIdentityAction" name="A_second_testIdentityAction" memberEnd="TestIdentityAction-second A_second_testIdentityAction-testIdentityAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_second_testIdentityAction-testIdentityAction" name="testIdentityAction" type="TestIdentityAction" owningAssociation="A_second_testIdentityAction" subsettedProperty="A_input_action-action" association="A_second_testIdentityAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_second_testIdentityAction-testIdentityAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_testIdentityAction" name="A_result_testIdentityAction" memberEnd="TestIdentityAction-result A_result_testIdentityAction-testIdentityAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_testIdentityAction-testIdentityAction" name="testIdentityAction" type="TestIdentityAction" owningAssociation="A_result_testIdentityAction" subsettedProperty="A_output_action-action" association="A_result_testIdentityAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_testIdentityAction-testIdentityAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_structuredNodeOutput_structuredActivityNode" name="A_structuredNodeOutput_structuredActivityNode" memberEnd="StructuredActivityNode-structuredNodeOutput A_structuredNodeOutput_structuredActivityNode-structuredActivityNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode" name="structuredActivityNode" type="StructuredActivityNode" owningAssociation="A_structuredNodeOutput_structuredActivityNode" subsettedProperty="A_output_action-action" association="A_structuredNodeOutput_structuredActivityNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_structuredNodeInput_structuredActivityNode" name="A_structuredNodeInput_structuredActivityNode" memberEnd="StructuredActivityNode-structuredNodeInput A_structuredNodeInput_structuredActivityNode-structuredActivityNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_structuredNodeInput_structuredActivityNode-structuredActivityNode" name="structuredActivityNode" type="StructuredActivityNode" owningAssociation="A_structuredNodeInput_structuredActivityNode" subsettedProperty="A_input_action-action" association="A_structuredNodeInput_structuredActivityNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuredNodeInput_structuredActivityNode-structuredActivityNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_edge_inStructuredNode" name="A_edge_inStructuredNode" memberEnd="StructuredActivityNode-edge ActivityEdge-inStructuredNode"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_node_inStructuredNode" name="A_node_inStructuredNode" memberEnd="StructuredActivityNode-node ActivityNode-inStructuredNode"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_variable_scope" name="A_variable_scope" memberEnd="StructuredActivityNode-variable Variable-scope"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_structuralFeatureAction" name="A_object_structuralFeatureAction" memberEnd="StructuralFeatureAction-object A_object_structuralFeatureAction-structuralFeatureAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_structuralFeatureAction-structuralFeatureAction" name="structuralFeatureAction" type="StructuralFeatureAction" owningAssociation="A_object_structuralFeatureAction" subsettedProperty="A_input_action-action" association="A_object_structuralFeatureAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_structuralFeatureAction-structuralFeatureAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_structuralFeature_structuralFeatureAction" name="A_structuralFeature_structuralFeatureAction" memberEnd="StructuralFeatureAction-structuralFeature A_structuralFeature_structuralFeatureAction-structuralFeatureAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_structuralFeature_structuralFeatureAction-structuralFeatureAction" name="structuralFeatureAction" type="StructuralFeatureAction" owningAssociation="A_structuralFeature_structuralFeatureAction" association="A_structuralFeature_structuralFeatureAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuralFeature_structuralFeatureAction-structuralFeatureAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_structuralFeature_structuralFeatureAction-structuralFeatureAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_startObjectBehaviorAction" name="A_object_startObjectBehaviorAction" memberEnd="StartObjectBehaviorAction-object A_object_startObjectBehaviorAction-startObjectBehaviorAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_startObjectBehaviorAction-startObjectBehaviorAction" name="startObjectBehaviorAction" type="StartObjectBehaviorAction" owningAssociation="A_object_startObjectBehaviorAction" subsettedProperty="A_input_action-action" association="A_object_startObjectBehaviorAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_startObjectBehaviorAction-startObjectBehaviorAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_startClassifierBehaviorAction" name="A_object_startClassifierBehaviorAction" memberEnd="StartClassifierBehaviorAction-object A_object_startClassifierBehaviorAction-startClassifierBehaviorAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_startClassifierBehaviorAction-startClassifierBehaviorAction" name="startClassifierBehaviorAction" type="StartClassifierBehaviorAction" owningAssociation="A_object_startClassifierBehaviorAction" subsettedProperty="A_input_action-action" association="A_object_startClassifierBehaviorAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_startClassifierBehaviorAction-startClassifierBehaviorAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_executableNode_sequenceNode" name="A_executableNode_sequenceNode" memberEnd="SequenceNode-executableNode A_executableNode_sequenceNode-sequenceNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_executableNode_sequenceNode-sequenceNode" name="sequenceNode" type="SequenceNode" owningAssociation="A_executableNode_sequenceNode" subsettedProperty="ActivityNode-inStructuredNode" association="A_executableNode_sequenceNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_executableNode_sequenceNode-sequenceNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_signal_sendSignalAction" name="A_signal_sendSignalAction" memberEnd="SendSignalAction-signal A_signal_sendSignalAction-sendSignalAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_signal_sendSignalAction-sendSignalAction" name="sendSignalAction" type="SendSignalAction" owningAssociation="A_signal_sendSignalAction" association="A_signal_sendSignalAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signal_sendSignalAction-sendSignalAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signal_sendSignalAction-sendSignalAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_target_sendSignalAction" name="A_target_sendSignalAction" memberEnd="SendSignalAction-target A_target_sendSignalAction-sendSignalAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_target_sendSignalAction-sendSignalAction" name="sendSignalAction" type="SendSignalAction" owningAssociation="A_target_sendSignalAction" subsettedProperty="A_input_action-action" association="A_target_sendSignalAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_sendSignalAction-sendSignalAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_request_sendObjectAction" name="A_request_sendObjectAction" memberEnd="SendObjectAction-request A_request_sendObjectAction-sendObjectAction">
        <generalization xmi:type="uml:Generalization" xmi:id="A_request_sendObjectAction-_generalization.0" general="A_argument_invocationAction" specific="A_request_sendObjectAction"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_request_sendObjectAction-sendObjectAction" name="sendObjectAction" type="SendObjectAction" owningAssociation="A_request_sendObjectAction" redefinedProperty="A_argument_invocationAction-invocationAction" association="A_request_sendObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_request_sendObjectAction-sendObjectAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_target_sendObjectAction" name="A_target_sendObjectAction" memberEnd="SendObjectAction-target A_target_sendObjectAction-sendObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_target_sendObjectAction-sendObjectAction" name="sendObjectAction" type="SendObjectAction" owningAssociation="A_target_sendObjectAction" subsettedProperty="A_input_action-action" association="A_target_sendObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_sendObjectAction-sendObjectAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_returnInformation_replyAction" name="A_returnInformation_replyAction" memberEnd="ReplyAction-returnInformation A_returnInformation_replyAction-replyAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_returnInformation_replyAction-replyAction" name="replyAction" type="ReplyAction" owningAssociation="A_returnInformation_replyAction" subsettedProperty="A_input_action-action" association="A_returnInformation_replyAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_returnInformation_replyAction-replyAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_replyToCall_replyAction" name="A_replyToCall_replyAction" memberEnd="ReplyAction-replyToCall A_replyToCall_replyAction-replyAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_replyToCall_replyAction-replyAction" name="replyAction" type="ReplyAction" owningAssociation="A_replyToCall_replyAction" association="A_replyToCall_replyAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_replyToCall_replyAction-replyAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_replyValue_replyAction" name="A_replyValue_replyAction" memberEnd="ReplyAction-replyValue A_replyValue_replyAction-replyAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_replyValue_replyAction-replyAction" name="replyAction" type="ReplyAction" owningAssociation="A_replyValue_replyAction" subsettedProperty="A_input_action-action" association="A_replyValue_replyAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_replyValue_replyAction-replyAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_removeAt_removeVariableValueAction" name="A_removeAt_removeVariableValueAction" memberEnd="RemoveVariableValueAction-removeAt A_removeAt_removeVariableValueAction-removeVariableValueAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_removeAt_removeVariableValueAction-removeVariableValueAction" name="removeVariableValueAction" type="RemoveVariableValueAction" owningAssociation="A_removeAt_removeVariableValueAction" subsettedProperty="A_input_action-action" association="A_removeAt_removeVariableValueAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_removeAt_removeVariableValueAction-removeVariableValueAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_removeAt_removeStructuralFeatureValueAction" name="A_removeAt_removeStructuralFeatureValueAction" memberEnd="RemoveStructuralFeatureValueAction-removeAt A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction" name="removeStructuralFeatureValueAction" type="RemoveStructuralFeatureValueAction" owningAssociation="A_removeAt_removeStructuralFeatureValueAction" subsettedProperty="A_input_action-action" association="A_removeAt_removeStructuralFeatureValueAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_collection_reduceAction" name="A_collection_reduceAction" memberEnd="ReduceAction-collection A_collection_reduceAction-reduceAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_collection_reduceAction-reduceAction" name="reduceAction" type="ReduceAction" owningAssociation="A_collection_reduceAction" subsettedProperty="A_input_action-action" association="A_collection_reduceAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_collection_reduceAction-reduceAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_reducer_reduceAction" name="A_reducer_reduceAction" memberEnd="ReduceAction-reducer A_reducer_reduceAction-reduceAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_reducer_reduceAction-reduceAction" name="reduceAction" type="ReduceAction" owningAssociation="A_reducer_reduceAction" association="A_reducer_reduceAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_reducer_reduceAction-reduceAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_reducer_reduceAction-reduceAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_reduceAction" name="A_result_reduceAction" memberEnd="ReduceAction-result A_result_reduceAction-reduceAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_reduceAction-reduceAction" name="reduceAction" type="ReduceAction" owningAssociation="A_result_reduceAction" subsettedProperty="A_output_action-action" association="A_result_reduceAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_reduceAction-reduceAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_reclassifyObjectAction" name="A_object_reclassifyObjectAction" memberEnd="ReclassifyObjectAction-object A_object_reclassifyObjectAction-reclassifyObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="ReclassifyObjectAction" owningAssociation="A_object_reclassifyObjectAction" subsettedProperty="A_input_action-action" association="A_object_reclassifyObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_reclassifyObjectAction-reclassifyObjectAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_newClassifier_reclassifyObjectAction" name="A_newClassifier_reclassifyObjectAction" memberEnd="ReclassifyObjectAction-newClassifier A_newClassifier_reclassifyObjectAction-reclassifyObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_newClassifier_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="ReclassifyObjectAction" owningAssociation="A_newClassifier_reclassifyObjectAction" association="A_newClassifier_reclassifyObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_newClassifier_reclassifyObjectAction-reclassifyObjectAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_newClassifier_reclassifyObjectAction-reclassifyObjectAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_oldClassifier_reclassifyObjectAction" name="A_oldClassifier_reclassifyObjectAction" memberEnd="ReclassifyObjectAction-oldClassifier A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="ReclassifyObjectAction" owningAssociation="A_oldClassifier_reclassifyObjectAction" association="A_oldClassifier_reclassifyObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_readVariableAction" name="A_result_readVariableAction" memberEnd="ReadVariableAction-result A_result_readVariableAction-readVariableAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_readVariableAction-readVariableAction" name="readVariableAction" type="ReadVariableAction" owningAssociation="A_result_readVariableAction" subsettedProperty="A_output_action-action" association="A_result_readVariableAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readVariableAction-readVariableAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_readStructuralFeatureAction" name="A_result_readStructuralFeatureAction" memberEnd="ReadStructuralFeatureAction-result A_result_readStructuralFeatureAction-readStructuralFeatureAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_readStructuralFeatureAction-readStructuralFeatureAction" name="readStructuralFeatureAction" type="ReadStructuralFeatureAction" owningAssociation="A_result_readStructuralFeatureAction" subsettedProperty="A_output_action-action" association="A_result_readStructuralFeatureAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readStructuralFeatureAction-readStructuralFeatureAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_readSelfAction" name="A_result_readSelfAction" memberEnd="ReadSelfAction-result A_result_readSelfAction-readSelfAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_readSelfAction-readSelfAction" name="readSelfAction" type="ReadSelfAction" owningAssociation="A_result_readSelfAction" subsettedProperty="A_output_action-action" association="A_result_readSelfAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readSelfAction-readSelfAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_qualifier_readLinkObjectEndQualifierAction" name="A_qualifier_readLinkObjectEndQualifierAction" memberEnd="ReadLinkObjectEndQualifierAction-qualifier A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="ReadLinkObjectEndQualifierAction" owningAssociation="A_qualifier_readLinkObjectEndQualifierAction" association="A_qualifier_readLinkObjectEndQualifierAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_readLinkObjectEndQualifierAction" name="A_object_readLinkObjectEndQualifierAction" memberEnd="ReadLinkObjectEndQualifierAction-object A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="ReadLinkObjectEndQualifierAction" owningAssociation="A_object_readLinkObjectEndQualifierAction" subsettedProperty="A_input_action-action" association="A_object_readLinkObjectEndQualifierAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_readLinkObjectEndQualifierAction" name="A_result_readLinkObjectEndQualifierAction" memberEnd="ReadLinkObjectEndQualifierAction-result A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="ReadLinkObjectEndQualifierAction" owningAssociation="A_result_readLinkObjectEndQualifierAction" subsettedProperty="A_output_action-action" association="A_result_readLinkObjectEndQualifierAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_readLinkObjectEndAction" name="A_object_readLinkObjectEndAction" memberEnd="ReadLinkObjectEndAction-object A_object_readLinkObjectEndAction-readLinkObjectEndAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="ReadLinkObjectEndAction" owningAssociation="A_object_readLinkObjectEndAction" subsettedProperty="A_input_action-action" association="A_object_readLinkObjectEndAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_readLinkObjectEndAction-readLinkObjectEndAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_end_readLinkObjectEndAction" name="A_end_readLinkObjectEndAction" memberEnd="ReadLinkObjectEndAction-end A_end_readLinkObjectEndAction-readLinkObjectEndAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_end_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="ReadLinkObjectEndAction" owningAssociation="A_end_readLinkObjectEndAction" association="A_end_readLinkObjectEndAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_end_readLinkObjectEndAction-readLinkObjectEndAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_readLinkObjectEndAction" name="A_result_readLinkObjectEndAction" memberEnd="ReadLinkObjectEndAction-result A_result_readLinkObjectEndAction-readLinkObjectEndAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="ReadLinkObjectEndAction" owningAssociation="A_result_readLinkObjectEndAction" subsettedProperty="A_output_action-action" association="A_result_readLinkObjectEndAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readLinkObjectEndAction-readLinkObjectEndAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_readLinkAction" name="A_result_readLinkAction" memberEnd="ReadLinkAction-result A_result_readLinkAction-readLinkAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_readLinkAction-readLinkAction" name="readLinkAction" type="ReadLinkAction" owningAssociation="A_result_readLinkAction" subsettedProperty="A_output_action-action" association="A_result_readLinkAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readLinkAction-readLinkAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_readIsClassifiedObjectAction" name="A_classifier_readIsClassifiedObjectAction" memberEnd="ReadIsClassifiedObjectAction-classifier A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="ReadIsClassifiedObjectAction" owningAssociation="A_classifier_readIsClassifiedObjectAction" association="A_classifier_readIsClassifiedObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_readIsClassifiedObjectAction" name="A_result_readIsClassifiedObjectAction" memberEnd="ReadIsClassifiedObjectAction-result A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="ReadIsClassifiedObjectAction" owningAssociation="A_result_readIsClassifiedObjectAction" subsettedProperty="A_output_action-action" association="A_result_readIsClassifiedObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_readIsClassifiedObjectAction" name="A_object_readIsClassifiedObjectAction" memberEnd="ReadIsClassifiedObjectAction-object A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="ReadIsClassifiedObjectAction" owningAssociation="A_object_readIsClassifiedObjectAction" subsettedProperty="A_input_action-action" association="A_object_readIsClassifiedObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_readExtentAction" name="A_result_readExtentAction" memberEnd="ReadExtentAction-result A_result_readExtentAction-readExtentAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_readExtentAction-readExtentAction" name="readExtentAction" type="ReadExtentAction" owningAssociation="A_result_readExtentAction" subsettedProperty="A_output_action-action" association="A_result_readExtentAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readExtentAction-readExtentAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_readExtentAction" name="A_classifier_readExtentAction" memberEnd="ReadExtentAction-classifier A_classifier_readExtentAction-readExtentAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_classifier_readExtentAction-readExtentAction" name="readExtentAction" type="ReadExtentAction" owningAssociation="A_classifier_readExtentAction" association="A_classifier_readExtentAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_readExtentAction-readExtentAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_exception_raiseExceptionAction" name="A_exception_raiseExceptionAction" memberEnd="RaiseExceptionAction-exception A_exception_raiseExceptionAction-raiseExceptionAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_exception_raiseExceptionAction-raiseExceptionAction" name="raiseExceptionAction" type="RaiseExceptionAction" owningAssociation="A_exception_raiseExceptionAction" subsettedProperty="A_input_action-action" association="A_exception_raiseExceptionAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exception_raiseExceptionAction-raiseExceptionAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_qualifier_qualifierValue" name="A_qualifier_qualifierValue" memberEnd="QualifierValue-qualifier A_qualifier_qualifierValue-qualifierValue">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_qualifier_qualifierValue-qualifierValue" name="qualifierValue" type="QualifierValue" owningAssociation="A_qualifier_qualifierValue" association="A_qualifier_qualifierValue">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_qualifier_qualifierValue-qualifierValue-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_qualifier_qualifierValue-qualifierValue-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_value_qualifierValue" name="A_value_qualifierValue" memberEnd="QualifierValue-value A_value_qualifierValue-qualifierValue">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_value_qualifierValue-qualifierValue" name="qualifierValue" type="QualifierValue" owningAssociation="A_value_qualifierValue" association="A_value_qualifierValue">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_qualifierValue-qualifierValue-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_outputValue_opaqueAction" name="A_outputValue_opaqueAction" memberEnd="OpaqueAction-outputValue A_outputValue_opaqueAction-opaqueAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_outputValue_opaqueAction-opaqueAction" name="opaqueAction" type="OpaqueAction" owningAssociation="A_outputValue_opaqueAction" subsettedProperty="A_output_action-action" association="A_outputValue_opaqueAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_outputValue_opaqueAction-opaqueAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_inputValue_opaqueAction" name="A_inputValue_opaqueAction" memberEnd="OpaqueAction-inputValue A_inputValue_opaqueAction-opaqueAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_inputValue_opaqueAction-opaqueAction" name="opaqueAction" type="OpaqueAction" owningAssociation="A_inputValue_opaqueAction" subsettedProperty="A_input_action-action" association="A_inputValue_opaqueAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inputValue_opaqueAction-opaqueAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_setupPart_loopNode" name="A_setupPart_loopNode" memberEnd="LoopNode-setupPart A_setupPart_loopNode-loopNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_setupPart_loopNode-loopNode" name="loopNode" type="LoopNode" owningAssociation="A_setupPart_loopNode" association="A_setupPart_loopNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_setupPart_loopNode-loopNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_bodyPart_loopNode" name="A_bodyPart_loopNode" memberEnd="LoopNode-bodyPart A_bodyPart_loopNode-loopNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_bodyPart_loopNode-loopNode" name="loopNode" type="LoopNode" owningAssociation="A_bodyPart_loopNode" association="A_bodyPart_loopNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_bodyPart_loopNode-loopNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_loopVariable_loopNode" name="A_loopVariable_loopNode" memberEnd="LoopNode-loopVariable A_loopVariable_loopNode-loopNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_loopVariable_loopNode-loopNode" name="loopNode" type="LoopNode" owningAssociation="A_loopVariable_loopNode" subsettedProperty="Element-owner" association="A_loopVariable_loopNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_loopVariable_loopNode-loopNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_loopNode" name="A_result_loopNode" memberEnd="LoopNode-result A_result_loopNode-loopNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_loopNode-loopNode" name="loopNode" type="LoopNode" owningAssociation="A_result_loopNode" subsettedProperty="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode" association="A_result_loopNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_loopNode-loopNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_bodyOutput_loopNode" name="A_bodyOutput_loopNode" memberEnd="LoopNode-bodyOutput A_bodyOutput_loopNode-loopNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_bodyOutput_loopNode-loopNode" name="loopNode" type="LoopNode" owningAssociation="A_bodyOutput_loopNode" association="A_bodyOutput_loopNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_bodyOutput_loopNode-loopNode-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_bodyOutput_loopNode-loopNode-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_loopVariableInput_loopNode" name="A_loopVariableInput_loopNode" memberEnd="LoopNode-loopVariableInput A_loopVariableInput_loopNode-loopNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_loopVariableInput_loopNode-loopNode" name="loopNode" type="LoopNode" owningAssociation="A_loopVariableInput_loopNode" subsettedProperty="A_structuredNodeInput_structuredActivityNode-structuredActivityNode" association="A_loopVariableInput_loopNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_loopVariableInput_loopNode-loopNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_test_loopNode" name="A_test_loopNode" memberEnd="LoopNode-test A_test_loopNode-loopNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_test_loopNode-loopNode" name="loopNode" type="LoopNode" owningAssociation="A_test_loopNode" association="A_test_loopNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_test_loopNode-loopNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_decider_loopNode" name="A_decider_loopNode" memberEnd="LoopNode-decider A_decider_loopNode-loopNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_decider_loopNode-loopNode" name="loopNode" type="LoopNode" owningAssociation="A_decider_loopNode" association="A_decider_loopNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_decider_loopNode-loopNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_destroyAt_linkEndDestructionData" name="A_destroyAt_linkEndDestructionData" memberEnd="LinkEndDestructionData-destroyAt A_destroyAt_linkEndDestructionData-linkEndDestructionData">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_destroyAt_linkEndDestructionData-linkEndDestructionData" name="linkEndDestructionData" type="LinkEndDestructionData" owningAssociation="A_destroyAt_linkEndDestructionData" association="A_destroyAt_linkEndDestructionData">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_destroyAt_linkEndDestructionData-linkEndDestructionData-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_value_linkEndData" name="A_value_linkEndData" memberEnd="LinkEndData-value A_value_linkEndData-linkEndData">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_value_linkEndData-linkEndData" name="linkEndData" type="LinkEndData" owningAssociation="A_value_linkEndData" association="A_value_linkEndData">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_linkEndData-linkEndData-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_end_linkEndData" name="A_end_linkEndData" memberEnd="LinkEndData-end A_end_linkEndData-linkEndData">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_end_linkEndData-linkEndData" name="linkEndData" type="LinkEndData" owningAssociation="A_end_linkEndData" association="A_end_linkEndData">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_end_linkEndData-linkEndData-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_end_linkEndData-linkEndData-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_qualifier_linkEndData" name="A_qualifier_linkEndData" memberEnd="LinkEndData-qualifier A_qualifier_linkEndData-linkEndData">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_qualifier_linkEndData-linkEndData" name="linkEndData" type="LinkEndData" owningAssociation="A_qualifier_linkEndData" subsettedProperty="Element-owner" association="A_qualifier_linkEndData"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_insertAt_linkEndCreationData" name="A_insertAt_linkEndCreationData" memberEnd="LinkEndCreationData-insertAt A_insertAt_linkEndCreationData-linkEndCreationData">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_insertAt_linkEndCreationData-linkEndCreationData" name="linkEndCreationData" type="LinkEndCreationData" owningAssociation="A_insertAt_linkEndCreationData" association="A_insertAt_linkEndCreationData">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_insertAt_linkEndCreationData-linkEndCreationData-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_inputValue_linkAction" name="A_inputValue_linkAction" memberEnd="LinkAction-inputValue A_inputValue_linkAction-linkAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_inputValue_linkAction-linkAction" name="linkAction" type="LinkAction" owningAssociation="A_inputValue_linkAction" subsettedProperty="A_input_action-action" association="A_inputValue_linkAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inputValue_linkAction-linkAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_endData_linkAction" name="A_endData_linkAction" memberEnd="LinkAction-endData A_endData_linkAction-linkAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_endData_linkAction-linkAction" name="linkAction" type="LinkAction" owningAssociation="A_endData_linkAction" subsettedProperty="Element-owner" association="A_endData_linkAction"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_argument_invocationAction" name="A_argument_invocationAction" memberEnd="InvocationAction-argument A_argument_invocationAction-invocationAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_argument_invocationAction-invocationAction" name="invocationAction" type="InvocationAction" owningAssociation="A_argument_invocationAction" subsettedProperty="A_input_action-action" association="A_argument_invocationAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_argument_invocationAction-invocationAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_onPort_invocationAction" name="A_onPort_invocationAction" memberEnd="InvocationAction-onPort A_onPort_invocationAction-invocationAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_onPort_invocationAction-invocationAction" name="invocationAction" type="InvocationAction" owningAssociation="A_onPort_invocationAction" association="A_onPort_invocationAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_onPort_invocationAction-invocationAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_onPort_invocationAction-invocationAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_inputElement_regionAsInput" name="A_inputElement_regionAsInput" memberEnd="ExpansionRegion-inputElement ExpansionNode-regionAsInput"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_outputElement_regionAsOutput" name="A_outputElement_regionAsOutput" memberEnd="ExpansionRegion-outputElement ExpansionNode-regionAsOutput"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_target_destroyObjectAction" name="A_target_destroyObjectAction" memberEnd="DestroyObjectAction-target A_target_destroyObjectAction-destroyObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_target_destroyObjectAction-destroyObjectAction" name="destroyObjectAction" type="DestroyObjectAction" owningAssociation="A_target_destroyObjectAction" subsettedProperty="A_input_action-action" association="A_target_destroyObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_destroyObjectAction-destroyObjectAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_endData_destroyLinkAction" name="A_endData_destroyLinkAction" memberEnd="DestroyLinkAction-endData A_endData_destroyLinkAction-destroyLinkAction">
        <generalization xmi:type="uml:Generalization" xmi:id="A_endData_destroyLinkAction-_generalization.0" general="A_endData_linkAction" specific="A_endData_destroyLinkAction"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_endData_destroyLinkAction-destroyLinkAction" name="destroyLinkAction" type="DestroyLinkAction" owningAssociation="A_endData_destroyLinkAction" redefinedProperty="A_endData_linkAction-linkAction" association="A_endData_destroyLinkAction"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_createObjectAction" name="A_classifier_createObjectAction" memberEnd="CreateObjectAction-classifier A_classifier_createObjectAction-createObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_classifier_createObjectAction-createObjectAction" name="createObjectAction" type="CreateObjectAction" owningAssociation="A_classifier_createObjectAction" association="A_classifier_createObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_createObjectAction-createObjectAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_classifier_createObjectAction-createObjectAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_createObjectAction" name="A_result_createObjectAction" memberEnd="CreateObjectAction-result A_result_createObjectAction-createObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_createObjectAction-createObjectAction" name="createObjectAction" type="CreateObjectAction" owningAssociation="A_result_createObjectAction" subsettedProperty="A_output_action-action" association="A_result_createObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_createObjectAction-createObjectAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_createLinkObjectAction" name="A_result_createLinkObjectAction" memberEnd="CreateLinkObjectAction-result A_result_createLinkObjectAction-createLinkObjectAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_createLinkObjectAction-createLinkObjectAction" name="createLinkObjectAction" type="CreateLinkObjectAction" owningAssociation="A_result_createLinkObjectAction" subsettedProperty="A_output_action-action" association="A_result_createLinkObjectAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_createLinkObjectAction-createLinkObjectAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_endData_createLinkAction" name="A_endData_createLinkAction" memberEnd="CreateLinkAction-endData A_endData_createLinkAction-createLinkAction">
        <generalization xmi:type="uml:Generalization" xmi:id="A_endData_createLinkAction-_generalization.0" general="A_endData_linkAction" specific="A_endData_createLinkAction"/>
        <ownedEnd xmi:type="uml:Property" xmi:id="A_endData_createLinkAction-createLinkAction" name="createLinkAction" type="CreateLinkAction" owningAssociation="A_endData_createLinkAction" redefinedProperty="A_endData_linkAction-linkAction" association="A_endData_createLinkAction"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_clause_conditionalNode" name="A_clause_conditionalNode" memberEnd="ConditionalNode-clause A_clause_conditionalNode-conditionalNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_clause_conditionalNode-conditionalNode" name="conditionalNode" type="ConditionalNode" owningAssociation="A_clause_conditionalNode" subsettedProperty="Element-owner" association="A_clause_conditionalNode"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_conditionalNode" name="A_result_conditionalNode" memberEnd="ConditionalNode-result A_result_conditionalNode-conditionalNode">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_conditionalNode-conditionalNode" name="conditionalNode" type="ConditionalNode" owningAssociation="A_result_conditionalNode" subsettedProperty="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode" association="A_result_conditionalNode">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_conditionalNode-conditionalNode-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_clearStructuralFeatureAction" name="A_result_clearStructuralFeatureAction" memberEnd="ClearStructuralFeatureAction-result A_result_clearStructuralFeatureAction-clearStructuralFeatureAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_clearStructuralFeatureAction-clearStructuralFeatureAction" name="clearStructuralFeatureAction" type="ClearStructuralFeatureAction" owningAssociation="A_result_clearStructuralFeatureAction" subsettedProperty="A_output_action-action" association="A_result_clearStructuralFeatureAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_clearStructuralFeatureAction-clearStructuralFeatureAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_object_clearAssociationAction" name="A_object_clearAssociationAction" memberEnd="ClearAssociationAction-object A_object_clearAssociationAction-clearAssociationAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_object_clearAssociationAction-clearAssociationAction" name="clearAssociationAction" type="ClearAssociationAction" owningAssociation="A_object_clearAssociationAction" subsettedProperty="A_input_action-action" association="A_object_clearAssociationAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_clearAssociationAction-clearAssociationAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_association_clearAssociationAction" name="A_association_clearAssociationAction" memberEnd="ClearAssociationAction-association A_association_clearAssociationAction-clearAssociationAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_association_clearAssociationAction-clearAssociationAction" name="clearAssociationAction" type="ClearAssociationAction" owningAssociation="A_association_clearAssociationAction" association="A_association_clearAssociationAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_association_clearAssociationAction-clearAssociationAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_decider_clause" name="A_decider_clause" memberEnd="Clause-decider A_decider_clause-clause">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_decider_clause-clause" name="clause" type="Clause" owningAssociation="A_decider_clause" association="A_decider_clause">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_decider_clause-clause-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_bodyOutput_clause" name="A_bodyOutput_clause" memberEnd="Clause-bodyOutput A_bodyOutput_clause-clause">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_bodyOutput_clause-clause" name="clause" type="Clause" owningAssociation="A_bodyOutput_clause" association="A_bodyOutput_clause">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_bodyOutput_clause-clause-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_bodyOutput_clause-clause-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_test_clause" name="A_test_clause" memberEnd="Clause-test A_test_clause-clause">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_test_clause-clause" name="clause" type="Clause" owningAssociation="A_test_clause" association="A_test_clause">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_test_clause-clause-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_body_clause" name="A_body_clause" memberEnd="Clause-body A_body_clause-clause">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_body_clause-clause" name="clause" type="Clause" owningAssociation="A_body_clause" association="A_body_clause">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_body_clause-clause-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_predecessorClause_successorClause" name="A_predecessorClause_successorClause" memberEnd="Clause-predecessorClause Clause-successorClause"/>
      <packagedElement xmi:type="uml:Association" xmi:id="A_target_callOperationAction" name="A_target_callOperationAction" memberEnd="CallOperationAction-target A_target_callOperationAction-callOperationAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_target_callOperationAction-callOperationAction" name="callOperationAction" type="CallOperationAction" owningAssociation="A_target_callOperationAction" subsettedProperty="A_input_action-action" association="A_target_callOperationAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_callOperationAction-callOperationAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_operation_callOperationAction" name="A_operation_callOperationAction" memberEnd="CallOperationAction-operation A_operation_callOperationAction-callOperationAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_operation_callOperationAction-callOperationAction" name="callOperationAction" type="CallOperationAction" owningAssociation="A_operation_callOperationAction" association="A_operation_callOperationAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_operation_callOperationAction-callOperationAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_operation_callOperationAction-callOperationAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_behavior_callBehaviorAction" name="A_behavior_callBehaviorAction" memberEnd="CallBehaviorAction-behavior A_behavior_callBehaviorAction-callBehaviorAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_behavior_callBehaviorAction-callBehaviorAction" name="callBehaviorAction" type="CallBehaviorAction" owningAssociation="A_behavior_callBehaviorAction" association="A_behavior_callBehaviorAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_behavior_callBehaviorAction-callBehaviorAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_behavior_callBehaviorAction-callBehaviorAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_callAction" name="A_result_callAction" memberEnd="CallAction-result A_result_callAction-callAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_callAction-callAction" name="callAction" type="CallAction" owningAssociation="A_result_callAction" subsettedProperty="A_output_action-action" association="A_result_callAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_callAction-callAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_signal_broadcastSignalAction" name="A_signal_broadcastSignalAction" memberEnd="BroadcastSignalAction-signal A_signal_broadcastSignalAction-broadcastSignalAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_signal_broadcastSignalAction-broadcastSignalAction" name="broadcastSignalAction" type="BroadcastSignalAction" owningAssociation="A_signal_broadcastSignalAction" association="A_signal_broadcastSignalAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signal_broadcastSignalAction-broadcastSignalAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signal_broadcastSignalAction-broadcastSignalAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_insertAt_addVariableValueAction" name="A_insertAt_addVariableValueAction" memberEnd="AddVariableValueAction-insertAt A_insertAt_addVariableValueAction-addVariableValueAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_insertAt_addVariableValueAction-addVariableValueAction" name="addVariableValueAction" type="AddVariableValueAction" owningAssociation="A_insertAt_addVariableValueAction" subsettedProperty="A_input_action-action" association="A_insertAt_addVariableValueAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_insertAt_addVariableValueAction-addVariableValueAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_insertAt_addStructuralFeatureValueAction" name="A_insertAt_addStructuralFeatureValueAction" memberEnd="AddStructuralFeatureValueAction-insertAt A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction" name="addStructuralFeatureValueAction" type="AddStructuralFeatureValueAction" owningAssociation="A_insertAt_addStructuralFeatureValueAction" subsettedProperty="A_input_action-action" association="A_insertAt_addStructuralFeatureValueAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_fromAction_actionInputPin" name="A_fromAction_actionInputPin" memberEnd="ActionInputPin-fromAction A_fromAction_actionInputPin-actionInputPin">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_fromAction_actionInputPin-actionInputPin" name="actionInputPin" type="ActionInputPin" owningAssociation="A_fromAction_actionInputPin" subsettedProperty="Element-owner" association="A_fromAction_actionInputPin">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_fromAction_actionInputPin-actionInputPin-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_output_action" name="A_output_action" isDerived="true" memberEnd="Action-output A_output_action-action">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_output_action-action" name="action" type="Action" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_output_action" subsettedProperty="Element-owner" association="A_output_action">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_output_action-action-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_context_action" name="A_context_action" isDerived="true" memberEnd="Action-context A_context_action-action">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_context_action-action" name="action" type="Action" owningAssociation="A_context_action" association="A_context_action">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_context_action-action-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_context_action-action-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_input_action" name="A_input_action" isDerived="true" memberEnd="Action-input A_input_action-action">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_input_action-action" name="action" type="Action" isReadOnly="true" isDerived="true" isDerivedUnion="true" owningAssociation="A_input_action" subsettedProperty="Element-owner" association="A_input_action">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_input_action-action-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_localPrecondition_action" name="A_localPrecondition_action" memberEnd="Action-localPrecondition A_localPrecondition_action-action">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_localPrecondition_action-action" name="action" type="Action" owningAssociation="A_localPrecondition_action" subsettedProperty="Element-owner" association="A_localPrecondition_action">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_localPrecondition_action-action-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_localPostcondition_action" name="A_localPostcondition_action" memberEnd="Action-localPostcondition A_localPostcondition_action-action">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_localPostcondition_action-action" name="action" type="Action" owningAssociation="A_localPostcondition_action" subsettedProperty="Element-owner" association="A_localPostcondition_action">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_localPostcondition_action-action-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_trigger_acceptEventAction" name="A_trigger_acceptEventAction" memberEnd="AcceptEventAction-trigger A_trigger_acceptEventAction-acceptEventAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_trigger_acceptEventAction-acceptEventAction" name="acceptEventAction" type="AcceptEventAction" owningAssociation="A_trigger_acceptEventAction" subsettedProperty="Element-owner" association="A_trigger_acceptEventAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_trigger_acceptEventAction-acceptEventAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_acceptEventAction" name="A_result_acceptEventAction" memberEnd="AcceptEventAction-result A_result_acceptEventAction-acceptEventAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_acceptEventAction-acceptEventAction" name="acceptEventAction" type="AcceptEventAction" owningAssociation="A_result_acceptEventAction" subsettedProperty="A_output_action-action" association="A_result_acceptEventAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_acceptEventAction-acceptEventAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_returnInformation_acceptCallAction" name="A_returnInformation_acceptCallAction" memberEnd="AcceptCallAction-returnInformation A_returnInformation_acceptCallAction-acceptCallAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_returnInformation_acceptCallAction-acceptCallAction" name="acceptCallAction" type="AcceptCallAction" owningAssociation="A_returnInformation_acceptCallAction" subsettedProperty="A_output_action-action" association="A_returnInformation_acceptCallAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_returnInformation_acceptCallAction-acceptCallAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_value_writeVariableAction" name="A_value_writeVariableAction" memberEnd="WriteVariableAction-value A_value_writeVariableAction-writeVariableAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_value_writeVariableAction-writeVariableAction" name="writeVariableAction" type="WriteVariableAction" owningAssociation="A_value_writeVariableAction" subsettedProperty="A_input_action-action" association="A_value_writeVariableAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_writeVariableAction-writeVariableAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_writeStructuralFeatureAction" name="A_result_writeStructuralFeatureAction" memberEnd="WriteStructuralFeatureAction-result A_result_writeStructuralFeatureAction-writeStructuralFeatureAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_writeStructuralFeatureAction-writeStructuralFeatureAction" name="writeStructuralFeatureAction" type="WriteStructuralFeatureAction" owningAssociation="A_result_writeStructuralFeatureAction" subsettedProperty="A_output_action-action" association="A_result_writeStructuralFeatureAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_writeStructuralFeatureAction-writeStructuralFeatureAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_value_writeStructuralFeatureAction" name="A_value_writeStructuralFeatureAction" memberEnd="WriteStructuralFeatureAction-value A_value_writeStructuralFeatureAction-writeStructuralFeatureAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_value_writeStructuralFeatureAction-writeStructuralFeatureAction" name="writeStructuralFeatureAction" type="WriteStructuralFeatureAction" owningAssociation="A_value_writeStructuralFeatureAction" subsettedProperty="A_input_action-action" association="A_value_writeStructuralFeatureAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_writeStructuralFeatureAction-writeStructuralFeatureAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_variable_variableAction" name="A_variable_variableAction" memberEnd="VariableAction-variable A_variable_variableAction-variableAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_variable_variableAction-variableAction" name="variableAction" type="VariableAction" owningAssociation="A_variable_variableAction" association="A_variable_variableAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_variable_variableAction-variableAction-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_variable_variableAction-variableAction-_upperValue" value="*"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_result_valueSpecificationAction" name="A_result_valueSpecificationAction" memberEnd="ValueSpecificationAction-result A_result_valueSpecificationAction-valueSpecificationAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_result_valueSpecificationAction-valueSpecificationAction" name="valueSpecificationAction" type="ValueSpecificationAction" owningAssociation="A_result_valueSpecificationAction" subsettedProperty="A_output_action-action" association="A_result_valueSpecificationAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_valueSpecificationAction-valueSpecificationAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="A_value_valueSpecificationAction" name="A_value_valueSpecificationAction" memberEnd="ValueSpecificationAction-value A_value_valueSpecificationAction-valueSpecificationAction">
        <ownedEnd xmi:type="uml:Property" xmi:id="A_value_valueSpecificationAction-valueSpecificationAction" name="valueSpecificationAction" type="ValueSpecificationAction" owningAssociation="A_value_valueSpecificationAction" subsettedProperty="Element-owner" association="A_value_valueSpecificationAction">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_valueSpecificationAction-valueSpecificationAction-_lowerValue"/>
        </ownedEnd>
      </packagedElement>
    </packagedElement>
    <profileApplication xmi:type="uml:ProfileApplication" applyingPackage="_0">
      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
      <xmi_1:Extension extender="http://www.eclipse.org/emf/2002/Ecore">
        <eAnnotations xmi:type="ecore:EAnnotation" source="http://www.eclipse.org/uml2/2.0.0/UML">
          <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
        </eAnnotations>
      </xmi_1:Extension>
    </profileApplication>
  </uml:Package>
  <Ecore:EPackage base_Package="_0" nsPrefix="uml"/>
</xmi:XMI>
