<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" 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:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
  <uml:Model xmi:id="_0" name="UML" URI="http://www.omg.org/spec/UML/20131001">
    <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML" source="http://www.eclipse.org/uml2/2.0.0/UML">
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FActions" source="UML/Actions" references="ValueSpecificationAction-result ValueSpecificationAction-value ValueSpecificationAction VariableAction-variable VariableAction WriteLinkAction WriteStructuralFeatureAction-result WriteStructuralFeatureAction-value WriteStructuralFeatureAction WriteVariableAction-value WriteVariableAction ExpansionKind AcceptCallAction-returnInformation AcceptCallAction AcceptEventAction-isUnmarshall AcceptEventAction-result AcceptEventAction-trigger AcceptEventAction Action-context Action-input Action-isLocallyReentrant Action-localPostcondition Action-localPrecondition Action-output Action-context.1 Action-allActions Action-allOwnedNodes Action-containingBehavior Action ActionInputPin-fromAction ActionInputPin AddStructuralFeatureValueAction-insertAt AddStructuralFeatureValueAction-isReplaceAll AddStructuralFeatureValueAction AddVariableValueAction-insertAt AddVariableValueAction-isReplaceAll AddVariableValueAction BroadcastSignalAction-signal BroadcastSignalAction CallAction-isSynchronous CallAction-result CallAction-inputParameters CallAction-outputParameters CallAction CallBehaviorAction-behavior CallBehaviorAction-outputParameters CallBehaviorAction-inputParameters CallBehaviorAction CallOperationAction-operation CallOperationAction-target CallOperationAction-outputParameters CallOperationAction-inputParameters CallOperationAction Clause-body Clause-bodyOutput Clause-decider Clause-predecessorClause Clause-successorClause Clause-test Clause ClearAssociationAction-association ClearAssociationAction-object ClearAssociationAction ClearStructuralFeatureAction-result ClearStructuralFeatureAction ClearVariableAction ConditionalNode-clause ConditionalNode-isAssured ConditionalNode-isDeterminate ConditionalNode-result ConditionalNode-allActions ConditionalNode CreateLinkAction-endData CreateLinkAction CreateLinkObjectAction-result CreateLinkObjectAction CreateObjectAction-classifier CreateObjectAction-result CreateObjectAction DestroyLinkAction-endData DestroyLinkAction DestroyObjectAction-isDestroyLinks DestroyObjectAction-isDestroyOwnedObjects DestroyObjectAction-target DestroyObjectAction ExpansionNode-regionAsInput ExpansionNode-regionAsOutput ExpansionNode ExpansionRegion-inputElement ExpansionRegion-mode ExpansionRegion-outputElement ExpansionRegion InputPin InvocationAction-argument InvocationAction-onPort InvocationAction LinkAction-endData LinkAction-inputValue LinkAction-association LinkAction LinkEndCreationData-insertAt LinkEndCreationData-isReplaceAll LinkEndCreationData-allPins LinkEndCreationData LinkEndData-end LinkEndData-qualifier LinkEndData-value LinkEndData-allPins LinkEndData LinkEndDestructionData-destroyAt LinkEndDestructionData-isDestroyDuplicates LinkEndDestructionData-allPins LinkEndDestructionData LoopNode-bodyOutput LoopNode-bodyPart LoopNode-decider LoopNode-isTestedFirst LoopNode-loopVariable LoopNode-loopVariableInput LoopNode-result LoopNode-setupPart LoopNode-test LoopNode-allActions LoopNode-sourceNodes LoopNode OpaqueAction-body OpaqueAction-inputValue OpaqueAction-language OpaqueAction-outputValue OpaqueAction OutputPin Pin-isControl Pin QualifierValue-qualifier QualifierValue-value QualifierValue RaiseExceptionAction-exception RaiseExceptionAction ReadExtentAction-classifier ReadExtentAction-result ReadExtentAction ReadIsClassifiedObjectAction-classifier ReadIsClassifiedObjectAction-isDirect ReadIsClassifiedObjectAction-object ReadIsClassifiedObjectAction-result ReadIsClassifiedObjectAction ReadLinkAction-result ReadLinkAction-openEnd ReadLinkAction ReadLinkObjectEndAction-end ReadLinkObjectEndAction-object ReadLinkObjectEndAction-result ReadLinkObjectEndAction ReadLinkObjectEndQualifierAction-object ReadLinkObjectEndQualifierAction-qualifier ReadLinkObjectEndQualifierAction-result ReadLinkObjectEndQualifierAction ReadSelfAction-result ReadSelfAction ReadStructuralFeatureAction-result ReadStructuralFeatureAction ReadVariableAction-result ReadVariableAction ReclassifyObjectAction-isReplaceAll ReclassifyObjectAction-newClassifier ReclassifyObjectAction-object ReclassifyObjectAction-oldClassifier ReclassifyObjectAction ReduceAction-collection ReduceAction-isOrdered ReduceAction-reducer ReduceAction-result ReduceAction RemoveStructuralFeatureValueAction-isRemoveDuplicates RemoveStructuralFeatureValueAction-removeAt RemoveStructuralFeatureValueAction RemoveVariableValueAction-isRemoveDuplicates RemoveVariableValueAction-removeAt RemoveVariableValueAction ReplyAction-replyToCall ReplyAction-replyValue ReplyAction-returnInformation ReplyAction SendObjectAction-request SendObjectAction-target SendObjectAction SendSignalAction-signal SendSignalAction-target SendSignalAction SequenceNode-executableNode SequenceNode StartClassifierBehaviorAction-object StartClassifierBehaviorAction StartObjectBehaviorAction-object StartObjectBehaviorAction-outputParameters StartObjectBehaviorAction-inputParameters StartObjectBehaviorAction-behavior StartObjectBehaviorAction StructuralFeatureAction-object StructuralFeatureAction-structuralFeature StructuralFeatureAction StructuredActivityNode-activity StructuredActivityNode-edge StructuredActivityNode-mustIsolate StructuredActivityNode-node StructuredActivityNode-structuredNodeInput StructuredActivityNode-structuredNodeOutput StructuredActivityNode-variable StructuredActivityNode-allActions StructuredActivityNode-allOwnedNodes StructuredActivityNode-sourceNodes StructuredActivityNode-targetNodes StructuredActivityNode-containingActivity StructuredActivityNode TestIdentityAction-first TestIdentityAction-result TestIdentityAction-second TestIdentityAction UnmarshallAction-object UnmarshallAction-result UnmarshallAction-unmarshallType UnmarshallAction ValuePin-value ValuePin A_value_valuePin-valuePin A_value_valuePin A_result_unmarshallAction-unmarshallAction A_result_unmarshallAction A_unmarshallType_unmarshallAction-unmarshallAction A_unmarshallType_unmarshallAction A_object_unmarshallAction-unmarshallAction A_object_unmarshallAction A_first_testIdentityAction-testIdentityAction A_first_testIdentityAction A_second_testIdentityAction-testIdentityAction A_second_testIdentityAction A_result_testIdentityAction-testIdentityAction A_result_testIdentityAction A_structuredNodeOutput_structuredActivityNode-structuredActivityNode A_structuredNodeOutput_structuredActivityNode A_structuredNodeInput_structuredActivityNode-structuredActivityNode A_structuredNodeInput_structuredActivityNode A_edge_inStructuredNode A_node_inStructuredNode A_variable_scope A_object_structuralFeatureAction-structuralFeatureAction A_object_structuralFeatureAction A_structuralFeature_structuralFeatureAction-structuralFeatureAction A_structuralFeature_structuralFeatureAction A_object_startObjectBehaviorAction-startObjectBehaviorAction A_object_startObjectBehaviorAction A_object_startClassifierBehaviorAction-startClassifierBehaviorAction A_object_startClassifierBehaviorAction A_executableNode_sequenceNode-sequenceNode A_executableNode_sequenceNode A_signal_sendSignalAction-sendSignalAction A_signal_sendSignalAction A_target_sendSignalAction-sendSignalAction A_target_sendSignalAction A_request_sendObjectAction-sendObjectAction A_request_sendObjectAction A_target_sendObjectAction-sendObjectAction A_target_sendObjectAction A_returnInformation_replyAction-replyAction A_returnInformation_replyAction A_replyToCall_replyAction-replyAction A_replyToCall_replyAction A_replyValue_replyAction-replyAction A_replyValue_replyAction A_removeAt_removeVariableValueAction-removeVariableValueAction A_removeAt_removeVariableValueAction A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction A_removeAt_removeStructuralFeatureValueAction A_collection_reduceAction-reduceAction A_collection_reduceAction A_reducer_reduceAction-reduceAction A_reducer_reduceAction A_result_reduceAction-reduceAction A_result_reduceAction A_object_reclassifyObjectAction-reclassifyObjectAction A_object_reclassifyObjectAction A_newClassifier_reclassifyObjectAction-reclassifyObjectAction A_newClassifier_reclassifyObjectAction A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction A_oldClassifier_reclassifyObjectAction A_result_readVariableAction-readVariableAction A_result_readVariableAction A_result_readStructuralFeatureAction-readStructuralFeatureAction A_result_readStructuralFeatureAction A_result_readSelfAction-readSelfAction A_result_readSelfAction A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction A_qualifier_readLinkObjectEndQualifierAction A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction A_object_readLinkObjectEndQualifierAction A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction A_result_readLinkObjectEndQualifierAction A_object_readLinkObjectEndAction-readLinkObjectEndAction A_object_readLinkObjectEndAction A_end_readLinkObjectEndAction-readLinkObjectEndAction A_end_readLinkObjectEndAction A_result_readLinkObjectEndAction-readLinkObjectEndAction A_result_readLinkObjectEndAction A_result_readLinkAction-readLinkAction A_result_readLinkAction A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction A_classifier_readIsClassifiedObjectAction A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction A_result_readIsClassifiedObjectAction A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction A_object_readIsClassifiedObjectAction A_result_readExtentAction-readExtentAction A_result_readExtentAction A_classifier_readExtentAction-readExtentAction A_classifier_readExtentAction A_exception_raiseExceptionAction-raiseExceptionAction A_exception_raiseExceptionAction A_qualifier_qualifierValue-qualifierValue A_qualifier_qualifierValue A_value_qualifierValue-qualifierValue A_value_qualifierValue A_outputValue_opaqueAction-opaqueAction A_outputValue_opaqueAction A_inputValue_opaqueAction-opaqueAction A_inputValue_opaqueAction A_setupPart_loopNode-loopNode A_setupPart_loopNode A_bodyPart_loopNode-loopNode A_bodyPart_loopNode A_loopVariable_loopNode-loopNode A_loopVariable_loopNode A_result_loopNode-loopNode A_result_loopNode A_bodyOutput_loopNode-loopNode A_bodyOutput_loopNode A_loopVariableInput_loopNode-loopNode A_loopVariableInput_loopNode A_test_loopNode-loopNode A_test_loopNode A_decider_loopNode-loopNode A_decider_loopNode A_destroyAt_linkEndDestructionData-linkEndDestructionData A_destroyAt_linkEndDestructionData A_value_linkEndData-linkEndData A_value_linkEndData A_end_linkEndData-linkEndData A_end_linkEndData A_qualifier_linkEndData-linkEndData A_qualifier_linkEndData A_insertAt_linkEndCreationData-linkEndCreationData A_insertAt_linkEndCreationData A_inputValue_linkAction-linkAction A_inputValue_linkAction A_endData_linkAction-linkAction A_endData_linkAction A_argument_invocationAction-invocationAction A_argument_invocationAction A_onPort_invocationAction-invocationAction A_onPort_invocationAction A_inputElement_regionAsInput A_outputElement_regionAsOutput A_target_destroyObjectAction-destroyObjectAction A_target_destroyObjectAction A_endData_destroyLinkAction-destroyLinkAction A_endData_destroyLinkAction A_classifier_createObjectAction-createObjectAction A_classifier_createObjectAction A_result_createObjectAction-createObjectAction A_result_createObjectAction A_result_createLinkObjectAction-createLinkObjectAction A_result_createLinkObjectAction A_endData_createLinkAction-createLinkAction A_endData_createLinkAction A_clause_conditionalNode-conditionalNode A_clause_conditionalNode A_result_conditionalNode-conditionalNode A_result_conditionalNode A_result_clearStructuralFeatureAction-clearStructuralFeatureAction A_result_clearStructuralFeatureAction A_object_clearAssociationAction-clearAssociationAction A_object_clearAssociationAction A_association_clearAssociationAction-clearAssociationAction A_association_clearAssociationAction A_decider_clause-clause A_decider_clause A_bodyOutput_clause-clause A_bodyOutput_clause A_test_clause-clause A_test_clause A_body_clause-clause A_body_clause A_predecessorClause_successorClause A_target_callOperationAction-callOperationAction A_target_callOperationAction A_operation_callOperationAction-callOperationAction A_operation_callOperationAction A_behavior_callBehaviorAction-callBehaviorAction A_behavior_callBehaviorAction A_result_callAction-callAction A_result_callAction A_signal_broadcastSignalAction-broadcastSignalAction A_signal_broadcastSignalAction A_insertAt_addVariableValueAction-addVariableValueAction A_insertAt_addVariableValueAction A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction A_insertAt_addStructuralFeatureValueAction A_fromAction_actionInputPin-actionInputPin A_fromAction_actionInputPin A_output_action-action A_output_action A_context_action-action A_context_action A_input_action-action A_input_action A_localPrecondition_action-action A_localPrecondition_action A_localPostcondition_action-action A_localPostcondition_action A_trigger_acceptEventAction-acceptEventAction A_trigger_acceptEventAction A_result_acceptEventAction-acceptEventAction A_result_acceptEventAction A_returnInformation_acceptCallAction-acceptCallAction A_returnInformation_acceptCallAction A_value_writeVariableAction-writeVariableAction A_value_writeVariableAction A_result_writeStructuralFeatureAction-writeStructuralFeatureAction A_result_writeStructuralFeatureAction A_value_writeStructuralFeatureAction-writeStructuralFeatureAction A_value_writeStructuralFeatureAction A_variable_variableAction-variableAction A_variable_variableAction A_result_valueSpecificationAction-valueSpecificationAction A_result_valueSpecificationAction A_value_valueSpecificationAction-valueSpecificationAction A_value_valueSpecificationAction"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FActivities" source="UML/Activities" references="Activity-edge Activity-group Activity-isReadOnly Activity-isSingleExecution Activity-node Activity-partition Activity-structuredNode Activity-variable Activity ActivityEdge-activity ActivityEdge-guard ActivityEdge-inGroup ActivityEdge-inPartition ActivityEdge-inStructuredNode ActivityEdge-interrupts ActivityEdge-redefinedEdge ActivityEdge-source ActivityEdge-target ActivityEdge-weight ActivityEdge-isConsistentWith ActivityEdge ActivityFinalNode ActivityGroup-containedEdge ActivityGroup-containedNode ActivityGroup-inActivity ActivityGroup-subgroup ActivityGroup-superGroup ActivityGroup-containingActivity ActivityGroup ActivityNode-activity ActivityNode-inGroup ActivityNode-inInterruptibleRegion ActivityNode-inPartition ActivityNode-inStructuredNode ActivityNode-incoming ActivityNode-outgoing ActivityNode-redefinedNode ActivityNode-containingActivity ActivityNode-isConsistentWith ActivityNode ActivityParameterNode-parameter ActivityParameterNode ActivityPartition-edge ActivityPartition-isDimension ActivityPartition-isExternal ActivityPartition-node ActivityPartition-represents ActivityPartition-subpartition ActivityPartition-superPartition ActivityPartition CentralBufferNode ControlFlow ControlNode DataStoreNode DecisionNode-decisionInput DecisionNode-decisionInputFlow DecisionNode ExceptionHandler-exceptionInput ExceptionHandler-exceptionType ExceptionHandler-handlerBody ExceptionHandler-protectedNode ExceptionHandler ExecutableNode-handler ExecutableNode FinalNode FlowFinalNode ForkNode InitialNode InterruptibleActivityRegion-interruptingEdge InterruptibleActivityRegion-node InterruptibleActivityRegion JoinNode-isCombineDuplicate JoinNode-joinSpec JoinNode MergeNode ObjectFlow-isMulticast ObjectFlow-isMultireceive ObjectFlow-selection ObjectFlow-transformation ObjectFlow ObjectNode-inState ObjectNode-isControlType ObjectNode-ordering ObjectNode-selection ObjectNode-upperBound ObjectNode Variable-activityScope Variable-scope Variable-isAccessibleBy Variable ObjectNodeOrderingKind A_selection_objectNode-objectNode A_selection_objectNode A_inState_objectNode-objectNode A_inState_objectNode A_upperBound_objectNode-objectNode A_upperBound_objectNode A_transformation_objectFlow-objectFlow A_transformation_objectFlow A_selection_objectFlow-objectFlow A_selection_objectFlow A_joinSpec_joinNode-joinNode A_joinSpec_joinNode A_interruptingEdge_interrupts A_handler_protectedNode A_handlerBody_exceptionHandler-exceptionHandler A_handlerBody_exceptionHandler A_exceptionType_exceptionHandler-exceptionHandler A_exceptionType_exceptionHandler A_exceptionInput_exceptionHandler-exceptionHandler A_exceptionInput_exceptionHandler A_decisionInput_decisionNode-decisionNode A_decisionInput_decisionNode A_decisionInputFlow_decisionNode-decisionNode A_decisionInputFlow_decisionNode A_represents_activityPartition-activityPartition A_represents_activityPartition A_subpartition_superPartition A_edge_inPartition A_parameter_activityParameterNode-activityParameterNode A_parameter_activityParameterNode A_inInterruptibleRegion_node A_inPartition_node A_incoming_target_node A_outgoing_source_node A_redefinedNode_activityNode-activityNode A_redefinedNode_activityNode A_containedEdge_inGroup A_containedNode_inGroup A_subgroup_superGroup A_redefinedEdge_activityEdge-activityEdge A_redefinedEdge_activityEdge A_weight_activityEdge-activityEdge A_weight_activityEdge A_guard_activityEdge-activityEdge A_guard_activityEdge A_structuredNode_activity A_group_inActivity A_node_activity A_variable_activityScope A_edge_activity A_partition_activity-activity A_partition_activity"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FClassification" source="UML/Classification" references="Substitution-contract Substitution-substitutingClassifier Substitution BehavioralFeature-concurrency BehavioralFeature-isAbstract BehavioralFeature-method BehavioralFeature-ownedParameter BehavioralFeature-ownedParameterSet BehavioralFeature-raisedException BehavioralFeature-isDistinguishableFrom BehavioralFeature-inputParameters BehavioralFeature-outputParameters BehavioralFeature Classifier-attribute Classifier-collaborationUse Classifier-feature Classifier-general Classifier-generalization Classifier-inheritedMember Classifier-isAbstract Classifier-isFinalSpecialization Classifier-ownedTemplateSignature Classifier-ownedUseCase Classifier-powertypeExtent Classifier-redefinedClassifier Classifier-representation Classifier-substitution Classifier-templateParameter Classifier-useCase Classifier-allFeatures Classifier-allParents Classifier-conformsTo Classifier-general.1 Classifier-hasVisibilityOf Classifier-inherit Classifier-inheritableMembers Classifier-inheritedMember.1 Classifier-isTemplate Classifier-maySpecializeType Classifier-parents Classifier-directlyRealizedInterfaces Classifier-directlyUsedInterfaces Classifier-allRealizedInterfaces Classifier-allUsedInterfaces Classifier-isSubstitutableFor Classifier-allAttributes Classifier-allSlottableFeatures Classifier ClassifierTemplateParameter-allowSubstitutable ClassifierTemplateParameter-constrainingClassifier ClassifierTemplateParameter-parameteredElement ClassifierTemplateParameter Feature-featuringClassifier Feature-isStatic Feature Generalization-general Generalization-generalizationSet Generalization-isSubstitutable Generalization-specific Generalization GeneralizationSet-generalization GeneralizationSet-isCovering GeneralizationSet-isDisjoint GeneralizationSet-powertype GeneralizationSet InstanceSpecification-classifier InstanceSpecification-slot InstanceSpecification-specification InstanceSpecification InstanceValue-instance InstanceValue Operation-bodyCondition Operation-class Operation-datatype Operation-interface Operation-isOrdered Operation-isQuery Operation-isUnique Operation-lower Operation-ownedParameter Operation-postcondition Operation-precondition Operation-raisedException Operation-redefinedOperation Operation-templateParameter Operation-type Operation-upper Operation-isConsistentWith Operation-isOrdered.1 Operation-isUnique.1 Operation-lower.1 Operation-returnResult Operation-type.1 Operation-upper.1 Operation OperationTemplateParameter-parameteredElement OperationTemplateParameter Parameter-default Parameter-defaultValue Parameter-direction Parameter-effect Parameter-isException Parameter-isStream Parameter-operation Parameter-parameterSet Parameter-default.1 Parameter ParameterSet-condition ParameterSet-parameter ParameterSet Property-aggregation Property-association Property-associationEnd Property-class Property-datatype Property-defaultValue Property-interface Property-isComposite Property-isDerived Property-isDerivedUnion Property-isID Property-opposite Property-owningAssociation Property-qualifier Property-redefinedProperty Property-subsettedProperty Property-isAttribute Property-isCompatibleWith Property-isComposite.1 Property-isConsistentWith Property-isNavigable Property-opposite.1 Property-subsettingContext Property RedefinableElement-isLeaf RedefinableElement-redefinedElement RedefinableElement-redefinitionContext RedefinableElement-isConsistentWith RedefinableElement-isRedefinitionContextValid RedefinableElement RedefinableTemplateSignature-classifier RedefinableTemplateSignature-extendedSignature RedefinableTemplateSignature-inheritedParameter RedefinableTemplateSignature-inheritedParameter.1 RedefinableTemplateSignature-isConsistentWith RedefinableTemplateSignature Slot-definingFeature Slot-owningInstance Slot-value Slot StructuralFeature-isReadOnly StructuralFeature AggregationKind CallConcurrencyKind ParameterDirectionKind ParameterEffectKind A_definingFeature_slot-slot A_definingFeature_slot A_value_owningSlot-owningSlot A_value_owningSlot A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature A_extendedSignature_redefinableTemplateSignature A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature A_inheritedParameter_redefinableTemplateSignature A_redefinitionContext_redefinableElement-redefinableElement A_redefinitionContext_redefinableElement A_redefinedElement_redefinableElement-redefinableElement A_redefinedElement_redefinableElement A_qualifier_associationEnd A_redefinedProperty_property-property A_redefinedProperty_property A_defaultValue_owningProperty-owningProperty A_defaultValue_owningProperty A_opposite_property-property A_opposite_property A_subsettedProperty_property-property A_subsettedProperty_property A_condition_parameterSet-parameterSet A_condition_parameterSet A_parameterSet_parameter A_defaultValue_owningParameter-owningParameter A_defaultValue_owningParameter A_type_operation-operation A_type_operation A_operation_templateParameter_parameteredElement A_bodyCondition_bodyContext-bodyContext A_bodyCondition_bodyContext A_postcondition_postContext-postContext A_postcondition_postContext A_redefinedOperation_operation-operation A_redefinedOperation_operation A_raisedException_operation-operation A_raisedException_operation A_precondition_preContext-preContext A_precondition_preContext A_ownedParameter_operation A_instance_instanceValue-instanceValue A_instance_instanceValue A_classifier_instanceSpecification-instanceSpecification A_classifier_instanceSpecification A_slot_owningInstance A_specification_owningInstanceSpec-owningInstanceSpec A_specification_owningInstanceSpec A_generalizationSet_generalization A_general_generalization-generalization A_general_generalization A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter A_constrainingClassifier_classifierTemplateParameter A_classifier_templateParameter_parameteredElement A_powertypeExtent_powertype A_generalization_specific A_general_classifier-classifier A_general_classifier A_feature_featuringClassifier A_substitution_substitutingClassifier A_representation_classifier-classifier A_representation_classifier A_ownedTemplateSignature_classifier A_inheritedMember_inheritingClassifier-inheritingClassifier A_inheritedMember_inheritingClassifier A_redefinedClassifier_classifier-classifier A_redefinedClassifier_classifier A_collaborationUse_classifier-classifier A_collaborationUse_classifier A_attribute_classifier-classifier A_attribute_classifier A_ownedUseCase_classifier-classifier A_ownedUseCase_classifier A_ownedParameter_ownerFormalParam-ownerFormalParam A_ownedParameter_ownerFormalParam A_raisedException_behavioralFeature-behavioralFeature A_raisedException_behavioralFeature A_ownedParameterSet_behavioralFeature-behavioralFeature A_ownedParameterSet_behavioralFeature A_method_specification A_contract_substitution-substitution A_contract_substitution"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FCommonBehavior" source="UML/CommonBehavior" references="AnyReceiveEvent Behavior-context Behavior-isReentrant Behavior-ownedParameter Behavior-ownedParameterSet Behavior-postcondition Behavior-precondition Behavior-specification Behavior-redefinedBehavior Behavior-context.1 Behavior-behavioredClassifier Behavior-inputParameters Behavior-outputParameters Behavior CallEvent-operation CallEvent ChangeEvent-changeExpression ChangeEvent Event FunctionBehavior-hasAllDataTypeAttributes FunctionBehavior MessageEvent OpaqueBehavior-body OpaqueBehavior-language OpaqueBehavior SignalEvent-signal SignalEvent TimeEvent-isRelative TimeEvent-when TimeEvent Trigger-event Trigger-port Trigger A_event_trigger-trigger A_event_trigger A_port_trigger-trigger A_port_trigger A_when_timeEvent-timeEvent A_when_timeEvent A_signal_signalEvent-signalEvent A_signal_signalEvent A_changeExpression_changeEvent-changeEvent A_changeExpression_changeEvent A_operation_callEvent-callEvent A_operation_callEvent A_ownedParameterSet_behavior-behavior A_ownedParameterSet_behavior A_context_behavior-behavior A_context_behavior A_precondition_behavior-behavior A_precondition_behavior A_postcondition_behavior-behavior A_postcondition_behavior A_redefinedBehavior_behavior-behavior A_redefinedBehavior_behavior A_ownedParameter_behavior-behavior A_ownedParameter_behavior"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FCommonStructure" source="UML/CommonStructure" references="Abstraction-mapping Abstraction Comment-annotatedElement Comment-body Comment Constraint-constrainedElement Constraint-context Constraint-specification Constraint Dependency-client Dependency-supplier Dependency DirectedRelationship-source DirectedRelationship-target DirectedRelationship Element-ownedComment Element-ownedElement Element-owner Element-allOwnedElements Element-mustBeOwned Element ElementImport-alias ElementImport-importedElement ElementImport-importingNamespace ElementImport-visibility ElementImport-getName ElementImport MultiplicityElement-isOrdered MultiplicityElement-isUnique MultiplicityElement-lower MultiplicityElement-lowerValue MultiplicityElement-upper MultiplicityElement-upperValue MultiplicityElement-compatibleWith MultiplicityElement-includesMultiplicity MultiplicityElement-is MultiplicityElement-isMultivalued MultiplicityElement-lower.1 MultiplicityElement-lowerBound MultiplicityElement-upper.1 MultiplicityElement-upperBound MultiplicityElement NamedElement-clientDependency NamedElement-name NamedElement-nameExpression NamedElement-namespace NamedElement-qualifiedName NamedElement-visibility NamedElement-allNamespaces NamedElement-allOwningPackages NamedElement-isDistinguishableFrom NamedElement-qualifiedName.1 NamedElement-separator NamedElement-clientDependency.1 NamedElement Namespace-elementImport Namespace-importedMember Namespace-member Namespace-ownedMember Namespace-ownedRule Namespace-packageImport Namespace-excludeCollisions Namespace-getNamesOfMember Namespace-importMembers Namespace-importedMember.1 Namespace-membersAreDistinguishable Namespace PackageableElement-visibility PackageableElement PackageImport-importedPackage PackageImport-importingNamespace PackageImport-visibility PackageImport ParameterableElement-owningTemplateParameter ParameterableElement-templateParameter ParameterableElement-isCompatibleWith ParameterableElement-isTemplateParameter ParameterableElement Realization Relationship-relatedElement Relationship TemplateableElement-ownedTemplateSignature TemplateableElement-templateBinding TemplateableElement-isTemplate TemplateableElement-parameterableElements TemplateableElement TemplateBinding-boundElement TemplateBinding-parameterSubstitution TemplateBinding-signature TemplateBinding TemplateParameter-default TemplateParameter-ownedDefault TemplateParameter-ownedParameteredElement TemplateParameter-parameteredElement TemplateParameter-signature TemplateParameter TemplateParameterSubstitution-actual TemplateParameterSubstitution-formal TemplateParameterSubstitution-ownedActual TemplateParameterSubstitution-templateBinding TemplateParameterSubstitution TemplateSignature-ownedParameter TemplateSignature-parameter TemplateSignature-template TemplateSignature Type-package Type-conformsTo Type TypedElement-type TypedElement Usage VisibilityKind A_type_typedElement-typedElement A_type_typedElement A_ownedParameter_signature A_parameter_templateSignature-templateSignature A_parameter_templateSignature A_actual_templateParameterSubstitution-templateParameterSubstitution A_actual_templateParameterSubstitution A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution A_ownedActual_owningTemplateParameterSubstitution A_formal_templateParameterSubstitution-templateParameterSubstitution A_formal_templateParameterSubstitution A_ownedDefault_templateParameter-templateParameter A_ownedDefault_templateParameter A_ownedParameteredElement_owningTemplateParameter A_default_templateParameter-templateParameter A_default_templateParameter A_parameteredElement_templateParameter A_signature_templateBinding-templateBinding A_signature_templateBinding A_parameterSubstitution_templateBinding A_templateBinding_boundElement A_ownedTemplateSignature_template A_relatedElement_relationship-relationship A_relatedElement_relationship A_importedPackage_packageImport-packageImport A_importedPackage_packageImport A_elementImport_importingNamespace A_ownedMember_namespace A_ownedRule_context A_packageImport_importingNamespace A_member_memberNamespace-memberNamespace A_member_memberNamespace A_importedMember_namespace-namespace A_importedMember_namespace A_nameExpression_namedElement-namedElement A_nameExpression_namedElement A_clientDependency_client A_lowerValue_owningLower-owningLower A_lowerValue_owningLower A_upperValue_owningUpper-owningUpper A_upperValue_owningUpper A_importedElement_import-import A_importedElement_import A_ownedElement_owner A_ownedComment_owningElement-owningElement A_ownedComment_owningElement A_source_directedRelationship-directedRelationship A_source_directedRelationship A_target_directedRelationship-directedRelationship A_target_directedRelationship A_supplier_supplierDependency-supplierDependency A_supplier_supplierDependency A_constrainedElement_constraint-constraint A_constrainedElement_constraint A_specification_owningConstraint-owningConstraint A_specification_owningConstraint A_annotatedElement_comment-comment A_annotatedElement_comment A_mapping_abstraction-abstraction A_mapping_abstraction"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FDeployments" source="UML/Deployments" references="Artifact-fileName Artifact-manifestation Artifact-nestedArtifact Artifact-ownedAttribute Artifact-ownedOperation Artifact CommunicationPath DeployedArtifact Deployment-configuration Deployment-deployedArtifact Deployment-location Deployment DeploymentSpecification-deployment DeploymentSpecification-deploymentLocation DeploymentSpecification-executionLocation DeploymentSpecification DeploymentTarget-deployedElement DeploymentTarget-deployment DeploymentTarget-deployedElement.1 DeploymentTarget Device ExecutionEnvironment Manifestation-utilizedElement Manifestation Node-nestedNode Node A_nestedNode_node-node A_nestedNode_node A_utilizedElement_manifestation-manifestation A_utilizedElement_manifestation A_deployedElement_deploymentTarget-deploymentTarget A_deployedElement_deploymentTarget A_deployment_location A_deployedArtifact_deploymentForArtifact-deploymentForArtifact A_deployedArtifact_deploymentForArtifact A_configuration_deployment A_ownedAttribute_artifact-artifact A_ownedAttribute_artifact A_ownedOperation_artifact-artifact A_ownedOperation_artifact A_nestedArtifact_artifact-artifact A_nestedArtifact_artifact A_manifestation_artifact-artifact A_manifestation_artifact"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FInformationFlows" source="UML/InformationFlows" references="InformationFlow-conveyed InformationFlow-informationSource InformationFlow-informationTarget InformationFlow-realization InformationFlow-realizingActivityEdge InformationFlow-realizingConnector InformationFlow-realizingMessage InformationFlow InformationItem-represented InformationItem A_represented_representation-representation A_represented_representation A_conveyed_conveyingFlow-conveyingFlow A_conveyed_conveyingFlow A_realizingActivityEdge_informationFlow-informationFlow A_realizingActivityEdge_informationFlow A_realizingMessage_informationFlow-informationFlow A_realizingMessage_informationFlow A_informationSource_informationFlow-informationFlow A_informationSource_informationFlow A_realization_abstraction_flow-abstraction A_realization_abstraction_flow A_realizingConnector_informationFlow-informationFlow A_realizingConnector_informationFlow A_informationTarget_informationFlow-informationFlow A_informationTarget_informationFlow"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FInteractions" source="UML/Interactions" references="ActionExecutionSpecification-action ActionExecutionSpecification BehaviorExecutionSpecification-behavior BehaviorExecutionSpecification CombinedFragment-cfragmentGate CombinedFragment-interactionOperator CombinedFragment-operand CombinedFragment ConsiderIgnoreFragment-message ConsiderIgnoreFragment Continuation-setting Continuation DestructionOccurrenceSpecification ExecutionOccurrenceSpecification-execution ExecutionOccurrenceSpecification ExecutionSpecification-finish ExecutionSpecification-start ExecutionSpecification Gate-isOutsideCF Gate-isInsideCF Gate-isActual Gate-isFormal Gate-getName Gate-matches Gate-isDistinguishableFrom Gate-getOperand Gate GeneralOrdering-after GeneralOrdering-before GeneralOrdering Interaction-action Interaction-formalGate Interaction-fragment Interaction-lifeline Interaction-message Interaction InteractionConstraint-maxint InteractionConstraint-minint InteractionConstraint InteractionFragment-covered InteractionFragment-enclosingInteraction InteractionFragment-enclosingOperand InteractionFragment-generalOrdering InteractionFragment InteractionOperand-fragment InteractionOperand-guard InteractionOperand InteractionUse-actualGate InteractionUse-argument InteractionUse-refersTo InteractionUse-returnValue InteractionUse-returnValueRecipient InteractionUse Lifeline-coveredBy Lifeline-decomposedAs Lifeline-interaction Lifeline-represents Lifeline-selector Lifeline Message-argument Message-connector Message-interaction Message-messageKind Message-messageSort Message-receiveEvent Message-sendEvent Message-signature Message-messageKind.1 Message-isDistinguishableFrom Message MessageEnd-message MessageEnd-oppositeEnd MessageEnd-isSend MessageEnd-isReceive MessageEnd-enclosingFragment MessageEnd MessageOccurrenceSpecification OccurrenceSpecification-covered OccurrenceSpecification-toAfter OccurrenceSpecification-toBefore OccurrenceSpecification PartDecomposition StateInvariant-covered StateInvariant-invariant StateInvariant InteractionOperatorKind MessageKind MessageSort A_invariant_stateInvariant-stateInvariant A_invariant_stateInvariant A_covered_stateInvariant-stateInvariant A_covered_stateInvariant A_covered_events-events A_covered_events A_toBefore_after A_message_messageEnd-messageEnd A_message_messageEnd A_signature_message-message A_signature_message A_connector_message-message A_connector_message A_receiveEvent_endMessage-endMessage A_receiveEvent_endMessage A_sendEvent_endMessage-endMessage A_sendEvent_endMessage A_argument_message-message A_argument_message A_selector_lifeline-lifeline A_selector_lifeline A_decomposedAs_lifeline-lifeline A_decomposedAs_lifeline A_represents_lifeline-lifeline A_represents_lifeline A_returnValueRecipient_interactionUse-interactionUse A_returnValueRecipient_interactionUse A_refersTo_interactionUse-interactionUse A_refersTo_interactionUse A_returnValue_interactionUse-interactionUse A_returnValue_interactionUse A_argument_interactionUse-interactionUse A_argument_interactionUse A_actualGate_interactionUse-interactionUse A_actualGate_interactionUse A_fragment_enclosingOperand A_guard_interactionOperand-interactionOperand A_guard_interactionOperand A_generalOrdering_interactionFragment-interactionFragment A_generalOrdering_interactionFragment A_covered_coveredBy A_minint_interactionConstraint-interactionConstraint A_minint_interactionConstraint A_maxint_interactionConstraint-interactionConstraint A_maxint_interactionConstraint A_action_interaction-interaction A_action_interaction A_formalGate_interaction-interaction A_formalGate_interaction A_lifeline_interaction A_fragment_enclosingInteraction A_message_interaction A_before_toAfter A_finish_executionSpecification-executionSpecification A_finish_executionSpecification A_start_executionSpecification-executionSpecification A_start_executionSpecification A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification A_execution_executionOccurrenceSpecification A_message_considerIgnoreFragment-considerIgnoreFragment A_message_considerIgnoreFragment A_cfragmentGate_combinedFragment-combinedFragment A_cfragmentGate_combinedFragment A_operand_combinedFragment-combinedFragment A_operand_combinedFragment A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification A_behavior_behaviorExecutionSpecification A_action_actionExecutionSpecification-actionExecutionSpecification A_action_actionExecutionSpecification"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FPackages" source="UML/Packages" references="Extension-isRequired Extension-metaclass Extension-ownedEnd Extension-isRequired.1 Extension-metaclass.1 Extension-metaclassEnd Extension ExtensionEnd-lower ExtensionEnd-type ExtensionEnd-lowerBound ExtensionEnd Image-content Image-format Image-location Image Model-viewpoint Model Package-URI Package-nestedPackage Package-nestingPackage Package-ownedStereotype Package-ownedType Package-packageMerge Package-packagedElement Package-profileApplication Package-allApplicableStereotypes Package-containingProfile Package-makesVisible Package-mustBeOwned Package-nestedPackage.1 Package-ownedStereotype.1 Package-ownedType.1 Package-visibleMembers Package PackageMerge-mergedPackage PackageMerge-receivingPackage PackageMerge Profile-metaclassReference Profile-metamodelReference Profile ProfileApplication-appliedProfile ProfileApplication-applyingPackage ProfileApplication-isStrict ProfileApplication Stereotype-icon Stereotype-profile Stereotype-containingProfile Stereotype-profile.1 Stereotype A_profile_stereotype-stereotype A_profile_stereotype A_icon_stereotype-stereotype A_icon_stereotype A_appliedProfile_profileApplication-profileApplication A_appliedProfile_profileApplication A_metaclassReference_profile-profile A_metaclassReference_profile A_metamodelReference_profile-profile A_metamodelReference_profile A_mergedPackage_packageMerge-packageMerge A_mergedPackage_packageMerge A_packagedElement_owningPackage-owningPackage A_packagedElement_owningPackage A_packageMerge_receivingPackage A_nestedPackage_nestingPackage A_profileApplication_applyingPackage A_ownedType_package A_ownedStereotype_owningPackage-owningPackage A_ownedStereotype_owningPackage A_type_extensionEnd-extensionEnd A_type_extensionEnd A_ownedEnd_extension-extension A_ownedEnd_extension"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FSimpleClassifiers" source="UML/SimpleClassifiers" references="BehavioredClassifier-classifierBehavior BehavioredClassifier-interfaceRealization BehavioredClassifier-ownedBehavior BehavioredClassifier DataType-ownedAttribute DataType-ownedOperation DataType Enumeration-ownedLiteral Enumeration EnumerationLiteral-classifier EnumerationLiteral-enumeration EnumerationLiteral-classifier.1 EnumerationLiteral Interface-nestedClassifier Interface-ownedAttribute Interface-ownedOperation Interface-ownedReception Interface-protocol Interface-redefinedInterface Interface InterfaceRealization-contract InterfaceRealization-implementingClassifier InterfaceRealization PrimitiveType Reception-signal Reception Signal-ownedAttribute Signal A_ownedAttribute_owningSignal-owningSignal A_ownedAttribute_owningSignal A_signal_reception-reception A_signal_reception A_contract_interfaceRealization-interfaceRealization A_contract_interfaceRealization A_protocol_interface-interface A_protocol_interface A_ownedReception_interface-interface A_ownedReception_interface A_redefinedInterface_interface-interface A_redefinedInterface_interface A_nestedClassifier_interface-interface A_nestedClassifier_interface A_ownedOperation_interface A_ownedAttribute_interface A_classifier_enumerationLiteral-enumerationLiteral A_classifier_enumerationLiteral A_ownedLiteral_enumeration A_ownedAttribute_datatype A_ownedOperation_datatype A_ownedBehavior_behavioredClassifier-behavioredClassifier A_ownedBehavior_behavioredClassifier A_classifierBehavior_behavioredClassifier-behavioredClassifier A_classifierBehavior_behavioredClassifier A_interfaceRealization_implementingClassifier"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FStateMachines" source="UML/StateMachines" references="ConnectionPointReference-entry ConnectionPointReference-exit ConnectionPointReference-state ConnectionPointReference FinalState ProtocolConformance-generalMachine ProtocolConformance-specificMachine ProtocolConformance ProtocolStateMachine-conformance ProtocolStateMachine ProtocolTransition-postCondition ProtocolTransition-preCondition ProtocolTransition-referred ProtocolTransition-referred.1 ProtocolTransition Pseudostate-kind Pseudostate-state Pseudostate-stateMachine Pseudostate Region-extendedRegion Region-redefinitionContext Region-state Region-stateMachine Region-subvertex Region-transition Region-belongsToPSM Region-containingStateMachine Region-isConsistentWith Region-isRedefinitionContextValid Region-redefinitionContext.1 Region State-connection State-connectionPoint State-deferrableTrigger State-doActivity State-entry State-exit State-isComposite State-isOrthogonal State-isSimple State-isSubmachineState State-redefinedState State-redefinitionContext State-region State-stateInvariant State-submachine State-containingStateMachine State-isComposite.1 State-isConsistentWith State-isOrthogonal.1 State-isRedefinitionContextValid State-isSimple.1 State-isSubmachineState.1 State-redefinitionContext.1 State StateMachine-connectionPoint StateMachine-extendedStateMachine StateMachine-region StateMachine-submachineState StateMachine-LCA StateMachine-ancestor StateMachine-isConsistentWith StateMachine-isRedefinitionContextValid StateMachine-LCAState StateMachine Transition-container Transition-effect Transition-guard Transition-kind Transition-redefinedTransition Transition-redefinitionContext Transition-source Transition-target Transition-trigger Transition-containingStateMachine Transition-isConsistentWith Transition-redefinitionContext.1 Transition Vertex-container Vertex-incoming Vertex-outgoing Vertex-containingStateMachine Vertex-incoming.1 Vertex-outgoing.1 Vertex-isContainedInState Vertex-isContainedInRegion Vertex PseudostateKind TransitionKind A_incoming_target_vertex A_outgoing_source_vertex A_trigger_transition-transition A_trigger_transition A_guard_transition-transition A_guard_transition A_redefinedTransition_transition-transition A_redefinedTransition_transition A_redefinitionContext_transition-transition A_redefinitionContext_transition A_effect_transition-transition A_effect_transition A_submachineState_submachine A_connectionPoint_stateMachine A_region_stateMachine A_extendedStateMachine_stateMachine-stateMachine A_extendedStateMachine_stateMachine A_redefinitionContext_state-state A_redefinitionContext_state A_region_state A_stateInvariant_owningState-owningState A_stateInvariant_owningState A_redefinedState_state-state A_redefinedState_state A_deferrableTrigger_state-state A_deferrableTrigger_state A_connection_state A_entry_state-state A_entry_state A_connectionPoint_state A_doActivity_state-state A_doActivity_state A_exit_state-state A_exit_state A_extendedRegion_region-region A_extendedRegion_region A_subvertex_container A_redefinitionContext_region-region A_redefinitionContext_region A_transition_container A_referred_protocolTransition-protocolTransition A_referred_protocolTransition A_preCondition_protocolTransition-protocolTransition A_preCondition_protocolTransition A_postCondition_owningTransition-owningTransition A_postCondition_owningTransition A_conformance_specificMachine A_generalMachine_protocolConformance-protocolConformance A_generalMachine_protocolConformance A_entry_connectionPointReference-connectionPointReference A_entry_connectionPointReference A_exit_connectionPointReference-connectionPointReference A_exit_connectionPointReference"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FStructuredClassifiers" source="UML/StructuredClassifiers" references="Association-endType Association-isDerived Association-memberEnd Association-navigableOwnedEnd Association-ownedEnd Association-endType.1 Association AssociationClass Class-extension Class-isAbstract Class-isActive Class-nestedClassifier Class-ownedAttribute Class-ownedOperation Class-ownedReception Class-superClass Class-extension.1 Class-superClass.1 Class Collaboration-collaborationRole Collaboration CollaborationUse-roleBinding CollaborationUse-type CollaborationUse Component-isIndirectlyInstantiated Component-packagedElement Component-provided Component-realization Component-required Component-provided.1 Component-required.1 Component ComponentRealization-abstraction ComponentRealization-realizingClassifier ComponentRealization ConnectableElement-end ConnectableElement-templateParameter ConnectableElement-end.1 ConnectableElement ConnectableElementTemplateParameter-parameteredElement ConnectableElementTemplateParameter Connector-contract Connector-end Connector-kind Connector-redefinedConnector Connector-type Connector-kind.1 Connector ConnectorEnd-definingEnd ConnectorEnd-partWithPort ConnectorEnd-role ConnectorEnd-definingEnd.1 ConnectorEnd EncapsulatedClassifier-ownedPort EncapsulatedClassifier-ownedPort.1 EncapsulatedClassifier Port-isBehavior Port-isConjugated Port-isService Port-protocol Port-provided Port-redefinedPort Port-required Port-provided.1 Port-required.1 Port-basicProvided Port-basicRequired Port StructuredClassifier-ownedAttribute StructuredClassifier-ownedConnector StructuredClassifier-part StructuredClassifier-role StructuredClassifier-part.1 StructuredClassifier-allRoles StructuredClassifier ConnectorKind A_part_structuredClassifier-structuredClassifier A_part_structuredClassifier A_ownedConnector_structuredClassifier-structuredClassifier A_ownedConnector_structuredClassifier A_ownedAttribute_structuredClassifier-structuredClassifier A_ownedAttribute_structuredClassifier A_role_structuredClassifier-structuredClassifier A_role_structuredClassifier A_protocol_port-port A_protocol_port A_required_port-port A_required_port A_redefinedPort_port-port A_redefinedPort_port A_provided_port-port A_provided_port A_ownedPort_encapsulatedClassifier-encapsulatedClassifier A_ownedPort_encapsulatedClassifier A_partWithPort_connectorEnd-connectorEnd A_partWithPort_connectorEnd A_definingEnd_connectorEnd-connectorEnd A_definingEnd_connectorEnd A_end_connector-connector A_end_connector A_redefinedConnector_connector-connector A_redefinedConnector_connector A_contract_connector-connector A_contract_connector A_type_connector-connector A_type_connector A_connectableElement_templateParameter_parameteredElement A_end_role A_realizingClassifier_componentRealization-componentRealization A_realizingClassifier_componentRealization A_required_component-component A_required_component A_packagedElement_component-component A_packagedElement_component A_realization_abstraction_component A_provided_component-component A_provided_component A_type_collaborationUse-collaborationUse A_type_collaborationUse A_roleBinding_collaborationUse-collaborationUse A_roleBinding_collaborationUse A_collaborationRole_collaboration-collaboration A_collaborationRole_collaboration A_ownedOperation_class A_superClass_class-class A_superClass_class A_extension_metaclass A_ownedAttribute_class A_nestedClassifier_nestingClass-nestingClass A_nestedClassifier_nestingClass A_ownedReception_class-class A_ownedReception_class A_memberEnd_association A_endType_association-association A_endType_association A_ownedEnd_owningAssociation A_navigableOwnedEnd_association-association A_navigableOwnedEnd_association"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FUseCases" source="UML/UseCases" references="Actor Extend-condition Extend-extendedCase Extend-extension Extend-extensionLocation Extend ExtensionPoint-useCase ExtensionPoint Include-addition Include-includingCase Include UseCase-extend UseCase-extensionPoint UseCase-include UseCase-subject UseCase-allIncludedUseCases UseCase A_extensionPoint_useCase A_include_includingCase A_subject_useCase A_extend_extension A_addition_include-include A_addition_include A_extensionLocation_extension-extension A_extensionLocation_extension A_condition_extend-extend A_condition_extend A_extendedCase_extend-extend A_extendedCase_extend"/>
      <eAnnotations xmi:id="_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML-_UML2FValues" source="UML/Values" references="Duration-expr Duration-observation Duration DurationConstraint-firstEvent DurationConstraint-specification DurationConstraint DurationInterval-max DurationInterval-min DurationInterval DurationObservation-event DurationObservation-firstEvent DurationObservation Expression-operand Expression-symbol Expression Interval-max Interval-min Interval IntervalConstraint-specification IntervalConstraint LiteralBoolean-value LiteralBoolean-booleanValue LiteralBoolean-isComputable LiteralBoolean LiteralInteger-value LiteralInteger-integerValue LiteralInteger-isComputable LiteralInteger LiteralNull-isComputable LiteralNull-isNull LiteralNull LiteralReal-value LiteralReal-isComputable LiteralReal-realValue LiteralReal LiteralSpecification LiteralString-value LiteralString-isComputable LiteralString-stringValue LiteralString LiteralUnlimitedNatural-value LiteralUnlimitedNatural-isComputable LiteralUnlimitedNatural-unlimitedValue LiteralUnlimitedNatural Observation OpaqueExpression-behavior OpaqueExpression-body OpaqueExpression-language OpaqueExpression-result OpaqueExpression-isIntegral OpaqueExpression-isNonNegative OpaqueExpression-isPositive OpaqueExpression-result.1 OpaqueExpression-value OpaqueExpression StringExpression-owningExpression StringExpression-subExpression StringExpression-stringValue StringExpression TimeConstraint-firstEvent TimeConstraint-specification TimeConstraint TimeExpression-expr TimeExpression-observation TimeExpression TimeInterval-max TimeInterval-min TimeInterval TimeObservation-event TimeObservation-firstEvent TimeObservation ValueSpecification-booleanValue ValueSpecification-integerValue ValueSpecification-isCompatibleWith ValueSpecification-isComputable ValueSpecification-isNull ValueSpecification-realValue ValueSpecification-stringValue ValueSpecification-unlimitedValue ValueSpecification A_event_timeObservation-timeObservation A_event_timeObservation A_max_timeInterval-timeInterval A_max_timeInterval A_min_timeInterval-timeInterval A_min_timeInterval A_expr_timeExpression-timeExpression A_expr_timeExpression A_observation_timeExpression-timeExpression A_observation_timeExpression A_specification_timeConstraint-timeConstraint A_specification_timeConstraint A_subExpression_owningExpression A_result_opaqueExpression-opaqueExpression A_result_opaqueExpression A_behavior_opaqueExpression-opaqueExpression A_behavior_opaqueExpression A_specification_intervalConstraint-intervalConstraint A_specification_intervalConstraint A_max_interval-interval A_max_interval A_min_interval-interval A_min_interval A_operand_expression-expression A_operand_expression A_event_durationObservation-durationObservation A_event_durationObservation A_max_durationInterval-durationInterval A_max_durationInterval A_min_durationInterval-durationInterval A_min_durationInterval A_specification_durationConstraint-durationConstraint A_specification_durationConstraint A_expr_duration-duration A_expr_duration A_observation_duration-duration A_observation_duration"/>
    </eAnnotations>
    <packageImport xmi:id="_packageImport.0">
      <importedPackage xmi:type="uml:Model" href="Ecore.metamodel.uml#_0"/>
    </packageImport>
    <packageImport xmi:id="_packageImport.1">
      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
    </packageImport>
    <packagedElement xmi:type="uml:Interface" xmi:id="ActivityContent" name="ActivityContent" visibility="private" isAbstract="true">
      <ownedOperation xmi:id="ActivityContent-containingActivity" name="containingActivity">
        <ownedParameter xmi:id="ActivityContent-containingActivity-containingActivity" name="containingActivity" type="Activity" direction="return" effect="read">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityContent-containingActivity-containingActivity-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ValueSpecificationAction" name="ValueSpecificationAction">
      <ownedComment 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:id="ValueSpecificationAction-multiplicity" name="multiplicity" constrainedElement="ValueSpecificationAction">
        <ownedComment 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:id="ValueSpecificationAction-compatible_type" name="compatible_type" constrainedElement="ValueSpecificationAction">
        <ownedComment 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:id="ValueSpecificationAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ValueSpecificationAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_valueSpecificationAction">
        <ownedComment xmi:id="ValueSpecificationAction-result-_ownedComment.0" annotatedElement="ValueSpecificationAction-result">
          <body>The OutputPin on which the result value is placed.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ValueSpecificationAction-value" name="value" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_valueSpecificationAction">
        <ownedComment 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:id="VariableAction-_ownedComment.0" annotatedElement="VariableAction">
        <body>VariableAction is an abstract class for Actions that operate on a specified Variable.</body>
      </ownedComment>
      <ownedRule xmi:id="VariableAction-scope_of_variable" name="scope_of_variable" constrainedElement="VariableAction">
        <ownedComment 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:id="VariableAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="VariableAction-variable" name="variable" type="Variable" association="A_variable_variableAction">
        <ownedComment 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:id="WriteLinkAction-_ownedComment.0" annotatedElement="WriteLinkAction">
        <body>WriteLinkAction is an abstract class for LinkActions that create and destroy links.</body>
      </ownedComment>
      <ownedRule xmi:id="WriteLinkAction-allow_access" name="allow_access" constrainedElement="WriteLinkAction">
        <ownedComment 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))))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="WriteLinkAction-_generalization.0" general="LinkAction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="WriteStructuralFeatureAction" name="WriteStructuralFeatureAction" isAbstract="true">
      <ownedComment xmi:id="WriteStructuralFeatureAction-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction">
        <body>WriteStructuralFeatureAction is an abstract class for StructuralFeatureActions that change StructuralFeature values.</body>
      </ownedComment>
      <ownedRule xmi:id="WriteStructuralFeatureAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="WriteStructuralFeatureAction">
        <ownedComment 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:id="WriteStructuralFeatureAction-type_of_value" name="type_of_value" constrainedElement="WriteStructuralFeatureAction">
        <ownedComment 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:id="WriteStructuralFeatureAction-multiplicity_of_value" name="multiplicity_of_value" constrainedElement="WriteStructuralFeatureAction">
        <ownedComment 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:id="WriteStructuralFeatureAction-type_of_result" name="type_of_result" constrainedElement="WriteStructuralFeatureAction">
        <ownedComment 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:id="WriteStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction"/>
      <ownedAttribute xmi:id="WriteStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_writeStructuralFeatureAction">
        <ownedComment 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:id="WriteStructuralFeatureAction-value" name="value" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_value_writeStructuralFeatureAction">
        <ownedComment 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:id="WriteVariableAction-_ownedComment.0" annotatedElement="WriteVariableAction">
        <body>WriteVariableAction is an abstract class for VariableActions that change Variable values.</body>
      </ownedComment>
      <ownedRule xmi:id="WriteVariableAction-value_type" name="value_type" constrainedElement="WriteVariableAction">
        <ownedComment 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:id="WriteVariableAction-multiplicity" name="multiplicity" constrainedElement="WriteVariableAction">
        <ownedComment 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:id="WriteVariableAction-_generalization.0" general="VariableAction"/>
      <ownedAttribute xmi:id="WriteVariableAction-value" name="value" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_value_writeVariableAction">
        <ownedComment 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: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:id="ExpansionKind-parallel" name="parallel">
        <ownedComment 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:id="ExpansionKind-iterative" name="iterative">
        <ownedComment 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:id="ExpansionKind-stream" name="stream">
        <ownedComment 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: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:id="AcceptCallAction-result_pins" name="result_pins" constrainedElement="AcceptCallAction">
        <ownedComment 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:id="AcceptCallAction-trigger_call_event" name="trigger_call_event" constrainedElement="AcceptCallAction">
        <ownedComment 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)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AcceptCallAction-unmarshall" name="unmarshall" constrainedElement="AcceptCallAction">
        <ownedComment 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:id="AcceptCallAction-_generalization.0" general="AcceptEventAction"/>
      <ownedAttribute xmi:id="AcceptCallAction-returnInformation" name="returnInformation" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_returnInformation_acceptCallAction">
        <ownedComment 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: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:id="AcceptEventAction-one_output_pin" name="one_output_pin" constrainedElement="AcceptEventAction">
        <ownedComment 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:id="AcceptEventAction-no_input_pins" name="no_input_pins" constrainedElement="AcceptEventAction">
        <ownedComment 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:id="AcceptEventAction-no_output_pins" name="no_output_pins" constrainedElement="AcceptEventAction">
        <ownedComment 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:id="AcceptEventAction-unmarshall_signal_events" name="unmarshall_signal_events" constrainedElement="AcceptEventAction">
        <ownedComment 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:id="AcceptEventAction-conforming_type" name="conforming_type" constrainedElement="AcceptEventAction">
        <ownedComment 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:id="AcceptEventAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="AcceptEventAction-isUnmarshall" name="isUnmarshall">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="AcceptEventAction-isUnmarshall-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="AcceptEventAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_acceptEventAction">
        <ownedComment 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:id="AcceptEventAction-trigger" name="trigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_trigger_acceptEventAction">
        <ownedComment 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: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:id="Action-_generalization.0" general="ExecutableNode"/>
      <ownedAttribute xmi:id="Action-context" name="context" type="Classifier" isReadOnly="true" isDerived="true" association="A_context_action">
        <ownedComment 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: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: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:id="Action-isLocallyReentrant" name="isLocallyReentrant">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Action-isLocallyReentrant-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Action-localPostcondition" name="localPostcondition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_localPostcondition_action">
        <ownedComment 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:id="Action-localPrecondition" name="localPrecondition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_localPrecondition_action">
        <ownedComment 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: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: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:id="Action-context.1" name="context" visibility="protected" bodyCondition="Action-context.1-spec" isQuery="true">
        <ownedComment xmi:id="Action-context.1-_ownedComment.0" annotatedElement="Action-context.1">
          <body>The derivation for the context property.</body>
        </ownedComment>
        <ownedRule xmi:id="Action-context.1-spec" name="spec" constrainedElement="Action-context.1 Action-context">
          <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: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:id="Action-allActions" name="allActions" bodyCondition="Action-allActions-spec" isQuery="true">
        <ownedComment 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:id="Action-allActions-spec" name="spec" constrainedElement="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: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:id="Action-allOwnedNodes" name="allOwnedNodes" bodyCondition="Action-allOwnedNodes-spec" isQuery="true">
        <ownedComment 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:id="Action-allOwnedNodes-spec" name="spec" constrainedElement="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: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:id="Action-containingBehavior" name="containingBehavior" bodyCondition="Action-containingBehavior-spec" isQuery="true">
        <ownedRule xmi:id="Action-containingBehavior-spec" name="spec" constrainedElement="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: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: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:id="ActionInputPin-input_pin" name="input_pin" constrainedElement="ActionInputPin">
        <ownedComment 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:id="ActionInputPin-one_output_pin" name="one_output_pin" constrainedElement="ActionInputPin">
        <ownedComment 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:id="ActionInputPin-no_control_or_object_flow" name="no_control_or_object_flow" constrainedElement="ActionInputPin">
        <ownedComment 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:id="ActionInputPin-_generalization.0" general="InputPin"/>
      <ownedAttribute xmi:id="ActionInputPin-fromAction" name="fromAction" type="Action" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_fromAction_actionInputPin">
        <ownedComment 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:id="AddStructuralFeatureValueAction-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction">
        <body>An AddStructuralFeatureValueAction is a WriteStructuralFeatureAction for adding values to a StructuralFeature.</body>
      </ownedComment>
      <ownedRule xmi:id="AddStructuralFeatureValueAction-required_value" name="required_value" constrainedElement="AddStructuralFeatureValueAction">
        <ownedComment 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:id="AddStructuralFeatureValueAction-insertAt_pin" name="insertAt_pin" constrainedElement="AddStructuralFeatureValueAction">
        <ownedComment 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:id="AddStructuralFeatureValueAction-_generalization.0" general="WriteStructuralFeatureAction"/>
      <ownedAttribute xmi:id="AddStructuralFeatureValueAction-insertAt" name="insertAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_insertAt_addStructuralFeatureValueAction">
        <ownedComment 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:id="AddStructuralFeatureValueAction-isReplaceAll" name="isReplaceAll">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="AddVariableValueAction-_ownedComment.0" annotatedElement="AddVariableValueAction">
        <body>An AddVariableValueAction is a WriteVariableAction for adding values to a Variable.</body>
      </ownedComment>
      <ownedRule xmi:id="AddVariableValueAction-required_value" name="required_value" constrainedElement="AddVariableValueAction">
        <ownedComment 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:id="AddVariableValueAction-insertAt_pin" name="insertAt_pin" constrainedElement="AddVariableValueAction">
        <ownedComment 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:id="AddVariableValueAction-_generalization.0" general="WriteVariableAction"/>
      <ownedAttribute xmi:id="AddVariableValueAction-insertAt" name="insertAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_insertAt_addVariableValueAction">
        <ownedComment 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:id="AddVariableValueAction-isReplaceAll" name="isReplaceAll">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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: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:id="BroadcastSignalAction-number_of_arguments" name="number_of_arguments" constrainedElement="BroadcastSignalAction">
        <ownedComment 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:id="BroadcastSignalAction-type_ordering_multiplicity" name="type_ordering_multiplicity" constrainedElement="BroadcastSignalAction">
        <ownedComment 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:id="BroadcastSignalAction-no_onport" name="no_onport" constrainedElement="BroadcastSignalAction">
        <ownedComment 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:id="BroadcastSignalAction-_generalization.0" general="InvocationAction"/>
      <ownedAttribute xmi:id="BroadcastSignalAction-signal" name="signal" type="Signal" association="A_signal_broadcastSignalAction">
        <ownedComment 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: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:id="CallAction-argument_pins" name="argument_pins" constrainedElement="CallAction">
        <ownedComment 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:id="CallAction-result_pins" name="result_pins" constrainedElement="CallAction">
        <ownedComment 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:id="CallAction-synchronous_call" name="synchronous_call" constrainedElement="CallAction">
        <ownedComment 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:id="CallAction-_generalization.0" general="InvocationAction"/>
      <ownedAttribute xmi:id="CallAction-isSynchronous" name="isSynchronous">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="CallAction-isSynchronous-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="CallAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_callAction">
        <ownedComment 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:id="CallAction-inputParameters" name="inputParameters" isAbstract="true" isQuery="true">
        <ownedComment 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: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:id="CallAction-outputParameters" name="outputParameters" isAbstract="true" isQuery="true">
        <ownedComment 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: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: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:id="CallBehaviorAction-no_onport" name="no_onport" constrainedElement="CallBehaviorAction">
        <ownedComment 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:id="CallBehaviorAction-_generalization.0" general="CallAction"/>
      <ownedAttribute xmi:id="CallBehaviorAction-behavior" name="behavior" type="Behavior" association="A_behavior_callBehaviorAction">
        <ownedComment xmi:id="CallBehaviorAction-behavior-_ownedComment.0" annotatedElement="CallBehaviorAction-behavior">
          <body>The Behavior being invoked.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="CallBehaviorAction-outputParameters" name="outputParameters" bodyCondition="CallBehaviorAction-outputParameters-spec" isQuery="true" redefinedOperation="CallAction-outputParameters">
        <ownedComment 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:id="CallBehaviorAction-outputParameters-spec" name="spec" constrainedElement="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: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:id="CallBehaviorAction-inputParameters" name="inputParameters" bodyCondition="CallBehaviorAction-inputParameters-spec" isQuery="true" redefinedOperation="CallAction-inputParameters">
        <ownedComment 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:id="CallBehaviorAction-inputParameters-spec" name="spec" constrainedElement="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: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: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:id="CallOperationAction-type_target_pin" name="type_target_pin" constrainedElement="CallOperationAction">
        <ownedComment 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:id="CallOperationAction-_generalization.0" general="CallAction"/>
      <ownedAttribute xmi:id="CallOperationAction-operation" name="operation" type="Operation" association="A_operation_callOperationAction">
        <ownedComment xmi:id="CallOperationAction-operation-_ownedComment.0" annotatedElement="CallOperationAction-operation">
          <body>The Operation being invoked.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="CallOperationAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_callOperationAction">
        <ownedComment 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:id="CallOperationAction-outputParameters" name="outputParameters" bodyCondition="CallOperationAction-outputParameters-spec" isQuery="true" redefinedOperation="CallAction-outputParameters">
        <ownedComment 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:id="CallOperationAction-outputParameters-spec" name="spec" constrainedElement="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: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:id="CallOperationAction-inputParameters" name="inputParameters" bodyCondition="CallOperationAction-inputParameters-spec" isQuery="true" redefinedOperation="CallAction-inputParameters">
        <ownedComment 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:id="CallOperationAction-inputParameters-spec" name="spec" constrainedElement="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: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: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:id="Clause-body_output_pins" name="body_output_pins" constrainedElement="Clause">
        <ownedComment 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:id="Clause-decider_output" name="decider_output" constrainedElement="Clause">
        <ownedComment 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:id="Clause-test_and_body" name="test_and_body" constrainedElement="Clause">
        <ownedComment 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:id="Clause-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Clause-body" name="body" type="ExecutableNode" association="A_body_clause">
        <ownedComment 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:id="Clause-bodyOutput" name="bodyOutput" type="OutputPin" isOrdered="true" association="A_bodyOutput_clause">
        <ownedComment 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:id="Clause-decider" name="decider" type="OutputPin" association="A_decider_clause">
        <ownedComment 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:id="Clause-predecessorClause" name="predecessorClause" type="Clause" association="A_predecessorClause_successorClause">
        <ownedComment 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:id="Clause-successorClause" name="successorClause" type="Clause" association="A_predecessorClause_successorClause">
        <ownedComment 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:id="Clause-test" name="test" type="ExecutableNode" association="A_test_clause">
        <ownedComment 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: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:id="ClearAssociationAction-multiplicity" name="multiplicity" constrainedElement="ClearAssociationAction">
        <ownedComment 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:id="ClearAssociationAction-same_type" name="same_type" constrainedElement="ClearAssociationAction">
        <ownedComment 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:id="ClearAssociationAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ClearAssociationAction-association" name="association" type="Association" association="A_association_clearAssociationAction">
        <ownedComment xmi:id="ClearAssociationAction-association-_ownedComment.0" annotatedElement="ClearAssociationAction-association">
          <body>The Association to be cleared.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ClearAssociationAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_clearAssociationAction">
        <ownedComment 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:id="ClearStructuralFeatureAction-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction">
        <body>A ClearStructuralFeatureAction is a StructuralFeatureAction that removes all values of a StructuralFeature.</body>
      </ownedComment>
      <ownedRule xmi:id="ClearStructuralFeatureAction-type_of_result" name="type_of_result" constrainedElement="ClearStructuralFeatureAction">
        <ownedComment 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:id="ClearStructuralFeatureAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ClearStructuralFeatureAction">
        <ownedComment 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:id="ClearStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction"/>
      <ownedAttribute xmi:id="ClearStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_clearStructuralFeatureAction">
        <ownedComment 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:id="ClearVariableAction-_ownedComment.0" annotatedElement="ClearVariableAction">
        <body>A ClearVariableAction is a VariableAction that removes all values of a Variable.</body>
      </ownedComment>
      <generalization xmi:id="ClearVariableAction-_generalization.0" general="VariableAction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ConditionalNode" name="ConditionalNode">
      <ownedComment 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:id="ConditionalNode-result_no_incoming" name="result_no_incoming" constrainedElement="ConditionalNode">
        <ownedComment 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:id="ConditionalNode-no_input_pins" name="no_input_pins" constrainedElement="ConditionalNode">
        <ownedComment 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:id="ConditionalNode-one_clause_with_executable_node" name="one_clause_with_executable_node" constrainedElement="ConditionalNode">
        <ownedComment 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:id="ConditionalNode-matching_output_pins" name="matching_output_pins" constrainedElement="ConditionalNode">
        <ownedComment 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:id="ConditionalNode-executable_nodes" name="executable_nodes" constrainedElement="ConditionalNode">
        <ownedComment 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:id="ConditionalNode-clause_no_predecessor" name="clause_no_predecessor" constrainedElement="ConditionalNode">
        <ownedComment 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:id="ConditionalNode-_generalization.0" general="StructuredActivityNode"/>
      <ownedAttribute xmi:id="ConditionalNode-clause" name="clause" type="Clause" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_clause_conditionalNode">
        <ownedComment 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:id="ConditionalNode-isAssured" name="isAssured">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ConditionalNode-isAssured-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConditionalNode-isDeterminate" name="isDeterminate">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ConditionalNode-isDeterminate-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConditionalNode-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeOutput" association="A_result_conditionalNode">
        <ownedComment 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:id="ConditionalNode-allActions" name="allActions" bodyCondition="ConditionalNode-allActions-spec" isQuery="true" redefinedOperation="Action-allActions StructuredActivityNode-allActions">
        <ownedComment 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:id="ConditionalNode-allActions-spec" name="spec" constrainedElement="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: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:id="CreateLinkAction-_ownedComment.0" annotatedElement="CreateLinkAction">
        <body>A CreateLinkAction is a WriteLinkAction for creating links.</body>
      </ownedComment>
      <ownedRule xmi:id="CreateLinkAction-association_not_abstract" name="association_not_abstract" constrainedElement="CreateLinkAction">
        <ownedComment 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:id="CreateLinkAction-_generalization.0" general="WriteLinkAction"/>
      <ownedAttribute xmi:id="CreateLinkAction-endData" name="endData" type="LinkEndCreationData" aggregation="composite" redefinedProperty="LinkAction-endData" association="A_endData_createLinkAction">
        <ownedComment 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:id="CreateLinkObjectAction-_ownedComment.0" annotatedElement="CreateLinkObjectAction">
        <body>A CreateLinkObjectAction is a CreateLinkAction for creating link objects (AssociationClasse instances).</body>
      </ownedComment>
      <ownedRule xmi:id="CreateLinkObjectAction-multiplicity" name="multiplicity" constrainedElement="CreateLinkObjectAction">
        <ownedComment 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:id="CreateLinkObjectAction-type_of_result" name="type_of_result" constrainedElement="CreateLinkObjectAction">
        <ownedComment 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:id="CreateLinkObjectAction-association_class" name="association_class" constrainedElement="CreateLinkObjectAction">
        <ownedComment 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:id="CreateLinkObjectAction-_generalization.0" general="CreateLinkAction"/>
      <ownedAttribute xmi:id="CreateLinkObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_createLinkObjectAction">
        <ownedComment 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:id="CreateObjectAction-_ownedComment.0" annotatedElement="CreateObjectAction">
        <body>A CreateObjectAction is an Action that creates an instance of the specified Classifier.</body>
      </ownedComment>
      <ownedRule xmi:id="CreateObjectAction-classifier_not_abstract" name="classifier_not_abstract" constrainedElement="CreateObjectAction">
        <ownedComment 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:id="CreateObjectAction-multiplicity" name="multiplicity" constrainedElement="CreateObjectAction">
        <ownedComment 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:id="CreateObjectAction-classifier_not_association_class" name="classifier_not_association_class" constrainedElement="CreateObjectAction">
        <ownedComment 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:id="CreateObjectAction-same_type" name="same_type" constrainedElement="CreateObjectAction">
        <ownedComment 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:id="CreateObjectAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="CreateObjectAction-classifier" name="classifier" type="Classifier" association="A_classifier_createObjectAction">
        <ownedComment xmi:id="CreateObjectAction-classifier-_ownedComment.0" annotatedElement="CreateObjectAction-classifier">
          <body>The Classifier to be instantiated.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="CreateObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_createObjectAction">
        <ownedComment 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:id="DestroyLinkAction-_ownedComment.0" annotatedElement="DestroyLinkAction">
        <body>A DestroyLinkAction is a WriteLinkAction that destroys links (including link objects).</body>
      </ownedComment>
      <generalization xmi:id="DestroyLinkAction-_generalization.0" general="WriteLinkAction"/>
      <ownedAttribute xmi:id="DestroyLinkAction-endData" name="endData" type="LinkEndDestructionData" aggregation="composite" redefinedProperty="LinkAction-endData" association="A_endData_destroyLinkAction">
        <ownedComment 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:id="DestroyObjectAction-_ownedComment.0" annotatedElement="DestroyObjectAction">
        <body>A DestroyObjectAction is an Action that destroys objects.</body>
      </ownedComment>
      <ownedRule xmi:id="DestroyObjectAction-multiplicity" name="multiplicity" constrainedElement="DestroyObjectAction">
        <ownedComment 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:id="DestroyObjectAction-no_type" name="no_type" constrainedElement="DestroyObjectAction">
        <ownedComment 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:id="DestroyObjectAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="DestroyObjectAction-isDestroyLinks" name="isDestroyLinks">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="DestroyObjectAction-isDestroyLinks-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DestroyObjectAction-isDestroyOwnedObjects" name="isDestroyOwnedObjects">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="DestroyObjectAction-isDestroyOwnedObjects-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DestroyObjectAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_destroyObjectAction">
        <ownedComment 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: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:id="ExpansionNode-region_as_input_or_output" name="region_as_input_or_output" constrainedElement="ExpansionNode">
        <ownedComment 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:id="ExpansionNode-_generalization.0" general="ObjectNode"/>
      <ownedAttribute xmi:id="ExpansionNode-regionAsInput" name="regionAsInput" type="ExpansionRegion" association="A_inputElement_regionAsInput">
        <ownedComment 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:id="ExpansionNode-regionAsOutput" name="regionAsOutput" type="ExpansionRegion" association="A_outputElement_regionAsOutput">
        <ownedComment 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: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:id="ExpansionRegion-_generalization.0" general="StructuredActivityNode"/>
      <ownedAttribute xmi:id="ExpansionRegion-inputElement" name="inputElement" type="ExpansionNode" association="A_inputElement_regionAsInput">
        <ownedComment 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:id="ExpansionRegion-mode" name="mode" type="ExpansionKind">
        <ownedComment 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:id="ExpansionRegion-outputElement" name="outputElement" type="ExpansionNode" association="A_outputElement_regionAsOutput">
        <ownedComment 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: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:id="InputPin-outgoing_edges_structured_only" name="outgoing_edges_structured_only" constrainedElement="InputPin">
        <ownedComment 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:id="InputPin-_generalization.0" general="Pin"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InvocationAction" name="InvocationAction" isAbstract="true">
      <ownedComment xmi:id="InvocationAction-_ownedComment.0" annotatedElement="InvocationAction">
        <body>InvocationAction is an abstract class for the various actions that request Behavior invocation.</body>
      </ownedComment>
      <generalization xmi:id="InvocationAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="InvocationAction-argument" name="argument" type="InputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-input" association="A_argument_invocationAction">
        <ownedComment 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:id="InvocationAction-onPort" name="onPort" type="Port" association="A_onPort_invocationAction">
        <ownedComment 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: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:id="LinkAction-same_pins" name="same_pins" constrainedElement="LinkAction">
        <ownedComment 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:id="LinkAction-same_association" name="same_association" constrainedElement="LinkAction">
        <ownedComment 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:id="LinkAction-not_static" name="not_static" constrainedElement="LinkAction">
        <ownedComment 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:id="LinkAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="LinkAction-endData" name="endData" type="LinkEndData" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_endData_linkAction">
        <ownedComment 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:id="LinkAction-inputValue" name="inputValue" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_inputValue_linkAction">
        <ownedComment 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:id="LinkAction-association" name="association" bodyCondition="LinkAction-association-spec" isQuery="true">
        <ownedComment xmi:id="LinkAction-association-_ownedComment.0" annotatedElement="LinkAction-association">
          <body>Returns the Association acted on by this LinkAction.</body>
        </ownedComment>
        <ownedRule xmi:id="LinkAction-association-spec" name="spec" constrainedElement="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:id="LinkAction-association-result" name="result" type="Association" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LinkEndCreationData" name="LinkEndCreationData">
      <ownedComment 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:id="LinkEndCreationData-insertAt_pin" name="insertAt_pin" constrainedElement="LinkEndCreationData">
        <ownedComment 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:id="LinkEndCreationData-_generalization.0" general="LinkEndData"/>
      <ownedAttribute xmi:id="LinkEndCreationData-insertAt" name="insertAt" type="InputPin" association="A_insertAt_linkEndCreationData">
        <ownedComment 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:id="LinkEndCreationData-isReplaceAll" name="isReplaceAll">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LinkEndCreationData-isReplaceAll-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LinkEndCreationData-allPins" name="allPins" bodyCondition="LinkEndCreationData-allPins-spec" isQuery="true" redefinedOperation="LinkEndData-allPins">
        <ownedComment 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:id="LinkEndCreationData-allPins-spec" name="spec" constrainedElement="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: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: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:id="LinkEndData-same_type" name="same_type" constrainedElement="LinkEndData">
        <ownedComment 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:id="LinkEndData-multiplicity" name="multiplicity" constrainedElement="LinkEndData">
        <ownedComment 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:id="LinkEndData-end_object_input_pin" name="end_object_input_pin" constrainedElement="LinkEndData">
        <ownedComment 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:id="LinkEndData-property_is_association_end" name="property_is_association_end" constrainedElement="LinkEndData">
        <ownedComment 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:id="LinkEndData-qualifiers" name="qualifiers" constrainedElement="LinkEndData">
        <ownedComment 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:id="LinkEndData-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="LinkEndData-end" name="end" type="Property" association="A_end_linkEndData">
        <ownedComment xmi:id="LinkEndData-end-_ownedComment.0" annotatedElement="LinkEndData-end">
          <body>The Association end for which this LinkEndData specifies values.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="LinkEndData-qualifier" name="qualifier" type="QualifierValue" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_qualifier_linkEndData">
        <ownedComment 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:id="LinkEndData-value" name="value" type="InputPin" association="A_value_linkEndData">
        <ownedComment 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:id="LinkEndData-allPins" name="allPins" bodyCondition="LinkEndData-allPins-spec" isQuery="true">
        <ownedComment 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:id="LinkEndData-allPins-spec" name="spec" constrainedElement="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: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: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:id="LinkEndDestructionData-destroyAt_pin" name="destroyAt_pin" constrainedElement="LinkEndDestructionData">
        <ownedComment 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</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="LinkEndDestructionData-_generalization.0" general="LinkEndData"/>
      <ownedAttribute xmi:id="LinkEndDestructionData-destroyAt" name="destroyAt" type="InputPin" association="A_destroyAt_linkEndDestructionData">
        <ownedComment 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:id="LinkEndDestructionData-isDestroyDuplicates" name="isDestroyDuplicates">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LinkEndDestructionData-isDestroyDuplicates-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LinkEndDestructionData-allPins" name="allPins" bodyCondition="LinkEndDestructionData-allPins-spec" isQuery="true" redefinedOperation="LinkEndData-allPins">
        <ownedComment 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:id="LinkEndDestructionData-allPins-spec" name="spec" constrainedElement="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: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: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:id="LoopNode-result_no_incoming" name="result_no_incoming" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-input_edges" name="input_edges" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-executable_nodes" name="executable_nodes" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-body_output_pins" name="body_output_pins" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-setup_test_and_body" name="setup_test_and_body" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-matching_output_pins" name="matching_output_pins" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-matching_loop_variables" name="matching_loop_variables" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-matching_result_pins" name="matching_result_pins" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-loop_variable_outgoing" name="loop_variable_outgoing" constrainedElement="LoopNode">
        <ownedComment 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:id="LoopNode-_generalization.0" general="StructuredActivityNode"/>
      <ownedAttribute xmi:id="LoopNode-bodyOutput" name="bodyOutput" type="OutputPin" isOrdered="true" association="A_bodyOutput_loopNode">
        <ownedComment 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:id="LoopNode-bodyPart" name="bodyPart" type="ExecutableNode" association="A_bodyPart_loopNode">
        <ownedComment 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:id="LoopNode-decider" name="decider" type="OutputPin" association="A_decider_loopNode">
        <ownedComment 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:id="LoopNode-isTestedFirst" name="isTestedFirst">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LoopNode-isTestedFirst-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-loopVariable" name="loopVariable" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_loopVariable_loopNode">
        <ownedComment 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:id="LoopNode-loopVariableInput" name="loopVariableInput" type="InputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeInput" association="A_loopVariableInput_loopNode">
        <ownedComment 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:id="LoopNode-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeOutput" association="A_result_loopNode">
        <ownedComment 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:id="LoopNode-setupPart" name="setupPart" type="ExecutableNode" association="A_setupPart_loopNode">
        <ownedComment 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:id="LoopNode-test" name="test" type="ExecutableNode" association="A_test_loopNode">
        <ownedComment 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:id="LoopNode-allActions" name="allActions" bodyCondition="LoopNode-allActions-spec" isQuery="true" redefinedOperation="Action-allActions StructuredActivityNode-allActions">
        <ownedComment 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:id="LoopNode-allActions-spec" name="spec" constrainedElement="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: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:id="LoopNode-sourceNodes" name="sourceNodes" bodyCondition="LoopNode-sourceNodes-spec" isQuery="true" redefinedOperation="StructuredActivityNode-sourceNodes">
        <ownedComment 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:id="LoopNode-sourceNodes-spec" name="spec" constrainedElement="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: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:id="OpaqueAction-_ownedComment.0" annotatedElement="OpaqueAction">
        <body>An OpaqueAction is an Action whose functionality is not specified within UML.</body>
      </ownedComment>
      <ownedRule xmi:id="OpaqueAction-language_body_size" name="language_body_size" constrainedElement="OpaqueAction">
        <ownedComment 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:id="OpaqueAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="OpaqueAction-body" name="body" isOrdered="true" isUnique="false">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="OpaqueAction-inputValue" name="inputValue" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_inputValue_opaqueAction">
        <ownedComment 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:id="OpaqueAction-language" name="language" isOrdered="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="OpaqueAction-outputValue" name="outputValue" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_outputValue_opaqueAction">
        <ownedComment 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:id="OutputPin-_ownedComment.0" annotatedElement="OutputPin">
        <body>An OutputPin is a Pin that holds output values produced by an Action.</body>
      </ownedComment>
      <ownedRule xmi:id="OutputPin-incoming_edges_structured_only" name="incoming_edges_structured_only" constrainedElement="OutputPin">
        <ownedComment 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:id="OutputPin-_generalization.0" general="Pin"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Pin" name="Pin" isAbstract="true">
      <ownedComment 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:id="Pin-control_pins" name="control_pins" constrainedElement="Pin">
        <ownedComment 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:id="Pin-not_unique" name="not_unique" constrainedElement="Pin">
        <ownedComment 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:id="Pin-_generalization.0" general="ObjectNode"/>
      <generalization xmi:id="Pin-_generalization.1" general="MultiplicityElement"/>
      <ownedAttribute xmi:id="Pin-isControl" name="isControl">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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: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:id="QualifierValue-multiplicity_of_qualifier" name="multiplicity_of_qualifier" constrainedElement="QualifierValue">
        <ownedComment 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:id="QualifierValue-type_of_qualifier" name="type_of_qualifier" constrainedElement="QualifierValue">
        <ownedComment 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:id="QualifierValue-qualifier_attribute" name="qualifier_attribute" constrainedElement="QualifierValue">
        <ownedComment 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:id="QualifierValue-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="QualifierValue-qualifier" name="qualifier" type="Property" association="A_qualifier_qualifierValue">
        <ownedComment 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:id="QualifierValue-value" name="value" type="InputPin" association="A_value_qualifierValue">
        <ownedComment 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: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:id="RaiseExceptionAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="RaiseExceptionAction-exception" name="exception" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_exception_raiseExceptionAction">
        <ownedComment 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:id="ReadExtentAction-_ownedComment.0" annotatedElement="ReadExtentAction">
        <body>A ReadExtentAction is an Action that retrieves the current instances of a Classifier.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadExtentAction-type_is_classifier" name="type_is_classifier" constrainedElement="ReadExtentAction">
        <ownedComment 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:id="ReadExtentAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadExtentAction">
        <ownedComment 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:id="ReadExtentAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadExtentAction-classifier" name="classifier" type="Classifier" association="A_classifier_readExtentAction">
        <ownedComment xmi:id="ReadExtentAction-classifier-_ownedComment.0" annotatedElement="ReadExtentAction-classifier">
          <body>The Classifier whose instances are to be retrieved.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadExtentAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readExtentAction">
        <ownedComment 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: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:id="ReadIsClassifiedObjectAction-no_type" name="no_type" constrainedElement="ReadIsClassifiedObjectAction">
        <ownedComment 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:id="ReadIsClassifiedObjectAction-multiplicity_of_output" name="multiplicity_of_output" constrainedElement="ReadIsClassifiedObjectAction">
        <ownedComment 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:id="ReadIsClassifiedObjectAction-boolean_result" name="boolean_result" constrainedElement="ReadIsClassifiedObjectAction">
        <ownedComment 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:id="ReadIsClassifiedObjectAction-multiplicity_of_input" name="multiplicity_of_input" constrainedElement="ReadIsClassifiedObjectAction">
        <ownedComment 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:id="ReadIsClassifiedObjectAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadIsClassifiedObjectAction-classifier" name="classifier" type="Classifier" association="A_classifier_readIsClassifiedObjectAction">
        <ownedComment 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:id="ReadIsClassifiedObjectAction-isDirect" name="isDirect">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReadIsClassifiedObjectAction-isDirect-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadIsClassifiedObjectAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readIsClassifiedObjectAction">
        <ownedComment 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:id="ReadIsClassifiedObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readIsClassifiedObjectAction">
        <ownedComment 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: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:id="ReadLinkAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadLinkAction">
        <ownedComment 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:id="ReadLinkAction-compatible_multiplicity" name="compatible_multiplicity" constrainedElement="ReadLinkAction">
        <ownedComment 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:id="ReadLinkAction-visibility" name="visibility" constrainedElement="ReadLinkAction">
        <ownedComment 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:id="ReadLinkAction-one_open_end" name="one_open_end" constrainedElement="ReadLinkAction">
        <ownedComment 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:id="ReadLinkAction-navigable_open_end" name="navigable_open_end" constrainedElement="ReadLinkAction">
        <ownedComment 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:id="ReadLinkAction-_generalization.0" general="LinkAction"/>
      <ownedAttribute xmi:id="ReadLinkAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkAction">
        <ownedComment 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:id="ReadLinkAction-openEnd" name="openEnd" bodyCondition="ReadLinkAction-openEnd-spec" isQuery="true">
        <ownedComment 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:id="ReadLinkAction-openEnd-spec" name="spec" constrainedElement="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: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: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:id="ReadLinkObjectEndAction-property" name="property" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment 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:id="ReadLinkObjectEndAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment 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:id="ReadLinkObjectEndAction-ends_of_association" name="ends_of_association" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment 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:id="ReadLinkObjectEndAction-type_of_result" name="type_of_result" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment 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:id="ReadLinkObjectEndAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment 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:id="ReadLinkObjectEndAction-type_of_object" name="type_of_object" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment 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:id="ReadLinkObjectEndAction-association_of_association" name="association_of_association" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment 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:id="ReadLinkObjectEndAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadLinkObjectEndAction-end" name="end" type="Property" association="A_end_readLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-end-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-end">
          <body>The Association end to be read.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadLinkObjectEndAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readLinkObjectEndAction">
        <ownedComment 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:id="ReadLinkObjectEndAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkObjectEndAction">
        <ownedComment 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: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:id="ReadLinkObjectEndQualifierAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment 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:id="ReadLinkObjectEndQualifierAction-type_of_object" name="type_of_object" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment 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:id="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier" name="multiplicity_of_qualifier" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment 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:id="ReadLinkObjectEndQualifierAction-ends_of_association" name="ends_of_association" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment 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:id="ReadLinkObjectEndQualifierAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment 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:id="ReadLinkObjectEndQualifierAction-same_type" name="same_type" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment 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:id="ReadLinkObjectEndQualifierAction-association_of_association" name="association_of_association" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment 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:id="ReadLinkObjectEndQualifierAction-qualifier_attribute" name="qualifier_attribute" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment 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:id="ReadLinkObjectEndQualifierAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadLinkObjectEndQualifierAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-object-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-object">
          <body>The InputPin from which the link object is obtained.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadLinkObjectEndQualifierAction-qualifier" name="qualifier" type="Property" association="A_qualifier_readLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-qualifier-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-qualifier">
          <body>The qualifier Property to be read.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadLinkObjectEndQualifierAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkObjectEndQualifierAction">
        <ownedComment 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: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:id="ReadSelfAction-contained" name="contained" constrainedElement="ReadSelfAction">
        <ownedComment 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:id="ReadSelfAction-multiplicity" name="multiplicity" constrainedElement="ReadSelfAction">
        <ownedComment 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:id="ReadSelfAction-not_static" name="not_static" constrainedElement="ReadSelfAction">
        <ownedComment 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:id="ReadSelfAction-type" name="type" constrainedElement="ReadSelfAction">
        <ownedComment 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:id="ReadSelfAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadSelfAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readSelfAction">
        <ownedComment 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:id="ReadStructuralFeatureAction-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction">
        <body>A ReadStructuralFeatureAction is a StructuralFeatureAction that retrieves the values of a StructuralFeature.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadStructuralFeatureAction-multiplicity" name="multiplicity" constrainedElement="ReadStructuralFeatureAction">
        <ownedComment 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:id="ReadStructuralFeatureAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadStructuralFeatureAction">
        <ownedComment 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:id="ReadStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction"/>
      <ownedAttribute xmi:id="ReadStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readStructuralFeatureAction">
        <ownedComment 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:id="ReadVariableAction-_ownedComment.0" annotatedElement="ReadVariableAction">
        <body>A ReadVariableAction is a VariableAction that retrieves the values of a Variable.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadVariableAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadVariableAction">
        <ownedComment 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:id="ReadVariableAction-compatible_multiplicity" name="compatible_multiplicity" constrainedElement="ReadVariableAction">
        <ownedComment 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:id="ReadVariableAction-_generalization.0" general="VariableAction"/>
      <ownedAttribute xmi:id="ReadVariableAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readVariableAction">
        <ownedComment 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:id="ReclassifyObjectAction-_ownedComment.0" annotatedElement="ReclassifyObjectAction">
        <body>A ReclassifyObjectAction is an Action that changes the Classifiers that classify an object.</body>
      </ownedComment>
      <ownedRule xmi:id="ReclassifyObjectAction-input_pin" name="input_pin" constrainedElement="ReclassifyObjectAction">
        <ownedComment 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:id="ReclassifyObjectAction-classifier_not_abstract" name="classifier_not_abstract" constrainedElement="ReclassifyObjectAction">
        <ownedComment 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:id="ReclassifyObjectAction-multiplicity" name="multiplicity" constrainedElement="ReclassifyObjectAction">
        <ownedComment 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:id="ReclassifyObjectAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReclassifyObjectAction-isReplaceAll" name="isReplaceAll">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReclassifyObjectAction-isReplaceAll-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReclassifyObjectAction-newClassifier" name="newClassifier" type="Classifier" association="A_newClassifier_reclassifyObjectAction">
        <ownedComment 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:id="ReclassifyObjectAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_reclassifyObjectAction">
        <ownedComment xmi:id="ReclassifyObjectAction-object-_ownedComment.0" annotatedElement="ReclassifyObjectAction-object">
          <body>The InputPin that holds the object to be reclassified.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReclassifyObjectAction-oldClassifier" name="oldClassifier" type="Classifier" association="A_oldClassifier_reclassifyObjectAction">
        <ownedComment 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: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:id="ReduceAction-reducer_inputs_output" name="reducer_inputs_output" constrainedElement="ReduceAction">
        <ownedComment 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:id="ReduceAction-input_type_is_collection" name="input_type_is_collection" constrainedElement="ReduceAction">
        <ownedComment 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:id="ReduceAction-output_types_are_compatible" name="output_types_are_compatible" constrainedElement="ReduceAction">
        <ownedComment 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:id="ReduceAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReduceAction-collection" name="collection" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_collection_reduceAction">
        <ownedComment xmi:id="ReduceAction-collection-_ownedComment.0" annotatedElement="ReduceAction-collection">
          <body>The InputPin that provides the collection to be reduced.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReduceAction-isOrdered" name="isOrdered">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReduceAction-isOrdered-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReduceAction-reducer" name="reducer" type="Behavior" association="A_reducer_reduceAction">
        <ownedComment 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:id="ReduceAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_reduceAction">
        <ownedComment 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:id="RemoveStructuralFeatureValueAction-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction">
        <body>A RemoveStructuralFeatureValueAction is a WriteStructuralFeatureAction that removes values from a StructuralFeature.</body>
      </ownedComment>
      <ownedRule xmi:id="RemoveStructuralFeatureValueAction-removeAt_and_value" name="removeAt_and_value" constrainedElement="RemoveStructuralFeatureValueAction">
        <ownedComment 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:id="RemoveStructuralFeatureValueAction-_generalization.0" general="WriteStructuralFeatureAction"/>
      <ownedAttribute xmi:id="RemoveStructuralFeatureValueAction-isRemoveDuplicates" name="isRemoveDuplicates">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RemoveStructuralFeatureValueAction-isRemoveDuplicates-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="RemoveStructuralFeatureValueAction-removeAt" name="removeAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_removeAt_removeStructuralFeatureValueAction">
        <ownedComment 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:id="RemoveVariableValueAction-_ownedComment.0" annotatedElement="RemoveVariableValueAction">
        <body>A RemoveVariableValueAction is a WriteVariableAction that removes values from a Variables.</body>
      </ownedComment>
      <ownedRule xmi:id="RemoveVariableValueAction-removeAt_and_value" name="removeAt_and_value" constrainedElement="RemoveVariableValueAction">
        <ownedComment 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:id="RemoveVariableValueAction-_generalization.0" general="WriteVariableAction"/>
      <ownedAttribute xmi:id="RemoveVariableValueAction-isRemoveDuplicates" name="isRemoveDuplicates">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RemoveVariableValueAction-isRemoveDuplicates-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="RemoveVariableValueAction-removeAt" name="removeAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_removeAt_removeVariableValueAction">
        <ownedComment 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: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:id="ReplyAction-pins_match_parameter" name="pins_match_parameter" constrainedElement="ReplyAction">
        <ownedComment 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:id="ReplyAction-event_on_reply_to_call_trigger" name="event_on_reply_to_call_trigger" constrainedElement="ReplyAction">
        <ownedComment 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:id="ReplyAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReplyAction-replyToCall" name="replyToCall" type="Trigger" association="A_replyToCall_replyAction">
        <ownedComment 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:id="ReplyAction-replyValue" name="replyValue" type="InputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-input" association="A_replyValue_replyAction">
        <ownedComment 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:id="ReplyAction-returnInformation" name="returnInformation" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_returnInformation_replyAction">
        <ownedComment 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: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:id="SendObjectAction-type_target_pin" name="type_target_pin" constrainedElement="SendObjectAction">
        <ownedComment 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:id="SendObjectAction-_generalization.0" general="InvocationAction"/>
      <ownedAttribute xmi:id="SendObjectAction-request" name="request" type="InputPin" aggregation="composite" redefinedProperty="InvocationAction-argument" association="A_request_sendObjectAction">
        <ownedComment 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:id="SendObjectAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_sendObjectAction">
        <ownedComment 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: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:id="SendSignalAction-type_ordering_multiplicity" name="type_ordering_multiplicity" constrainedElement="SendSignalAction">
        <ownedComment 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:id="SendSignalAction-number_order" name="number_order" constrainedElement="SendSignalAction">
        <ownedComment 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:id="SendSignalAction-type_target_pin" name="type_target_pin" constrainedElement="SendSignalAction">
        <ownedComment 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)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="SendSignalAction-_generalization.0" general="InvocationAction"/>
      <ownedAttribute xmi:id="SendSignalAction-signal" name="signal" type="Signal" association="A_signal_sendSignalAction">
        <ownedComment xmi:id="SendSignalAction-signal-_ownedComment.0" annotatedElement="SendSignalAction-signal">
          <body>The Signal whose instance is transmitted to the target.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="SendSignalAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_sendSignalAction">
        <ownedComment 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:id="SequenceNode-_ownedComment.0" annotatedElement="SequenceNode">
        <body>A SequenceNode is a StructuredActivityNode that executes a sequence of ExecutableNodes in order.</body>
      </ownedComment>
      <generalization xmi:id="SequenceNode-_generalization.0" general="StructuredActivityNode"/>
      <ownedAttribute xmi:id="SequenceNode-executableNode" name="executableNode" type="ExecutableNode" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-node" association="A_executableNode_sequenceNode">
        <ownedComment 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:id="StartClassifierBehaviorAction-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction">
        <body>A StartClassifierBehaviorAction is an Action that starts the classifierBehavior of the input object.</body>
      </ownedComment>
      <ownedRule xmi:id="StartClassifierBehaviorAction-multiplicity" name="multiplicity" constrainedElement="StartClassifierBehaviorAction">
        <ownedComment 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:id="StartClassifierBehaviorAction-type_has_classifier" name="type_has_classifier" constrainedElement="StartClassifierBehaviorAction">
        <ownedComment 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:id="StartClassifierBehaviorAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="StartClassifierBehaviorAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_startClassifierBehaviorAction">
        <ownedComment 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: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:id="StartObjectBehaviorAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="StartObjectBehaviorAction">
        <ownedComment 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:id="StartObjectBehaviorAction-type_of_object" name="type_of_object" constrainedElement="StartObjectBehaviorAction">
        <ownedComment 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:id="StartObjectBehaviorAction-no_onport" name="no_onport" constrainedElement="StartObjectBehaviorAction">
        <ownedComment 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:id="StartObjectBehaviorAction-_generalization.0" general="CallAction"/>
      <ownedAttribute xmi:id="StartObjectBehaviorAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_startObjectBehaviorAction">
        <ownedComment 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:id="StartObjectBehaviorAction-outputParameters" name="outputParameters" bodyCondition="StartObjectBehaviorAction-outputParameters-spec" isQuery="true" redefinedOperation="CallAction-outputParameters">
        <ownedComment 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:id="StartObjectBehaviorAction-outputParameters-spec" name="spec" constrainedElement="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: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:id="StartObjectBehaviorAction-inputParameters" name="inputParameters" bodyCondition="StartObjectBehaviorAction-inputParameters-spec" isQuery="true" redefinedOperation="CallAction-inputParameters">
        <ownedComment 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:id="StartObjectBehaviorAction-inputParameters-spec" name="spec" constrainedElement="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: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:id="StartObjectBehaviorAction-behavior" name="behavior" bodyCondition="StartObjectBehaviorAction-behavior-spec" isQuery="true">
        <ownedComment 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:id="StartObjectBehaviorAction-behavior-spec" name="spec" constrainedElement="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: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:id="StructuralFeatureAction-_ownedComment.0" annotatedElement="StructuralFeatureAction">
        <body>StructuralFeatureAction is an abstract class for all Actions that operate on StructuralFeatures.</body>
      </ownedComment>
      <ownedRule xmi:id="StructuralFeatureAction-multiplicity" name="multiplicity" constrainedElement="StructuralFeatureAction">
        <ownedComment 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:id="StructuralFeatureAction-object_type" name="object_type" constrainedElement="StructuralFeatureAction">
        <ownedComment 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:id="StructuralFeatureAction-visibility" name="visibility" constrainedElement="StructuralFeatureAction">
        <ownedComment 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:id="StructuralFeatureAction-not_static" name="not_static" constrainedElement="StructuralFeatureAction">
        <ownedComment 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:id="StructuralFeatureAction-one_featuring_classifier" name="one_featuring_classifier" constrainedElement="StructuralFeatureAction">
        <ownedComment 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:id="StructuralFeatureAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="StructuralFeatureAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_structuralFeatureAction">
        <ownedComment 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:id="StructuralFeatureAction-structuralFeature" name="structuralFeature" type="StructuralFeature" association="A_structuralFeature_structuralFeatureAction">
        <ownedComment 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: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:id="StructuredActivityNode-output_pin_edges" name="output_pin_edges" constrainedElement="StructuredActivityNode">
        <ownedComment 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:id="StructuredActivityNode-edges" name="edges" constrainedElement="StructuredActivityNode">
        <ownedComment 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:id="StructuredActivityNode-input_pin_edges" name="input_pin_edges" constrainedElement="StructuredActivityNode">
        <ownedComment 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:id="StructuredActivityNode-_generalization.0" general="Namespace"/>
      <generalization xmi:id="StructuredActivityNode-_generalization.1" general="ActivityGroup"/>
      <generalization xmi:id="StructuredActivityNode-_generalization.2" general="Action"/>
      <ownedAttribute xmi:id="StructuredActivityNode-activity" name="activity" visibility="protected" type="Activity" isDerived="true" redefinedProperty="ActivityGroup-inActivity ActivityNode-activity" association="A_structuredNode_activity">
        <ownedComment 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:id="StructuredActivityNode-edge" name="edge" type="ActivityEdge" aggregation="composite" subsettedProperty="ActivityGroup-containedEdge Element-ownedElement" association="A_edge_inStructuredNode">
        <ownedComment 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:id="StructuredActivityNode-mustIsolate" name="mustIsolate">
        <ownedComment 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.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="StructuredActivityNode-mustIsolate-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredActivityNode-node" name="node" type="ActivityNode" aggregation="composite" subsettedProperty="ActivityGroup-containedNode Element-ownedElement" association="A_node_inStructuredNode">
        <ownedComment 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:id="StructuredActivityNode-structuredNodeInput" name="structuredNodeInput" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_structuredNodeInput_structuredActivityNode">
        <ownedComment 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:id="StructuredActivityNode-structuredNodeOutput" name="structuredNodeOutput" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_structuredNodeOutput_structuredActivityNode">
        <ownedComment 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:id="StructuredActivityNode-variable" name="variable" type="Variable" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_variable_scope">
        <ownedComment 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:id="StructuredActivityNode-allActions" name="allActions" bodyCondition="StructuredActivityNode-allActions-spec" isQuery="true" redefinedOperation="Action-allActions">
        <ownedComment xmi:id="StructuredActivityNode-allActions-_ownedComment.0" annotatedElement="StructuredActivityNode-allActions">
          <body>Returns this StructuredActivityNode and all Actions contained in it.</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredActivityNode-allActions-spec" name="spec" constrainedElement="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: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:id="StructuredActivityNode-allOwnedNodes" name="allOwnedNodes" bodyCondition="StructuredActivityNode-allOwnedNodes-spec" isQuery="true" redefinedOperation="Action-allOwnedNodes">
        <ownedComment 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:id="StructuredActivityNode-allOwnedNodes-spec" name="spec" constrainedElement="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: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:id="StructuredActivityNode-sourceNodes" name="sourceNodes" bodyCondition="StructuredActivityNode-sourceNodes-spec" isQuery="true">
        <ownedComment 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:id="StructuredActivityNode-sourceNodes-spec" name="spec" constrainedElement="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: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:id="StructuredActivityNode-targetNodes" name="targetNodes" bodyCondition="StructuredActivityNode-targetNodes-spec" isQuery="true">
        <ownedComment 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:id="StructuredActivityNode-targetNodes-spec" name="spec" constrainedElement="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: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:id="StructuredActivityNode-containingActivity" name="containingActivity" bodyCondition="StructuredActivityNode-containingActivity-spec" isQuery="true" redefinedOperation="ActivityGroup-containingActivity ActivityNode-containingActivity ActivityContent-containingActivity">
        <ownedComment 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:id="StructuredActivityNode-containingActivity-spec" name="spec" constrainedElement="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: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:id="TestIdentityAction-_ownedComment.0" annotatedElement="TestIdentityAction">
        <body>A TestIdentityAction is an Action that tests if two values are identical objects.</body>
      </ownedComment>
      <ownedRule xmi:id="TestIdentityAction-multiplicity" name="multiplicity" constrainedElement="TestIdentityAction">
        <ownedComment 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:id="TestIdentityAction-no_type" name="no_type" constrainedElement="TestIdentityAction">
        <ownedComment 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:id="TestIdentityAction-result_is_boolean" name="result_is_boolean" constrainedElement="TestIdentityAction">
        <ownedComment 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:id="TestIdentityAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="TestIdentityAction-first" name="first" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_first_testIdentityAction">
        <ownedComment 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:id="TestIdentityAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_testIdentityAction">
        <ownedComment 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:id="TestIdentityAction-second" name="second" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_second_testIdentityAction">
        <ownedComment 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: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:id="UnmarshallAction-structural_feature" name="structural_feature" constrainedElement="UnmarshallAction">
        <ownedComment 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:id="UnmarshallAction-number_of_result" name="number_of_result" constrainedElement="UnmarshallAction">
        <ownedComment 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:id="UnmarshallAction-type_ordering_and_multiplicity" name="type_ordering_and_multiplicity" constrainedElement="UnmarshallAction">
        <ownedComment 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:id="UnmarshallAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="UnmarshallAction">
        <ownedComment 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:id="UnmarshallAction-object_type" name="object_type" constrainedElement="UnmarshallAction">
        <ownedComment 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:id="UnmarshallAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="UnmarshallAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_unmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-object-_ownedComment.0" annotatedElement="UnmarshallAction-object">
          <body>The InputPin that gives the object to be unmarshalled.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="UnmarshallAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_unmarshallAction">
        <ownedComment 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:id="UnmarshallAction-unmarshallType" name="unmarshallType" type="Classifier" association="A_unmarshallType_unmarshallAction">
        <ownedComment 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:id="ValuePin-_ownedComment.0" annotatedElement="ValuePin">
        <body>A ValuePin is an InputPin that provides a value by evaluating a ValueSpecification.</body>
      </ownedComment>
      <ownedRule xmi:id="ValuePin-no_incoming_edges" name="no_incoming_edges" constrainedElement="ValuePin">
        <ownedComment 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:id="ValuePin-compatible_type" name="compatible_type" constrainedElement="ValuePin">
        <ownedComment 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:id="ValuePin-_generalization.0" general="InputPin"/>
      <ownedAttribute xmi:id="ValuePin-value" name="value" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_valuePin">
        <ownedComment 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" visibility="private" memberEnd="ValuePin-value A_value_valuePin-valuePin">
      <ownedEnd xmi:id="A_value_valuePin-valuePin" name="valuePin" type="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" visibility="private" memberEnd="UnmarshallAction-result A_result_unmarshallAction-unmarshallAction">
      <ownedEnd xmi:id="A_result_unmarshallAction-unmarshallAction" name="unmarshallAction" type="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" visibility="private" memberEnd="UnmarshallAction-unmarshallType A_unmarshallType_unmarshallAction-unmarshallAction">
      <ownedEnd xmi:id="A_unmarshallType_unmarshallAction-unmarshallAction" name="unmarshallAction" type="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" visibility="private" memberEnd="UnmarshallAction-object A_object_unmarshallAction-unmarshallAction">
      <ownedEnd xmi:id="A_object_unmarshallAction-unmarshallAction" name="unmarshallAction" type="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" visibility="private" memberEnd="TestIdentityAction-first A_first_testIdentityAction-testIdentityAction">
      <ownedEnd xmi:id="A_first_testIdentityAction-testIdentityAction" name="testIdentityAction" type="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" visibility="private" memberEnd="TestIdentityAction-second A_second_testIdentityAction-testIdentityAction">
      <ownedEnd xmi:id="A_second_testIdentityAction-testIdentityAction" name="testIdentityAction" type="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" visibility="private" memberEnd="TestIdentityAction-result A_result_testIdentityAction-testIdentityAction">
      <ownedEnd xmi:id="A_result_testIdentityAction-testIdentityAction" name="testIdentityAction" type="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" visibility="private" memberEnd="StructuredActivityNode-structuredNodeOutput A_structuredNodeOutput_structuredActivityNode-structuredActivityNode">
      <ownedEnd xmi:id="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode" name="structuredActivityNode" type="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" visibility="private" memberEnd="StructuredActivityNode-structuredNodeInput A_structuredNodeInput_structuredActivityNode-structuredActivityNode">
      <ownedEnd xmi:id="A_structuredNodeInput_structuredActivityNode-structuredActivityNode" name="structuredActivityNode" type="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" visibility="private" memberEnd="StructuredActivityNode-edge ActivityEdge-inStructuredNode"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_node_inStructuredNode" name="A_node_inStructuredNode" visibility="private" memberEnd="StructuredActivityNode-node ActivityNode-inStructuredNode"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_variable_scope" name="A_variable_scope" visibility="private" memberEnd="StructuredActivityNode-variable Variable-scope"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_structuralFeatureAction" name="A_object_structuralFeatureAction" visibility="private" memberEnd="StructuralFeatureAction-object A_object_structuralFeatureAction-structuralFeatureAction">
      <ownedEnd xmi:id="A_object_structuralFeatureAction-structuralFeatureAction" name="structuralFeatureAction" type="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" visibility="private" memberEnd="StructuralFeatureAction-structuralFeature A_structuralFeature_structuralFeatureAction-structuralFeatureAction">
      <ownedEnd xmi:id="A_structuralFeature_structuralFeatureAction-structuralFeatureAction" name="structuralFeatureAction" type="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" visibility="private" memberEnd="StartObjectBehaviorAction-object A_object_startObjectBehaviorAction-startObjectBehaviorAction">
      <ownedEnd xmi:id="A_object_startObjectBehaviorAction-startObjectBehaviorAction" name="startObjectBehaviorAction" type="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" visibility="private" memberEnd="StartClassifierBehaviorAction-object A_object_startClassifierBehaviorAction-startClassifierBehaviorAction">
      <ownedEnd xmi:id="A_object_startClassifierBehaviorAction-startClassifierBehaviorAction" name="startClassifierBehaviorAction" type="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" visibility="private" memberEnd="SequenceNode-executableNode A_executableNode_sequenceNode-sequenceNode">
      <ownedEnd xmi:id="A_executableNode_sequenceNode-sequenceNode" name="sequenceNode" type="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" visibility="private" memberEnd="SendSignalAction-signal A_signal_sendSignalAction-sendSignalAction">
      <ownedEnd xmi:id="A_signal_sendSignalAction-sendSignalAction" name="sendSignalAction" type="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" visibility="private" memberEnd="SendSignalAction-target A_target_sendSignalAction-sendSignalAction">
      <ownedEnd xmi:id="A_target_sendSignalAction-sendSignalAction" name="sendSignalAction" type="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" visibility="private" memberEnd="SendObjectAction-request A_request_sendObjectAction-sendObjectAction">
      <generalization xmi:id="A_request_sendObjectAction-_generalization.0" general="A_argument_invocationAction"/>
      <ownedEnd xmi:id="A_request_sendObjectAction-sendObjectAction" name="sendObjectAction" type="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" visibility="private" memberEnd="SendObjectAction-target A_target_sendObjectAction-sendObjectAction">
      <ownedEnd xmi:id="A_target_sendObjectAction-sendObjectAction" name="sendObjectAction" type="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" visibility="private" memberEnd="ReplyAction-returnInformation A_returnInformation_replyAction-replyAction">
      <ownedEnd xmi:id="A_returnInformation_replyAction-replyAction" name="replyAction" type="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" visibility="private" memberEnd="ReplyAction-replyToCall A_replyToCall_replyAction-replyAction">
      <ownedEnd xmi:id="A_replyToCall_replyAction-replyAction" name="replyAction" type="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" visibility="private" memberEnd="ReplyAction-replyValue A_replyValue_replyAction-replyAction">
      <ownedEnd xmi:id="A_replyValue_replyAction-replyAction" name="replyAction" type="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" visibility="private" memberEnd="RemoveVariableValueAction-removeAt A_removeAt_removeVariableValueAction-removeVariableValueAction">
      <ownedEnd xmi:id="A_removeAt_removeVariableValueAction-removeVariableValueAction" name="removeVariableValueAction" type="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" visibility="private" memberEnd="RemoveStructuralFeatureValueAction-removeAt A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction">
      <ownedEnd xmi:id="A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction" name="removeStructuralFeatureValueAction" type="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" visibility="private" memberEnd="ReduceAction-collection A_collection_reduceAction-reduceAction">
      <ownedEnd xmi:id="A_collection_reduceAction-reduceAction" name="reduceAction" type="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" visibility="private" memberEnd="ReduceAction-reducer A_reducer_reduceAction-reduceAction">
      <ownedEnd xmi:id="A_reducer_reduceAction-reduceAction" name="reduceAction" type="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" visibility="private" memberEnd="ReduceAction-result A_result_reduceAction-reduceAction">
      <ownedEnd xmi:id="A_result_reduceAction-reduceAction" name="reduceAction" type="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" visibility="private" memberEnd="ReclassifyObjectAction-object A_object_reclassifyObjectAction-reclassifyObjectAction">
      <ownedEnd xmi:id="A_object_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="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" visibility="private" memberEnd="ReclassifyObjectAction-newClassifier A_newClassifier_reclassifyObjectAction-reclassifyObjectAction">
      <ownedEnd xmi:id="A_newClassifier_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="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" visibility="private" memberEnd="ReclassifyObjectAction-oldClassifier A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction">
      <ownedEnd xmi:id="A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="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" visibility="private" memberEnd="ReadVariableAction-result A_result_readVariableAction-readVariableAction">
      <ownedEnd xmi:id="A_result_readVariableAction-readVariableAction" name="readVariableAction" type="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" visibility="private" memberEnd="ReadStructuralFeatureAction-result A_result_readStructuralFeatureAction-readStructuralFeatureAction">
      <ownedEnd xmi:id="A_result_readStructuralFeatureAction-readStructuralFeatureAction" name="readStructuralFeatureAction" type="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" visibility="private" memberEnd="ReadSelfAction-result A_result_readSelfAction-readSelfAction">
      <ownedEnd xmi:id="A_result_readSelfAction-readSelfAction" name="readSelfAction" type="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" visibility="private" memberEnd="ReadLinkObjectEndQualifierAction-qualifier A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
      <ownedEnd xmi:id="A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="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" visibility="private" memberEnd="ReadLinkObjectEndQualifierAction-object A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
      <ownedEnd xmi:id="A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="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" visibility="private" memberEnd="ReadLinkObjectEndQualifierAction-result A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
      <ownedEnd xmi:id="A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="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" visibility="private" memberEnd="ReadLinkObjectEndAction-object A_object_readLinkObjectEndAction-readLinkObjectEndAction">
      <ownedEnd xmi:id="A_object_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="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" visibility="private" memberEnd="ReadLinkObjectEndAction-end A_end_readLinkObjectEndAction-readLinkObjectEndAction">
      <ownedEnd xmi:id="A_end_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="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" visibility="private" memberEnd="ReadLinkObjectEndAction-result A_result_readLinkObjectEndAction-readLinkObjectEndAction">
      <ownedEnd xmi:id="A_result_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="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" visibility="private" memberEnd="ReadLinkAction-result A_result_readLinkAction-readLinkAction">
      <ownedEnd xmi:id="A_result_readLinkAction-readLinkAction" name="readLinkAction" type="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" visibility="private" memberEnd="ReadIsClassifiedObjectAction-classifier A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
      <ownedEnd xmi:id="A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="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" visibility="private" memberEnd="ReadIsClassifiedObjectAction-result A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
      <ownedEnd xmi:id="A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="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" visibility="private" memberEnd="ReadIsClassifiedObjectAction-object A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
      <ownedEnd xmi:id="A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="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" visibility="private" memberEnd="ReadExtentAction-result A_result_readExtentAction-readExtentAction">
      <ownedEnd xmi:id="A_result_readExtentAction-readExtentAction" name="readExtentAction" type="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" visibility="private" memberEnd="ReadExtentAction-classifier A_classifier_readExtentAction-readExtentAction">
      <ownedEnd xmi:id="A_classifier_readExtentAction-readExtentAction" name="readExtentAction" type="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" visibility="private" memberEnd="RaiseExceptionAction-exception A_exception_raiseExceptionAction-raiseExceptionAction">
      <ownedEnd xmi:id="A_exception_raiseExceptionAction-raiseExceptionAction" name="raiseExceptionAction" type="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" visibility="private" memberEnd="QualifierValue-qualifier A_qualifier_qualifierValue-qualifierValue">
      <ownedEnd xmi:id="A_qualifier_qualifierValue-qualifierValue" name="qualifierValue" type="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" visibility="private" memberEnd="QualifierValue-value A_value_qualifierValue-qualifierValue">
      <ownedEnd xmi:id="A_value_qualifierValue-qualifierValue" name="qualifierValue" type="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" visibility="private" memberEnd="OpaqueAction-outputValue A_outputValue_opaqueAction-opaqueAction">
      <ownedEnd xmi:id="A_outputValue_opaqueAction-opaqueAction" name="opaqueAction" type="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" visibility="private" memberEnd="OpaqueAction-inputValue A_inputValue_opaqueAction-opaqueAction">
      <ownedEnd xmi:id="A_inputValue_opaqueAction-opaqueAction" name="opaqueAction" type="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" visibility="private" memberEnd="LoopNode-setupPart A_setupPart_loopNode-loopNode">
      <ownedEnd xmi:id="A_setupPart_loopNode-loopNode" name="loopNode" type="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" visibility="private" memberEnd="LoopNode-bodyPart A_bodyPart_loopNode-loopNode">
      <ownedEnd xmi:id="A_bodyPart_loopNode-loopNode" name="loopNode" type="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" visibility="private" memberEnd="LoopNode-loopVariable A_loopVariable_loopNode-loopNode">
      <ownedEnd xmi:id="A_loopVariable_loopNode-loopNode" name="loopNode" type="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" visibility="private" memberEnd="LoopNode-result A_result_loopNode-loopNode">
      <ownedEnd xmi:id="A_result_loopNode-loopNode" name="loopNode" type="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" visibility="private" memberEnd="LoopNode-bodyOutput A_bodyOutput_loopNode-loopNode">
      <ownedEnd xmi:id="A_bodyOutput_loopNode-loopNode" name="loopNode" type="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" visibility="private" memberEnd="LoopNode-loopVariableInput A_loopVariableInput_loopNode-loopNode">
      <ownedEnd xmi:id="A_loopVariableInput_loopNode-loopNode" name="loopNode" type="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" visibility="private" memberEnd="LoopNode-test A_test_loopNode-loopNode">
      <ownedEnd xmi:id="A_test_loopNode-loopNode" name="loopNode" type="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" visibility="private" memberEnd="LoopNode-decider A_decider_loopNode-loopNode">
      <ownedEnd xmi:id="A_decider_loopNode-loopNode" name="loopNode" type="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" visibility="private" memberEnd="LinkEndDestructionData-destroyAt A_destroyAt_linkEndDestructionData-linkEndDestructionData">
      <ownedEnd xmi:id="A_destroyAt_linkEndDestructionData-linkEndDestructionData" name="linkEndDestructionData" type="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" visibility="private" memberEnd="LinkEndData-value A_value_linkEndData-linkEndData">
      <ownedEnd xmi:id="A_value_linkEndData-linkEndData" name="linkEndData" type="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" visibility="private" memberEnd="LinkEndData-end A_end_linkEndData-linkEndData">
      <ownedEnd xmi:id="A_end_linkEndData-linkEndData" name="linkEndData" type="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" visibility="private" memberEnd="LinkEndData-qualifier A_qualifier_linkEndData-linkEndData">
      <ownedEnd xmi:id="A_qualifier_linkEndData-linkEndData" name="linkEndData" type="LinkEndData" subsettedProperty="Element-owner" association="A_qualifier_linkEndData"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_insertAt_linkEndCreationData" name="A_insertAt_linkEndCreationData" visibility="private" memberEnd="LinkEndCreationData-insertAt A_insertAt_linkEndCreationData-linkEndCreationData">
      <ownedEnd xmi:id="A_insertAt_linkEndCreationData-linkEndCreationData" name="linkEndCreationData" type="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" visibility="private" memberEnd="LinkAction-inputValue A_inputValue_linkAction-linkAction">
      <ownedEnd xmi:id="A_inputValue_linkAction-linkAction" name="linkAction" type="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" visibility="private" memberEnd="LinkAction-endData A_endData_linkAction-linkAction">
      <ownedEnd xmi:id="A_endData_linkAction-linkAction" name="linkAction" type="LinkAction" subsettedProperty="Element-owner" association="A_endData_linkAction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_argument_invocationAction" name="A_argument_invocationAction" visibility="private" memberEnd="InvocationAction-argument A_argument_invocationAction-invocationAction">
      <ownedEnd xmi:id="A_argument_invocationAction-invocationAction" name="invocationAction" type="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" visibility="private" memberEnd="InvocationAction-onPort A_onPort_invocationAction-invocationAction">
      <ownedEnd xmi:id="A_onPort_invocationAction-invocationAction" name="invocationAction" type="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" visibility="private" memberEnd="ExpansionRegion-inputElement ExpansionNode-regionAsInput"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_outputElement_regionAsOutput" name="A_outputElement_regionAsOutput" visibility="private" memberEnd="ExpansionRegion-outputElement ExpansionNode-regionAsOutput"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_target_destroyObjectAction" name="A_target_destroyObjectAction" visibility="private" memberEnd="DestroyObjectAction-target A_target_destroyObjectAction-destroyObjectAction">
      <ownedEnd xmi:id="A_target_destroyObjectAction-destroyObjectAction" name="destroyObjectAction" type="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" visibility="private" memberEnd="DestroyLinkAction-endData A_endData_destroyLinkAction-destroyLinkAction">
      <generalization xmi:id="A_endData_destroyLinkAction-_generalization.0" general="A_endData_linkAction"/>
      <ownedEnd xmi:id="A_endData_destroyLinkAction-destroyLinkAction" name="destroyLinkAction" type="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" visibility="private" memberEnd="CreateObjectAction-classifier A_classifier_createObjectAction-createObjectAction">
      <ownedEnd xmi:id="A_classifier_createObjectAction-createObjectAction" name="createObjectAction" type="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" visibility="private" memberEnd="CreateObjectAction-result A_result_createObjectAction-createObjectAction">
      <ownedEnd xmi:id="A_result_createObjectAction-createObjectAction" name="createObjectAction" type="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" visibility="private" memberEnd="CreateLinkObjectAction-result A_result_createLinkObjectAction-createLinkObjectAction">
      <ownedEnd xmi:id="A_result_createLinkObjectAction-createLinkObjectAction" name="createLinkObjectAction" type="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" visibility="private" memberEnd="CreateLinkAction-endData A_endData_createLinkAction-createLinkAction">
      <generalization xmi:id="A_endData_createLinkAction-_generalization.0" general="A_endData_linkAction"/>
      <ownedEnd xmi:id="A_endData_createLinkAction-createLinkAction" name="createLinkAction" type="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" visibility="private" memberEnd="ConditionalNode-clause A_clause_conditionalNode-conditionalNode">
      <ownedEnd xmi:id="A_clause_conditionalNode-conditionalNode" name="conditionalNode" type="ConditionalNode" subsettedProperty="Element-owner" association="A_clause_conditionalNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_conditionalNode" name="A_result_conditionalNode" visibility="private" memberEnd="ConditionalNode-result A_result_conditionalNode-conditionalNode">
      <ownedEnd xmi:id="A_result_conditionalNode-conditionalNode" name="conditionalNode" type="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" visibility="private" memberEnd="ClearStructuralFeatureAction-result A_result_clearStructuralFeatureAction-clearStructuralFeatureAction">
      <ownedEnd xmi:id="A_result_clearStructuralFeatureAction-clearStructuralFeatureAction" name="clearStructuralFeatureAction" type="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" visibility="private" memberEnd="ClearAssociationAction-object A_object_clearAssociationAction-clearAssociationAction">
      <ownedEnd xmi:id="A_object_clearAssociationAction-clearAssociationAction" name="clearAssociationAction" type="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" visibility="private" memberEnd="ClearAssociationAction-association A_association_clearAssociationAction-clearAssociationAction">
      <ownedEnd xmi:id="A_association_clearAssociationAction-clearAssociationAction" name="clearAssociationAction" type="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" visibility="private" memberEnd="Clause-decider A_decider_clause-clause">
      <ownedEnd xmi:id="A_decider_clause-clause" name="clause" type="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" visibility="private" memberEnd="Clause-bodyOutput A_bodyOutput_clause-clause">
      <ownedEnd xmi:id="A_bodyOutput_clause-clause" name="clause" type="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" visibility="private" memberEnd="Clause-test A_test_clause-clause">
      <ownedEnd xmi:id="A_test_clause-clause" name="clause" type="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" visibility="private" memberEnd="Clause-body A_body_clause-clause">
      <ownedEnd xmi:id="A_body_clause-clause" name="clause" type="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" visibility="private" memberEnd="Clause-predecessorClause Clause-successorClause"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_target_callOperationAction" name="A_target_callOperationAction" visibility="private" memberEnd="CallOperationAction-target A_target_callOperationAction-callOperationAction">
      <ownedEnd xmi:id="A_target_callOperationAction-callOperationAction" name="callOperationAction" type="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" visibility="private" memberEnd="CallOperationAction-operation A_operation_callOperationAction-callOperationAction">
      <ownedEnd xmi:id="A_operation_callOperationAction-callOperationAction" name="callOperationAction" type="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" visibility="private" memberEnd="CallBehaviorAction-behavior A_behavior_callBehaviorAction-callBehaviorAction">
      <ownedEnd xmi:id="A_behavior_callBehaviorAction-callBehaviorAction" name="callBehaviorAction" type="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" visibility="private" memberEnd="CallAction-result A_result_callAction-callAction">
      <ownedEnd xmi:id="A_result_callAction-callAction" name="callAction" type="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" visibility="private" memberEnd="BroadcastSignalAction-signal A_signal_broadcastSignalAction-broadcastSignalAction">
      <ownedEnd xmi:id="A_signal_broadcastSignalAction-broadcastSignalAction" name="broadcastSignalAction" type="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" visibility="private" memberEnd="AddVariableValueAction-insertAt A_insertAt_addVariableValueAction-addVariableValueAction">
      <ownedEnd xmi:id="A_insertAt_addVariableValueAction-addVariableValueAction" name="addVariableValueAction" type="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" visibility="private" memberEnd="AddStructuralFeatureValueAction-insertAt A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction">
      <ownedEnd xmi:id="A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction" name="addStructuralFeatureValueAction" type="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" visibility="private" memberEnd="ActionInputPin-fromAction A_fromAction_actionInputPin-actionInputPin">
      <ownedEnd xmi:id="A_fromAction_actionInputPin-actionInputPin" name="actionInputPin" type="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" visibility="private" isDerived="true" memberEnd="Action-output A_output_action-action">
      <ownedEnd xmi:id="A_output_action-action" name="action" type="Action" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" isDerived="true" memberEnd="Action-context A_context_action-action">
      <ownedEnd xmi:id="A_context_action-action" name="action" type="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" visibility="private" isDerived="true" memberEnd="Action-input A_input_action-action">
      <ownedEnd xmi:id="A_input_action-action" name="action" type="Action" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" memberEnd="Action-localPrecondition A_localPrecondition_action-action">
      <ownedEnd xmi:id="A_localPrecondition_action-action" name="action" type="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" visibility="private" memberEnd="Action-localPostcondition A_localPostcondition_action-action">
      <ownedEnd xmi:id="A_localPostcondition_action-action" name="action" type="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" visibility="private" memberEnd="AcceptEventAction-trigger A_trigger_acceptEventAction-acceptEventAction">
      <ownedEnd xmi:id="A_trigger_acceptEventAction-acceptEventAction" name="acceptEventAction" type="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" visibility="private" memberEnd="AcceptEventAction-result A_result_acceptEventAction-acceptEventAction">
      <ownedEnd xmi:id="A_result_acceptEventAction-acceptEventAction" name="acceptEventAction" type="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" visibility="private" memberEnd="AcceptCallAction-returnInformation A_returnInformation_acceptCallAction-acceptCallAction">
      <ownedEnd xmi:id="A_returnInformation_acceptCallAction-acceptCallAction" name="acceptCallAction" type="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" visibility="private" memberEnd="WriteVariableAction-value A_value_writeVariableAction-writeVariableAction">
      <ownedEnd xmi:id="A_value_writeVariableAction-writeVariableAction" name="writeVariableAction" type="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" visibility="private" memberEnd="WriteStructuralFeatureAction-result A_result_writeStructuralFeatureAction-writeStructuralFeatureAction">
      <ownedEnd xmi:id="A_result_writeStructuralFeatureAction-writeStructuralFeatureAction" name="writeStructuralFeatureAction" type="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" visibility="private" memberEnd="WriteStructuralFeatureAction-value A_value_writeStructuralFeatureAction-writeStructuralFeatureAction">
      <ownedEnd xmi:id="A_value_writeStructuralFeatureAction-writeStructuralFeatureAction" name="writeStructuralFeatureAction" type="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" visibility="private" memberEnd="VariableAction-variable A_variable_variableAction-variableAction">
      <ownedEnd xmi:id="A_variable_variableAction-variableAction" name="variableAction" type="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" visibility="private" memberEnd="ValueSpecificationAction-result A_result_valueSpecificationAction-valueSpecificationAction">
      <ownedEnd xmi:id="A_result_valueSpecificationAction-valueSpecificationAction" name="valueSpecificationAction" type="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" visibility="private" memberEnd="ValueSpecificationAction-value A_value_valueSpecificationAction-valueSpecificationAction">
      <ownedEnd xmi:id="A_value_valueSpecificationAction-valueSpecificationAction" name="valueSpecificationAction" type="ValueSpecificationAction" subsettedProperty="Element-owner" association="A_value_valueSpecificationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_valueSpecificationAction-valueSpecificationAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Activity" name="Activity">
      <ownedComment 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:id="Activity-maximum_one_parameter_node" name="maximum_one_parameter_node" constrainedElement="Activity">
        <ownedComment 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:id="Activity-maximum_two_parameter_nodes" name="maximum_two_parameter_nodes" constrainedElement="Activity">
        <ownedComment 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;
)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Activity-_generalization.0" general="Behavior"/>
      <ownedAttribute xmi:id="Activity-ownedGroup" name="ownedGroup" visibility="protected" type="ActivityGroup" aggregation="composite" subsettedProperty="Activity-group">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-ownedGroup-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-ownedGroup-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-ownedNode" name="ownedNode" visibility="protected" type="ActivityNode" aggregation="composite" subsettedProperty="Activity-node">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-ownedNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-ownedNode-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-edge" name="edge" type="ActivityEdge" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_edge_activity">
        <ownedComment 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:id="Activity-group" name="group" visibility="protected" type="ActivityGroup" aggregation="composite" isDerived="true" subsettedProperty="Element-ownedElement" association="A_group_inActivity">
        <ownedComment xmi:id="Activity-group-_ownedComment.0" annotatedElement="Activity-group">
          <body>Top-level 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:id="Activity-isReadOnly" name="isReadOnly">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Activity-isReadOnly-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-isSingleExecution" name="isSingleExecution">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Activity-isSingleExecution-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-node" name="node" visibility="protected" type="ActivityNode" aggregation="composite" isDerived="true" subsettedProperty="Element-ownedElement" association="A_node_activity">
        <ownedComment 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:id="Activity-partition" name="partition" visibility="protected" type="ActivityPartition" subsettedProperty="Activity-group Activity-ownedGroup" association="A_partition_activity">
        <ownedComment 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:id="Activity-structuredNode" name="structuredNode" visibility="protected" type="StructuredActivityNode" aggregation="composite" subsettedProperty="Activity-group Activity-node" association="A_structuredNode_activity">
        <ownedComment 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:id="Activity-variable" name="variable" type="Variable" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_variable_activityScope">
        <ownedComment 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:id="ActivityEdge-_ownedComment.0" annotatedElement="ActivityEdge">
        <body>An ActivityEdge is an abstract class for directed connections between two ActivityNodes.</body>
      </ownedComment>
      <ownedRule xmi:id="ActivityEdge-source_and_target" name="source_and_target" constrainedElement="ActivityEdge">
        <ownedComment 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:id="ActivityEdge-_generalization.0" general="RedefinableElement"/>
      <ownedAttribute xmi:id="ActivityEdge-activity" name="activity" type="Activity" subsettedProperty="Element-owner" association="A_edge_activity">
        <ownedComment 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:id="ActivityEdge-guard" name="guard" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_guard_activityEdge">
        <ownedComment 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:id="ActivityEdge-inGroup" name="inGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedEdge_inGroup">
        <ownedComment 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:id="ActivityEdge-inPartition" name="inPartition" type="ActivityPartition" subsettedProperty="ActivityEdge-inGroup" association="A_edge_inPartition">
        <ownedComment 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:id="ActivityEdge-inStructuredNode" name="inStructuredNode" type="StructuredActivityNode" subsettedProperty="ActivityEdge-inGroup Element-owner" association="A_edge_inStructuredNode">
        <ownedComment 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:id="ActivityEdge-interrupts" name="interrupts" type="InterruptibleActivityRegion" association="A_interruptingEdge_interrupts">
        <ownedComment 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:id="ActivityEdge-redefinedEdge" name="redefinedEdge" type="ActivityEdge" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedEdge_activityEdge">
        <ownedComment 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:id="ActivityEdge-source" name="source" type="ActivityNode" association="A_outgoing_source_node">
        <ownedComment 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:id="ActivityEdge-target" name="target" type="ActivityNode" association="A_incoming_target_node">
        <ownedComment 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:id="ActivityEdge-weight" name="weight" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_weight_activityEdge">
        <ownedComment 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:id="ActivityEdge-isConsistentWith" name="isConsistentWith" bodyCondition="ActivityEdge-isConsistentWith-spec" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedRule xmi:id="ActivityEdge-isConsistentWith-spec" name="spec" constrainedElement="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:id="ActivityEdge-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="ActivityEdge-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityFinalNode" name="ActivityFinalNode">
      <ownedComment 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:id="ActivityFinalNode-_generalization.0" general="FinalNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityGroup" name="ActivityGroup" isAbstract="true">
      <ownedComment 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:id="ActivityGroup-nodes_and_edges" name="nodes_and_edges" constrainedElement="ActivityGroup">
        <ownedComment 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:id="ActivityGroup-not_contained" name="not_contained" constrainedElement="ActivityGroup">
        <ownedComment 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:id="ActivityGroup-_generalization.0" general="ActivityContent"/>
      <generalization xmi:id="ActivityGroup-_generalization.1" general="NamedElement"/>
      <ownedAttribute xmi:id="ActivityGroup-containedEdge" name="containedEdge" type="ActivityEdge" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedEdge_inGroup">
        <ownedComment 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:id="ActivityGroup-containedNode" name="containedNode" type="ActivityNode" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedNode_inGroup">
        <ownedComment 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:id="ActivityGroup-inActivity" name="inActivity" visibility="protected" type="Activity" subsettedProperty="Element-owner" association="A_group_inActivity">
        <ownedComment 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:id="ActivityGroup-subgroup" name="subgroup" type="ActivityGroup" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement" association="A_subgroup_superGroup">
        <ownedComment 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:id="ActivityGroup-superGroup" name="superGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-owner" association="A_subgroup_superGroup">
        <ownedComment 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:id="ActivityGroup-containingActivity" name="containingActivity" bodyCondition="ActivityGroup-containingActivity-spec" isQuery="true" redefinedOperation="ActivityContent-containingActivity">
        <ownedComment xmi:id="ActivityGroup-containingActivity-_ownedComment.0" annotatedElement="ActivityGroup-containingActivity">
          <body>The Activity that directly or indirectly contains this ActivityGroup.</body>
        </ownedComment>
        <ownedRule xmi:id="ActivityGroup-containingActivity-spec" name="spec" constrainedElement="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: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: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:id="ActivityNode-_generalization.0" general="ActivityContent"/>
      <generalization xmi:id="ActivityNode-_generalization.1" general="RedefinableElement"/>
      <ownedAttribute xmi:id="ActivityNode-activity" name="activity" visibility="protected" type="Activity" subsettedProperty="Element-owner" association="A_node_activity">
        <ownedComment 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:id="ActivityNode-inGroup" name="inGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedNode_inGroup">
        <ownedComment 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:id="ActivityNode-inInterruptibleRegion" name="inInterruptibleRegion" type="InterruptibleActivityRegion" subsettedProperty="ActivityNode-inGroup" association="A_inInterruptibleRegion_node">
        <ownedComment 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:id="ActivityNode-inPartition" name="inPartition" type="ActivityPartition" subsettedProperty="ActivityNode-inGroup" association="A_inPartition_node">
        <ownedComment 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:id="ActivityNode-inStructuredNode" name="inStructuredNode" type="StructuredActivityNode" subsettedProperty="ActivityNode-inGroup Element-owner" association="A_node_inStructuredNode">
        <ownedComment 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:id="ActivityNode-incoming" name="incoming" type="ActivityEdge" association="A_incoming_target_node">
        <ownedComment 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:id="ActivityNode-outgoing" name="outgoing" type="ActivityEdge" association="A_outgoing_source_node">
        <ownedComment 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:id="ActivityNode-redefinedNode" name="redefinedNode" type="ActivityNode" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedNode_activityNode">
        <ownedComment 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:id="ActivityNode-containingActivity" name="containingActivity" bodyCondition="ActivityNode-containingActivity-spec" isQuery="true" redefinedOperation="ActivityContent-containingActivity">
        <ownedComment xmi:id="ActivityNode-containingActivity-_ownedComment.0" annotatedElement="ActivityNode-containingActivity">
          <body>The Activity that directly or indirectly contains this ActivityNode.</body>
        </ownedComment>
        <ownedRule xmi:id="ActivityNode-containingActivity-spec" name="spec" constrainedElement="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: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:id="ActivityNode-isConsistentWith" name="isConsistentWith" bodyCondition="ActivityNode-isConsistentWith-spec" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedRule xmi:id="ActivityNode-isConsistentWith-spec" name="spec" constrainedElement="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:id="ActivityNode-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="ActivityNode-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityParameterNode" name="ActivityParameterNode">
      <ownedComment 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:id="ActivityParameterNode-no_outgoing_edges" name="no_outgoing_edges" constrainedElement="ActivityParameterNode">
        <ownedComment 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:id="ActivityParameterNode-has_parameters" name="has_parameters" constrainedElement="ActivityParameterNode">
        <ownedComment 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:id="ActivityParameterNode-same_type" name="same_type" constrainedElement="ActivityParameterNode">
        <ownedComment 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:id="ActivityParameterNode-no_incoming_edges" name="no_incoming_edges" constrainedElement="ActivityParameterNode">
        <ownedComment 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:id="ActivityParameterNode-no_edges" name="no_edges" constrainedElement="ActivityParameterNode">
        <ownedComment 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:id="ActivityParameterNode-_generalization.0" general="ObjectNode"/>
      <ownedAttribute xmi:id="ActivityParameterNode-parameter" name="parameter" type="Parameter" association="A_parameter_activityParameterNode">
        <ownedComment 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: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:id="ActivityPartition-represents_classifier" name="represents_classifier" constrainedElement="ActivityPartition">
        <ownedComment 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:id="ActivityPartition-represents_property_and_is_contained" name="represents_property_and_is_contained" constrainedElement="ActivityPartition">
        <ownedComment 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:id="ActivityPartition-represents_property" name="represents_property" constrainedElement="ActivityPartition">
        <ownedComment 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:id="ActivityPartition-dimension_not_contained" name="dimension_not_contained" constrainedElement="ActivityPartition">
        <ownedComment 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:id="ActivityPartition-_generalization.0" general="ActivityGroup"/>
      <ownedAttribute xmi:id="ActivityPartition-edge" name="edge" type="ActivityEdge" subsettedProperty="ActivityGroup-containedEdge" association="A_edge_inPartition">
        <ownedComment 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:id="ActivityPartition-isDimension" name="isDimension">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ActivityPartition-isDimension-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityPartition-isExternal" name="isExternal">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ActivityPartition-isExternal-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityPartition-node" name="node" type="ActivityNode" subsettedProperty="ActivityGroup-containedNode" association="A_inPartition_node">
        <ownedComment 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:id="ActivityPartition-represents" name="represents" type="Element" association="A_represents_activityPartition">
        <ownedComment 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:id="ActivityPartition-subpartition" name="subpartition" type="ActivityPartition" aggregation="composite" subsettedProperty="ActivityGroup-subgroup" association="A_subpartition_superPartition">
        <ownedComment 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:id="ActivityPartition-superPartition" name="superPartition" type="ActivityPartition" subsettedProperty="ActivityGroup-superGroup" association="A_subpartition_superPartition">
        <ownedComment 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:id="CentralBufferNode-_ownedComment.0" annotatedElement="CentralBufferNode">
        <body>A CentralBufferNode is an ObjectNode for managing flows from multiple sources and targets.</body>
      </ownedComment>
      <generalization xmi:id="CentralBufferNode-_generalization.0" general="ObjectNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ControlFlow" name="ControlFlow">
      <ownedComment 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:id="ControlFlow-object_nodes" name="object_nodes" constrainedElement="ControlFlow">
        <ownedComment 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:id="ControlFlow-_generalization.0" general="ActivityEdge"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ControlNode" name="ControlNode" isAbstract="true">
      <ownedComment xmi:id="ControlNode-_ownedComment.0" annotatedElement="ControlNode">
        <body>A ControlNode is an abstract ActivityNode that coordinates flows in an Activity.</body>
      </ownedComment>
      <generalization xmi:id="ControlNode-_generalization.0" general="ActivityNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DataStoreNode" name="DataStoreNode">
      <ownedComment xmi:id="DataStoreNode-_ownedComment.0" annotatedElement="DataStoreNode">
        <body>A DataStoreNode is a CentralBufferNode for persistent data.</body>
      </ownedComment>
      <generalization xmi:id="DataStoreNode-_generalization.0" general="CentralBufferNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DecisionNode" name="DecisionNode">
      <ownedComment 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:id="DecisionNode-zero_input_parameters" name="zero_input_parameters" constrainedElement="DecisionNode">
        <ownedComment 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:id="DecisionNode-edges" name="edges" constrainedElement="DecisionNode">
        <ownedComment 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:id="DecisionNode-decision_input_flow_incoming" name="decision_input_flow_incoming" constrainedElement="DecisionNode">
        <ownedComment 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:id="DecisionNode-two_input_parameters" name="two_input_parameters" constrainedElement="DecisionNode">
        <ownedComment 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:id="DecisionNode-incoming_outgoing_edges" name="incoming_outgoing_edges" constrainedElement="DecisionNode">
        <ownedComment 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:id="DecisionNode-incoming_control_one_input_parameter" name="incoming_control_one_input_parameter" constrainedElement="DecisionNode">
        <ownedComment 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:id="DecisionNode-parameters" name="parameters" constrainedElement="DecisionNode">
        <ownedComment 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))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DecisionNode-incoming_object_one_input_parameter" name="incoming_object_one_input_parameter" constrainedElement="DecisionNode">
        <ownedComment 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:id="DecisionNode-_generalization.0" general="ControlNode"/>
      <ownedAttribute xmi:id="DecisionNode-decisionInput" name="decisionInput" type="Behavior" association="A_decisionInput_decisionNode">
        <ownedComment 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:id="DecisionNode-decisionInputFlow" name="decisionInputFlow" type="ObjectFlow" association="A_decisionInputFlow_decisionNode">
        <ownedComment 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: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:id="ExceptionHandler-handler_body_edges" name="handler_body_edges" constrainedElement="ExceptionHandler">
        <ownedComment 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:id="ExceptionHandler-output_pins" name="output_pins" constrainedElement="ExceptionHandler">
        <ownedComment 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:id="ExceptionHandler-one_input" name="one_input" constrainedElement="ExceptionHandler">
        <ownedComment 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:id="ExceptionHandler-edge_source_target" name="edge_source_target" constrainedElement="ExceptionHandler">
        <ownedComment 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:id="ExceptionHandler-handler_body_owner" name="handler_body_owner" constrainedElement="ExceptionHandler">
        <ownedComment 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:id="ExceptionHandler-exception_input_type" name="exception_input_type" constrainedElement="ExceptionHandler">
        <ownedComment 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:id="ExceptionHandler-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="ExceptionHandler-exceptionInput" name="exceptionInput" type="ObjectNode" association="A_exceptionInput_exceptionHandler">
        <ownedComment 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:id="ExceptionHandler-exceptionType" name="exceptionType" type="Classifier" association="A_exceptionType_exceptionHandler">
        <ownedComment 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:id="ExceptionHandler-handlerBody" name="handlerBody" type="ExecutableNode" association="A_handlerBody_exceptionHandler">
        <ownedComment 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:id="ExceptionHandler-protectedNode" name="protectedNode" type="ExecutableNode" subsettedProperty="Element-owner" association="A_handler_protectedNode">
        <ownedComment 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: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:id="ExecutableNode-_generalization.0" general="ActivityNode"/>
      <ownedAttribute xmi:id="ExecutableNode-handler" name="handler" type="ExceptionHandler" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_handler_protectedNode">
        <ownedComment 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: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:id="FinalNode-no_outgoing_edges" name="no_outgoing_edges" constrainedElement="FinalNode">
        <ownedComment 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:id="FinalNode-_generalization.0" general="ControlNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="FlowFinalNode" name="FlowFinalNode">
      <ownedComment 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:id="FlowFinalNode-_generalization.0" general="FinalNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ForkNode" name="ForkNode">
      <ownedComment 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:id="ForkNode-edges" name="edges" constrainedElement="ForkNode">
        <ownedComment 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))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ForkNode-one_incoming_edge" name="one_incoming_edge" constrainedElement="ForkNode">
        <ownedComment 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:id="ForkNode-_generalization.0" general="ControlNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InitialNode" name="InitialNode">
      <ownedComment 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:id="InitialNode-no_incoming_edges" name="no_incoming_edges" constrainedElement="InitialNode">
        <ownedComment 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:id="InitialNode-control_edges" name="control_edges" constrainedElement="InitialNode">
        <ownedComment 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:id="InitialNode-_generalization.0" general="ControlNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InterruptibleActivityRegion" name="InterruptibleActivityRegion">
      <ownedComment 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:id="InterruptibleActivityRegion-interrupting_edges" name="interrupting_edges" constrainedElement="InterruptibleActivityRegion">
        <ownedComment 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:id="InterruptibleActivityRegion-_generalization.0" general="ActivityGroup"/>
      <ownedAttribute xmi:id="InterruptibleActivityRegion-interruptingEdge" name="interruptingEdge" type="ActivityEdge" association="A_interruptingEdge_interrupts">
        <ownedComment 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:id="InterruptibleActivityRegion-node" name="node" type="ActivityNode" subsettedProperty="ActivityGroup-containedNode" association="A_inInterruptibleRegion_node">
        <ownedComment 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:id="JoinNode-_ownedComment.0" annotatedElement="JoinNode">
        <body>A JoinNode is a ControlNode that synchronizes multiple flows.</body>
      </ownedComment>
      <ownedRule xmi:id="JoinNode-one_outgoing_edge" name="one_outgoing_edge" constrainedElement="JoinNode">
        <ownedComment 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:id="JoinNode-incoming_object_flow" name="incoming_object_flow" constrainedElement="JoinNode">
        <ownedComment 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:id="JoinNode-_generalization.0" general="ControlNode"/>
      <ownedAttribute xmi:id="JoinNode-isCombineDuplicate" name="isCombineDuplicate">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="JoinNode-isCombineDuplicate-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="JoinNode-joinSpec" name="joinSpec" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_joinSpec_joinNode">
        <ownedComment 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: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:id="MergeNode-one_outgoing_edge" name="one_outgoing_edge" constrainedElement="MergeNode">
        <ownedComment 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:id="MergeNode-edges" name="edges" constrainedElement="MergeNode">
        <ownedComment 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))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="MergeNode-_generalization.0" general="ControlNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ObjectFlow" name="ObjectFlow">
      <ownedComment 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:id="ObjectFlow-input_and_output_parameter" name="input_and_output_parameter" constrainedElement="ObjectFlow">
        <ownedComment 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:id="ObjectFlow-no_executable_nodes" name="no_executable_nodes" constrainedElement="ObjectFlow">
        <ownedComment 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:id="ObjectFlow-transformation_behavior" name="transformation_behavior" constrainedElement="ObjectFlow">
        <ownedComment 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:id="ObjectFlow-selection_behavior" name="selection_behavior" constrainedElement="ObjectFlow">
        <ownedComment 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:id="ObjectFlow-compatible_types" name="compatible_types" constrainedElement="ObjectFlow">
        <ownedComment 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:id="ObjectFlow-same_upper_bounds" name="same_upper_bounds" constrainedElement="ObjectFlow">
        <ownedComment 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:id="ObjectFlow-target" name="target" constrainedElement="ObjectFlow">
        <ownedComment 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:id="ObjectFlow-is_multicast_or_is_multireceive" name="is_multicast_or_is_multireceive" constrainedElement="ObjectFlow">
        <ownedComment 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:id="ObjectFlow-_generalization.0" general="ActivityEdge"/>
      <ownedAttribute xmi:id="ObjectFlow-isMulticast" name="isMulticast">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectFlow-isMulticast-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectFlow-isMultireceive" name="isMultireceive">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectFlow-isMultireceive-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectFlow-selection" name="selection" type="Behavior" association="A_selection_objectFlow">
        <ownedComment 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:id="ObjectFlow-transformation" name="transformation" type="Behavior" association="A_transformation_objectFlow">
        <ownedComment 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: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.</body>
      </ownedComment>
      <ownedRule xmi:id="ObjectNode-input_output_parameter" name="input_output_parameter" constrainedElement="ObjectNode">
        <ownedComment 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))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ObjectNode-selection_behavior" name="selection_behavior" constrainedElement="ObjectNode">
        <ownedComment 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:id="ObjectNode-object_flow_edges" name="object_flow_edges" constrainedElement="ObjectNode">
        <ownedComment 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:id="ObjectNode-_generalization.0" general="TypedElement"/>
      <generalization xmi:id="ObjectNode-_generalization.1" general="ActivityNode"/>
      <ownedAttribute xmi:id="ObjectNode-inState" name="inState" type="State" association="A_inState_objectNode">
        <ownedComment 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:id="ObjectNode-isControlType" name="isControlType">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectNode-isControlType-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectNode-ordering" name="ordering" type="ObjectNodeOrderingKind">
        <ownedComment 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:id="ObjectNode-selection" name="selection" type="Behavior" association="A_selection_objectNode">
        <ownedComment 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:id="ObjectNode-upperBound" name="upperBound" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_upperBound_objectNode">
        <ownedComment 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: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:id="Variable-_generalization.0" general="ConnectableElement"/>
      <generalization xmi:id="Variable-_generalization.1" general="MultiplicityElement"/>
      <ownedAttribute xmi:id="Variable-activityScope" name="activityScope" type="Activity" subsettedProperty="NamedElement-namespace" association="A_variable_activityScope">
        <ownedComment 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:id="Variable-scope" name="scope" type="StructuredActivityNode" subsettedProperty="NamedElement-namespace" association="A_variable_scope">
        <ownedComment 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:id="Variable-isAccessibleBy" name="isAccessibleBy" bodyCondition="Variable-isAccessibleBy-spec" isQuery="true">
        <ownedComment 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:id="Variable-isAccessibleBy-spec" name="spec" constrainedElement="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:id="Variable-isAccessibleBy-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Variable-isAccessibleBy-a" name="a" type="Action"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="ObjectNodeOrderingKind" name="ObjectNodeOrderingKind">
      <ownedComment 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:id="ObjectNodeOrderingKind-unordered" name="unordered">
        <ownedComment xmi:id="ObjectNodeOrderingKind-unordered-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-unordered">
          <body>Indicates that tokens are unordered.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ObjectNodeOrderingKind-ordered" name="ordered">
        <ownedComment xmi:id="ObjectNodeOrderingKind-ordered-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-ordered">
          <body>Indicates that tokens are ordered.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ObjectNodeOrderingKind-LIFO" name="LIFO">
        <ownedComment 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:id="ObjectNodeOrderingKind-FIFO" name="FIFO">
        <ownedComment 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" visibility="private" memberEnd="ObjectNode-selection A_selection_objectNode-objectNode">
      <ownedEnd xmi:id="A_selection_objectNode-objectNode" name="objectNode" type="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" visibility="private" memberEnd="ObjectNode-inState A_inState_objectNode-objectNode">
      <ownedEnd xmi:id="A_inState_objectNode-objectNode" name="objectNode" type="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" visibility="private" memberEnd="ObjectNode-upperBound A_upperBound_objectNode-objectNode">
      <ownedEnd xmi:id="A_upperBound_objectNode-objectNode" name="objectNode" type="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" visibility="private" memberEnd="ObjectFlow-transformation A_transformation_objectFlow-objectFlow">
      <ownedEnd xmi:id="A_transformation_objectFlow-objectFlow" name="objectFlow" type="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" visibility="private" memberEnd="ObjectFlow-selection A_selection_objectFlow-objectFlow">
      <ownedEnd xmi:id="A_selection_objectFlow-objectFlow" name="objectFlow" type="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" visibility="private" memberEnd="JoinNode-joinSpec A_joinSpec_joinNode-joinNode">
      <ownedEnd xmi:id="A_joinSpec_joinNode-joinNode" name="joinNode" type="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" visibility="private" memberEnd="InterruptibleActivityRegion-interruptingEdge ActivityEdge-interrupts"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_handler_protectedNode" name="A_handler_protectedNode" visibility="private" memberEnd="ExecutableNode-handler ExceptionHandler-protectedNode"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_handlerBody_exceptionHandler" name="A_handlerBody_exceptionHandler" visibility="private" memberEnd="ExceptionHandler-handlerBody A_handlerBody_exceptionHandler-exceptionHandler">
      <ownedEnd xmi:id="A_handlerBody_exceptionHandler-exceptionHandler" name="exceptionHandler" type="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" visibility="private" memberEnd="ExceptionHandler-exceptionType A_exceptionType_exceptionHandler-exceptionHandler">
      <ownedEnd xmi:id="A_exceptionType_exceptionHandler-exceptionHandler" name="exceptionHandler" type="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" visibility="private" memberEnd="ExceptionHandler-exceptionInput A_exceptionInput_exceptionHandler-exceptionHandler">
      <ownedEnd xmi:id="A_exceptionInput_exceptionHandler-exceptionHandler" name="exceptionHandler" type="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" visibility="private" memberEnd="DecisionNode-decisionInput A_decisionInput_decisionNode-decisionNode">
      <ownedEnd xmi:id="A_decisionInput_decisionNode-decisionNode" name="decisionNode" type="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" visibility="private" memberEnd="DecisionNode-decisionInputFlow A_decisionInputFlow_decisionNode-decisionNode">
      <ownedEnd xmi:id="A_decisionInputFlow_decisionNode-decisionNode" name="decisionNode" type="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" visibility="private" memberEnd="ActivityPartition-represents A_represents_activityPartition-activityPartition">
      <ownedEnd xmi:id="A_represents_activityPartition-activityPartition" name="activityPartition" type="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" visibility="private" memberEnd="ActivityPartition-subpartition ActivityPartition-superPartition"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_edge_inPartition" name="A_edge_inPartition" visibility="private" memberEnd="ActivityPartition-edge ActivityEdge-inPartition"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_parameter_activityParameterNode" name="A_parameter_activityParameterNode" visibility="private" memberEnd="ActivityParameterNode-parameter A_parameter_activityParameterNode-activityParameterNode">
      <ownedEnd xmi:id="A_parameter_activityParameterNode-activityParameterNode" name="activityParameterNode" type="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" visibility="private" memberEnd="ActivityNode-inInterruptibleRegion InterruptibleActivityRegion-node"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inPartition_node" name="A_inPartition_node" visibility="private" memberEnd="ActivityNode-inPartition ActivityPartition-node"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_incoming_target_node" name="A_incoming_target_node" visibility="private" memberEnd="ActivityNode-incoming ActivityEdge-target"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_node" name="A_outgoing_source_node" visibility="private" memberEnd="ActivityNode-outgoing ActivityEdge-source"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedNode_activityNode" name="A_redefinedNode_activityNode" visibility="private" memberEnd="ActivityNode-redefinedNode A_redefinedNode_activityNode-activityNode">
      <ownedEnd xmi:id="A_redefinedNode_activityNode-activityNode" name="activityNode" type="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" visibility="private" isDerived="true" memberEnd="ActivityGroup-containedEdge ActivityEdge-inGroup"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_containedNode_inGroup" name="A_containedNode_inGroup" visibility="private" isDerived="true" memberEnd="ActivityGroup-containedNode ActivityNode-inGroup"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_subgroup_superGroup" name="A_subgroup_superGroup" visibility="private" isDerived="true" memberEnd="ActivityGroup-subgroup ActivityGroup-superGroup"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedEdge_activityEdge" name="A_redefinedEdge_activityEdge" visibility="private" memberEnd="ActivityEdge-redefinedEdge A_redefinedEdge_activityEdge-activityEdge">
      <ownedEnd xmi:id="A_redefinedEdge_activityEdge-activityEdge" name="activityEdge" type="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" visibility="private" memberEnd="ActivityEdge-weight A_weight_activityEdge-activityEdge">
      <ownedEnd xmi:id="A_weight_activityEdge-activityEdge" name="activityEdge" type="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" visibility="private" memberEnd="ActivityEdge-guard A_guard_activityEdge-activityEdge">
      <ownedEnd xmi:id="A_guard_activityEdge-activityEdge" name="activityEdge" type="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" visibility="private" memberEnd="Activity-structuredNode StructuredActivityNode-activity A_structuredNode_activity-activity">
      <ownedEnd xmi:id="A_structuredNode_activity-activity" name="activity" visibility="private" type="Activity" association="A_structuredNode_activity">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuredNode_activity-activity-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_group_inActivity" name="A_group_inActivity" visibility="private" memberEnd="Activity-group ActivityGroup-inActivity"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_node_activity" name="A_node_activity" visibility="private" memberEnd="Activity-node ActivityNode-activity"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_variable_activityScope" name="A_variable_activityScope" visibility="private" memberEnd="Activity-variable Variable-activityScope"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_edge_activity" name="A_edge_activity" visibility="private" memberEnd="Activity-edge ActivityEdge-activity"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_partition_activity" name="A_partition_activity" visibility="private" memberEnd="Activity-partition A_partition_activity-activity">
      <ownedEnd xmi:id="A_partition_activity-activity" name="activity" type="Activity" subsettedProperty="ActivityGroup-inActivity" association="A_partition_activity">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_partition_activity-activity-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Substitution" name="Substitution">
      <ownedComment 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:id="Substitution-_generalization.0" general="Realization"/>
      <ownedAttribute xmi:id="Substitution-contract" name="contract" type="Classifier" subsettedProperty="Dependency-supplier" association="A_contract_substitution">
        <ownedComment xmi:id="Substitution-contract-_ownedComment.0" annotatedElement="Substitution-contract">
          <body>The contract with which the substituting classifier complies.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Substitution-substitutingClassifier" name="substitutingClassifier" type="Classifier" subsettedProperty="Dependency-client Element-owner" association="A_substitution_substitutingClassifier">
        <ownedComment 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: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:id="BehavioralFeature-abstract_no_method" name="abstract_no_method" constrainedElement="BehavioralFeature">
        <ownedComment 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:id="BehavioralFeature-_generalization.0" general="Feature"/>
      <generalization xmi:id="BehavioralFeature-_generalization.1" general="Namespace"/>
      <ownedAttribute xmi:id="BehavioralFeature-concurrency" name="concurrency" type="CallConcurrencyKind">
        <ownedComment 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:id="BehavioralFeature-isAbstract" name="isAbstract">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="BehavioralFeature-isAbstract-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="BehavioralFeature-method" name="method" type="Behavior" association="A_method_specification">
        <ownedComment 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:id="BehavioralFeature-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameter_ownerFormalParam">
        <ownedComment 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:id="BehavioralFeature-ownedParameterSet" name="ownedParameterSet" type="ParameterSet" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameterSet_behavioralFeature">
        <ownedComment 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:id="BehavioralFeature-raisedException" name="raisedException" type="Type" association="A_raisedException_behavioralFeature">
        <ownedComment 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:id="BehavioralFeature-createReturnResult" name="createReturnResult">
        <ownedComment xmi:id="BehavioralFeature-createReturnResult-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult">
          <body>Creates a return result parameter with the specified name and type.</body>
        </ownedComment>
        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-_ownedParameter.0" type="Parameter" direction="return"/>
        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-name" name="name" effect="read">
          <ownedComment xmi:id="BehavioralFeature-createReturnResult-name-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult-name">
            <body>The name for the new return result, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-createReturnResult-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-createReturnResult-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="BehavioralFeature-createReturnResult-type-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult-type">
            <body>The type for the new return result, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-createReturnResult-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-createReturnResult-type-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="BehavioralFeature-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="BehavioralFeature-isDistinguishableFrom-spec" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
        <ownedComment xmi:id="BehavioralFeature-isDistinguishableFrom-_ownedComment.0" annotatedElement="BehavioralFeature-isDistinguishableFrom">
          <body>The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they must have different signatures.</body>
        </ownedComment>
        <ownedRule xmi:id="BehavioralFeature-isDistinguishableFrom-spec" name="spec" constrainedElement="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:id="BehavioralFeature-isDistinguishableFrom-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="BehavioralFeature-isDistinguishableFrom-n" name="n" type="NamedElement"/>
        <ownedParameter xmi:id="BehavioralFeature-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
      </ownedOperation>
      <ownedOperation xmi:id="BehavioralFeature-inputParameters" name="inputParameters" bodyCondition="BehavioralFeature-inputParameters-spec" isQuery="true">
        <ownedComment xmi:id="BehavioralFeature-inputParameters-_ownedComment.0" annotatedElement="BehavioralFeature-inputParameters">
          <body>The ownedParameters with direction in and inout.</body>
        </ownedComment>
        <ownedRule xmi:id="BehavioralFeature-inputParameters-spec" name="spec" constrainedElement="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: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:id="BehavioralFeature-outputParameters" name="outputParameters" bodyCondition="BehavioralFeature-outputParameters-spec" isQuery="true">
        <ownedComment xmi:id="BehavioralFeature-outputParameters-_ownedComment.0" annotatedElement="BehavioralFeature-outputParameters">
          <body>The ownedParameters with direction out, inout, or return.</body>
        </ownedComment>
        <ownedRule xmi:id="BehavioralFeature-outputParameters-spec" name="spec" constrainedElement="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: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:id="Classifier-_ownedComment.0" annotatedElement="Classifier">
        <body>A Classifier represents a classification of instances according to their Features.</body>
      </ownedComment>
      <ownedRule xmi:id="Classifier-specialize_type" name="specialize_type" constrainedElement="Classifier">
        <ownedComment 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:id="Classifier-maps_to_generalization_set" name="maps_to_generalization_set" constrainedElement="Classifier">
        <ownedComment 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:id="Classifier-non_final_parents" name="non_final_parents" constrainedElement="Classifier">
        <ownedComment 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:id="Classifier-no_cycles_in_generalization" name="no_cycles_in_generalization" constrainedElement="Classifier">
        <ownedComment 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:id="Classifier-_generalization.0" general="Namespace"/>
      <generalization xmi:id="Classifier-_generalization.1" general="Type"/>
      <generalization xmi:id="Classifier-_generalization.2" general="TemplateableElement"/>
      <generalization xmi:id="Classifier-_generalization.3" general="RedefinableElement"/>
      <ownedAttribute 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: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:id="Classifier-collaborationUse" name="collaborationUse" type="CollaborationUse" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_collaborationUse_classifier">
        <ownedComment 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:id="Classifier-feature" name="feature" type="Feature" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Namespace-member" association="A_feature_featuringClassifier">
        <ownedComment 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:id="Classifier-general" name="general" type="Classifier" isDerived="true" association="A_general_classifier">
        <ownedComment 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:id="Classifier-generalization" name="generalization" type="Generalization" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_generalization_specific">
        <ownedComment 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:id="Classifier-inheritedMember" name="inheritedMember" type="NamedElement" isReadOnly="true" isDerived="true" subsettedProperty="Namespace-member" association="A_inheritedMember_inheritingClassifier">
        <ownedComment 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:id="Classifier-isAbstract" name="isAbstract">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Classifier-isAbstract-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-isFinalSpecialization" name="isFinalSpecialization">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Classifier-isFinalSpecialization-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-ownedTemplateSignature" name="ownedTemplateSignature" type="RedefinableTemplateSignature" aggregation="composite" redefinedProperty="TemplateableElement-ownedTemplateSignature" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_ownedTemplateSignature_classifier">
        <ownedComment 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:id="Classifier-ownedUseCase" name="ownedUseCase" type="UseCase" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedUseCase_classifier">
        <ownedComment 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:id="Classifier-powertypeExtent" name="powertypeExtent" type="GeneralizationSet" association="A_powertypeExtent_powertype">
        <ownedComment 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:id="Classifier-redefinedClassifier" name="redefinedClassifier" type="Classifier" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedClassifier_classifier">
        <ownedComment 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:id="Classifier-representation" name="representation" type="CollaborationUse" subsettedProperty="Classifier-collaborationUse" association="A_representation_classifier">
        <ownedComment 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:id="Classifier-substitution" name="substitution" type="Substitution" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_substitution_substitutingClassifier">
        <ownedComment 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:id="Classifier-templateParameter" name="templateParameter" type="ClassifierTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_classifier_templateParameter_parameteredElement">
        <ownedComment 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:id="Classifier-useCase" name="useCase" type="UseCase" association="A_subject_useCase">
        <ownedComment 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:id="Classifier-getAllAttributes" name="getAllAttributes" isQuery="true">
        <ownedComment xmi:id="Classifier-getAllAttributes-_ownedComment.0" annotatedElement="Classifier-getAllAttributes">
          <body>Retrieves all the attributes of this classifier, including those inherited from its parents.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getAllAttributes-_ownedParameter.0" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllAttributes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllAttributes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getAllOperations" name="getAllOperations" isQuery="true">
        <ownedComment xmi:id="Classifier-getAllOperations-_ownedComment.0" annotatedElement="Classifier-getAllOperations">
          <body>Retrieves all the operations of this classifier, including those inherited from its parents.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getAllOperations-_ownedParameter.0" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllOperations-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllOperations-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getAllUsedInterfaces" name="getAllUsedInterfaces">
        <ownedComment xmi:id="Classifier-getAllUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-getAllUsedInterfaces">
          <body>Retrieves all the interfaces on which this classifier or any of its parents has a usage dependency.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getOperation" name="getOperation" isQuery="true">
        <ownedComment xmi:id="Classifier-getOperation-_ownedComment.0" annotatedElement="Classifier-getOperation">
          <body>Retrieves the first operation with the specified name, parameter names, and parameter types from this classifier.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getOperation-_ownedParameter.0" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation-name" name="name" effect="read">
          <ownedComment xmi:id="Classifier-getOperation-name-_ownedComment.0" annotatedElement="Classifier-getOperation-name">
            <body>The name of the operation to retrieve, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation-parameterNames" name="parameterNames" isOrdered="true" effect="read">
          <ownedComment xmi:id="Classifier-getOperation-parameterNames-_ownedComment.0" annotatedElement="Classifier-getOperation-parameterNames">
            <body>The parameter names of the operation to retrieve, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation-parameterTypes" name="parameterTypes" type="Type" isOrdered="true" isUnique="false" effect="read">
          <ownedComment xmi:id="Classifier-getOperation-parameterTypes-_ownedComment.0" annotatedElement="Classifier-getOperation-parameterTypes">
            <body>The parameter types of the operation to retrieve, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getOperation.1" name="getOperation" isQuery="true">
        <ownedComment xmi:id="Classifier-getOperation.1-_ownedComment.0" annotatedElement="Classifier-getOperation.1">
          <body>Retrieves the first operation with the specified name, parameter names, and parameter types from this classifier, ignoring case if indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getOperation.1-_ownedParameter.0" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation.1-name" name="name" effect="read">
          <ownedComment xmi:id="Classifier-getOperation.1-name-_ownedComment.0" annotatedElement="Classifier-getOperation.1-name">
            <body>The name of the operation to retrieve, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation.1-parameterNames" name="parameterNames" isOrdered="true" effect="read">
          <ownedComment xmi:id="Classifier-getOperation.1-parameterNames-_ownedComment.0" annotatedElement="Classifier-getOperation.1-parameterNames">
            <body>The parameter names of the operation to retrieve, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation.1-parameterTypes" name="parameterTypes" type="Type" isOrdered="true" isUnique="false" effect="read">
          <ownedComment xmi:id="Classifier-getOperation.1-parameterTypes-_ownedComment.0" annotatedElement="Classifier-getOperation.1-parameterTypes">
            <body>The parameter types of the operation to retrieve, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation.1-ignoreCase" name="ignoreCase" effect="read">
          <ownedComment xmi:id="Classifier-getOperation.1-ignoreCase-_ownedComment.0" annotatedElement="Classifier-getOperation.1-ignoreCase">
            <body>Whether to ignore case in String comparisons.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getOperations" name="getOperations" isQuery="true">
        <ownedComment xmi:id="Classifier-getOperations-_ownedComment.0" annotatedElement="Classifier-getOperations">
          <body>Retrieves the operations of this classifier.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getOperations-_ownedParameter.0" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperations-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperations-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getUsedInterfaces" name="getUsedInterfaces">
        <ownedComment xmi:id="Classifier-getUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-getUsedInterfaces">
          <body>Retrieves the interfaces on which this classifier has a usage dependency.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-allFeatures" name="allFeatures" bodyCondition="Classifier-allFeatures-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-allFeatures-_ownedComment.0" annotatedElement="Classifier-allFeatures">
          <body>The query allFeatures() gives all of the Features in the namespace of the Classifier. In general, through mechanisms such as inheritance, this will be a larger set than feature.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-allFeatures-spec" name="spec" constrainedElement="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: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:id="Classifier-allParents" name="allParents" bodyCondition="Classifier-allParents-spec" isQuery="true">
        <ownedComment 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:id="Classifier-allParents-spec" name="spec" constrainedElement="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: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:id="Classifier-conformsTo" name="conformsTo" bodyCondition="Classifier-conformsTo-spec" isQuery="true" redefinedOperation="Type-conformsTo">
        <ownedComment 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:id="Classifier-conformsTo-spec" name="spec" constrainedElement="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:id="Classifier-conformsTo-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-conformsTo-other" name="other" type="Type"/>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-general.1" name="general" visibility="protected" bodyCondition="Classifier-general.1-spec" isQuery="true">
        <ownedComment 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:id="Classifier-general.1-spec" name="spec" constrainedElement="Classifier-general.1 Classifier-general">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-general.1-spec-_specification">
            <language>OCL</language>
            <body>result = (parents())</body>
          </specification>
        </ownedRule>
        <ownedParameter 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:id="Classifier-hasVisibilityOf" name="hasVisibilityOf" bodyCondition="Classifier-hasVisibilityOf-spec" isQuery="true" precondition="Classifier-hasVisibilityOf-pre">
        <ownedComment 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:id="Classifier-hasVisibilityOf-pre" name="pre" constrainedElement="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:id="Classifier-hasVisibilityOf-spec" name="spec" constrainedElement="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:id="Classifier-hasVisibilityOf-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-hasVisibilityOf-n" name="n" type="NamedElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-inherit" name="inherit" bodyCondition="Classifier-inherit-spec" isQuery="true">
        <ownedComment 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:id="Classifier-inherit-spec" name="spec" constrainedElement="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: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: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:id="Classifier-inheritableMembers" name="inheritableMembers" bodyCondition="Classifier-inheritableMembers-spec" isQuery="true" precondition="Classifier-inheritableMembers-pre">
        <ownedComment 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:id="Classifier-inheritableMembers-pre" name="pre" constrainedElement="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:id="Classifier-inheritableMembers-spec" name="spec" constrainedElement="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: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:id="Classifier-inheritableMembers-c" name="c" type="Classifier"/>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-inheritedMember.1" name="inheritedMember" visibility="protected" bodyCondition="Classifier-inheritedMember.1-spec" isQuery="true">
        <ownedComment 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:id="Classifier-inheritedMember.1-spec" name="spec" constrainedElement="Classifier-inheritedMember.1 Classifier-inheritedMember">
          <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: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:id="Classifier-isTemplate" name="isTemplate" bodyCondition="Classifier-isTemplate-spec" isQuery="true" redefinedOperation="TemplateableElement-isTemplate">
        <ownedComment 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:id="Classifier-isTemplate-spec" name="spec" constrainedElement="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:id="Classifier-isTemplate-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-maySpecializeType" name="maySpecializeType" bodyCondition="Classifier-maySpecializeType-spec" isQuery="true">
        <ownedComment 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:id="Classifier-maySpecializeType-spec" name="spec" constrainedElement="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:id="Classifier-maySpecializeType-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-maySpecializeType-c" name="c" type="Classifier"/>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-parents" name="parents" bodyCondition="Classifier-parents-spec" isQuery="true">
        <ownedComment 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:id="Classifier-parents-spec" name="spec" constrainedElement="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: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:id="Classifier-directlyRealizedInterfaces" name="directlyRealizedInterfaces" bodyCondition="Classifier-directlyRealizedInterfaces-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-directlyRealizedInterfaces-_ownedComment.0" annotatedElement="Classifier-directlyRealizedInterfaces">
          <body>The Interfaces directly realized by this Classifier</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-directlyRealizedInterfaces-spec" name="spec" constrainedElement="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: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:id="Classifier-directlyUsedInterfaces" name="directlyUsedInterfaces" bodyCondition="Classifier-directlyUsedInterfaces-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-directlyUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-directlyUsedInterfaces">
          <body>The Interfaces directly used by this Classifier</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-directlyUsedInterfaces-spec" name="spec" constrainedElement="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: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:id="Classifier-allRealizedInterfaces" name="allRealizedInterfaces" bodyCondition="Classifier-allRealizedInterfaces-spec" isQuery="true">
        <ownedComment 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:id="Classifier-allRealizedInterfaces-spec" name="spec" constrainedElement="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: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:id="Classifier-allUsedInterfaces" name="allUsedInterfaces" bodyCondition="Classifier-allUsedInterfaces-spec" isQuery="true">
        <ownedComment 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:id="Classifier-allUsedInterfaces-spec" name="spec" constrainedElement="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: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:id="Classifier-isSubstitutableFor" name="isSubstitutableFor" bodyCondition="Classifier-isSubstitutableFor-spec" isQuery="true">
        <ownedRule xmi:id="Classifier-isSubstitutableFor-spec" name="spec" constrainedElement="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:id="Classifier-isSubstitutableFor-contract" name="contract" type="Classifier"/>
        <ownedParameter xmi:id="Classifier-isSubstitutableFor-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-allAttributes" name="allAttributes" bodyCondition="Classifier-allAttributes-spec" isQuery="true">
        <ownedComment 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:id="Classifier-allAttributes-spec" name="spec" constrainedElement="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: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:id="Classifier-allSlottableFeatures" name="allSlottableFeatures" bodyCondition="Classifier-allSlottableFeatures-spec" isQuery="true">
        <ownedComment 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:id="Classifier-allSlottableFeatures-spec" name="spec" constrainedElement="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: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:id="ClassifierTemplateParameter-_ownedComment.0" annotatedElement="ClassifierTemplateParameter">
        <body>A ClassifierTemplateParameter exposes a Classifier as a formal template parameter.</body>
      </ownedComment>
      <ownedRule xmi:id="ClassifierTemplateParameter-has_constraining_classifier" name="has_constraining_classifier" constrainedElement="ClassifierTemplateParameter">
        <ownedComment 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:id="ClassifierTemplateParameter-parametered_element_no_features" name="parametered_element_no_features" constrainedElement="ClassifierTemplateParameter">
        <ownedComment 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:id="ClassifierTemplateParameter-matching_abstract" name="matching_abstract" constrainedElement="ClassifierTemplateParameter">
        <ownedComment 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:id="ClassifierTemplateParameter-actual_is_classifier" name="actual_is_classifier" constrainedElement="ClassifierTemplateParameter">
        <ownedComment 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:id="ClassifierTemplateParameter-constraining_classifiers_constrain_args" name="constraining_classifiers_constrain_args" constrainedElement="ClassifierTemplateParameter">
        <ownedComment 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:id="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element" name="constraining_classifiers_constrain_parametered_element" constrainedElement="ClassifierTemplateParameter">
        <ownedComment 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;
)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ClassifierTemplateParameter-_generalization.0" general="TemplateParameter"/>
      <ownedAttribute xmi:id="ClassifierTemplateParameter-allowSubstitutable" name="allowSubstitutable">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ClassifierTemplateParameter-allowSubstitutable-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ClassifierTemplateParameter-constrainingClassifier" name="constrainingClassifier" type="Classifier" association="A_constrainingClassifier_classifierTemplateParameter">
        <ownedComment 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:id="ClassifierTemplateParameter-parameteredElement" name="parameteredElement" type="Classifier" redefinedProperty="TemplateParameter-parameteredElement" association="A_classifier_templateParameter_parameteredElement">
        <ownedComment 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:id="Feature-_ownedComment.0" annotatedElement="Feature">
        <body>A Feature declares a behavioral or structural characteristic of Classifiers.</body>
      </ownedComment>
      <generalization xmi:id="Feature-_generalization.0" general="RedefinableElement"/>
      <ownedAttribute 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: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"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Feature-featuringClassifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Feature-isStatic" name="isStatic">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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: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:id="Generalization-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="Generalization-general" name="general" type="Classifier" subsettedProperty="DirectedRelationship-target" association="A_general_generalization">
        <ownedComment xmi:id="Generalization-general-_ownedComment.0" annotatedElement="Generalization-general">
          <body>The general classifier in the Generalization relationship.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Generalization-generalizationSet" name="generalizationSet" type="GeneralizationSet" association="A_generalizationSet_generalization">
        <ownedComment 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:id="Generalization-isSubstitutable" name="isSubstitutable">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="Generalization-specific" name="specific" type="Classifier" subsettedProperty="DirectedRelationship-source Element-owner" association="A_generalization_specific">
        <ownedComment 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:id="GeneralizationSet-_ownedComment.0" annotatedElement="GeneralizationSet">
        <body>A GeneralizationSet is a PackageableElement whose instances represent sets of Generalization relationships.</body>
      </ownedComment>
      <ownedRule xmi:id="GeneralizationSet-generalization_same_classifier" name="generalization_same_classifier" constrainedElement="GeneralizationSet">
        <ownedComment 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:id="GeneralizationSet-maps_to_generalization_set" name="maps_to_generalization_set" constrainedElement="GeneralizationSet">
        <ownedComment 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:id="GeneralizationSet-_generalization.0" general="PackageableElement"/>
      <ownedAttribute xmi:id="GeneralizationSet-generalization" name="generalization" type="Generalization" association="A_generalizationSet_generalization">
        <ownedComment 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:id="GeneralizationSet-isCovering" name="isCovering">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="GeneralizationSet-isCovering-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="GeneralizationSet-isDisjoint" name="isDisjoint">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="GeneralizationSet-isDisjoint-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="GeneralizationSet-powertype" name="powertype" type="Classifier" association="A_powertypeExtent_powertype">
        <ownedComment 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: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:id="InstanceSpecification-deployment_artifact" name="deployment_artifact" constrainedElement="InstanceSpecification">
        <ownedComment 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:id="InstanceSpecification-structural_feature" name="structural_feature" constrainedElement="InstanceSpecification">
        <ownedComment 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:id="InstanceSpecification-defining_feature" name="defining_feature" constrainedElement="InstanceSpecification">
        <ownedComment 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:id="InstanceSpecification-deployment_target" name="deployment_target" constrainedElement="InstanceSpecification">
        <ownedComment 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:id="InstanceSpecification-_generalization.0" general="DeploymentTarget"/>
      <generalization xmi:id="InstanceSpecification-_generalization.1" general="PackageableElement"/>
      <generalization xmi:id="InstanceSpecification-_generalization.2" general="DeployedArtifact"/>
      <ownedAttribute xmi:id="InstanceSpecification-classifier" name="classifier" type="Classifier" association="A_classifier_instanceSpecification">
        <ownedComment 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:id="InstanceSpecification-slot" name="slot" type="Slot" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_slot_owningInstance">
        <ownedComment 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:id="InstanceSpecification-specification" name="specification" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_specification_owningInstanceSpec">
        <ownedComment 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:id="InstanceValue-_ownedComment.0" annotatedElement="InstanceValue">
        <body>An InstanceValue is a ValueSpecification that identifies an instance.</body>
      </ownedComment>
      <generalization xmi:id="InstanceValue-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="InstanceValue-instance" name="instance" type="InstanceSpecification" association="A_instance_instanceValue">
        <ownedComment xmi:id="InstanceValue-instance-_ownedComment.0" annotatedElement="InstanceValue-instance">
          <body>The InstanceSpecification that represents the specified value.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="InstanceValue-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="InstanceValue-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Operation" name="Operation">
      <ownedComment 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:id="Operation-at_most_one_return" name="at_most_one_return" constrainedElement="Operation">
        <ownedComment 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:id="Operation-only_body_for_query" name="only_body_for_query" constrainedElement="Operation">
        <ownedComment 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:id="Operation-_generalization.0" general="TemplateableElement"/>
      <generalization xmi:id="Operation-_generalization.1" general="ParameterableElement"/>
      <generalization xmi:id="Operation-_generalization.2" general="BehavioralFeature"/>
      <ownedAttribute xmi:id="Operation-bodyCondition" name="bodyCondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_bodyCondition_bodyContext">
        <ownedComment 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:id="Operation-class" name="class" type="Class" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_class">
        <ownedComment 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:id="Operation-datatype" name="datatype" type="DataType" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_datatype">
        <ownedComment 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:id="Operation-interface" name="interface" type="Interface" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_interface">
        <ownedComment 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:id="Operation-isOrdered" name="isOrdered" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-isQuery" name="isQuery">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Operation-isQuery-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-isUnique" name="isUnique" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Operation-isUnique-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-lower" name="lower" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-lower-_lowerValue"/>
        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="Operation-lower-_defaultValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" redefinedProperty="BehavioralFeature-ownedParameter" association="A_ownedParameter_operation">
        <ownedComment 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:id="Operation-postcondition" name="postcondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postcondition_postContext">
        <ownedComment 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:id="Operation-precondition" name="precondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_precondition_preContext">
        <ownedComment 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:id="Operation-raisedException" name="raisedException" type="Type" redefinedProperty="BehavioralFeature-raisedException" association="A_raisedException_operation">
        <ownedComment 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:id="Operation-redefinedOperation" name="redefinedOperation" type="Operation" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedOperation_operation">
        <ownedComment 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:id="Operation-templateParameter" name="templateParameter" type="OperationTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_operation_templateParameter_parameteredElement">
        <ownedComment 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:id="Operation-type" name="type" type="Type" isReadOnly="true" isDerived="true" association="A_type_operation">
        <ownedComment 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:id="Operation-upper" name="upper" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-upper-_lowerValue"/>
        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-upper-_defaultValue" value="1"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Operation-getReturnResult" name="getReturnResult">
        <ownedComment xmi:id="Operation-getReturnResult-_ownedComment.0" annotatedElement="Operation-getReturnResult">
          <body>Retrieves the (only) return result parameter for this operation.</body>
        </ownedComment>
        <ownedParameter xmi:id="Operation-getReturnResult-_ownedParameter.0" type="Parameter" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-getReturnResult-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-getReturnResult-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setIsOrdered" name="setIsOrdered">
        <ownedParameter xmi:id="Operation-setIsOrdered-newIsOrdered" name="newIsOrdered" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setIsUnique" name="setIsUnique">
        <ownedParameter xmi:id="Operation-setIsUnique-newIsUnique" name="newIsUnique" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setLower" name="setLower">
        <ownedParameter xmi:id="Operation-setLower-newLower" name="newLower" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setType" name="setType">
        <ownedParameter xmi:id="Operation-setType-newType" name="newType" type="Type" effect="read"/>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setUpper" name="setUpper">
        <ownedParameter xmi:id="Operation-setUpper-newUpper" name="newUpper" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-isConsistentWith" name="isConsistentWith" bodyCondition="Operation-isConsistentWith-spec" isQuery="true" precondition="Operation-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment 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:id="Operation-isConsistentWith-spec" name="spec" constrainedElement="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:id="Operation-isConsistentWith-pre" name="pre" constrainedElement="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:id="Operation-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Operation-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-isOrdered.1" name="isOrdered" bodyCondition="Operation-isOrdered.1-spec" isQuery="true">
        <ownedComment 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:id="Operation-isOrdered.1-spec" name="spec" constrainedElement="Operation-isOrdered.1 Operation-isOrdered">
          <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:id="Operation-isOrdered.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-isUnique.1" name="isUnique" bodyCondition="Operation-isUnique.1-spec" isQuery="true">
        <ownedComment 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:id="Operation-isUnique.1-spec" name="spec" constrainedElement="Operation-isUnique.1 Operation-isUnique">
          <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:id="Operation-isUnique.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-lower.1" name="lower" visibility="protected" bodyCondition="Operation-lower.1-spec" isQuery="true">
        <ownedComment 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:id="Operation-lower.1-spec" name="spec" constrainedElement="Operation-lower.1 Operation-lower">
          <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:id="Operation-lower.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-returnResult" name="returnResult" bodyCondition="Operation-returnResult-spec" isQuery="true">
        <ownedComment 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:id="Operation-returnResult-spec" name="spec" constrainedElement="Operation-returnResult">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-returnResult-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedParameter->select (direction = ParameterDirectionKind::return)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter 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:id="Operation-type.1" name="type" visibility="protected" bodyCondition="Operation-type.1-spec" isQuery="true">
        <ownedComment 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:id="Operation-type.1-spec" name="spec" constrainedElement="Operation-type.1 Operation-type">
          <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:id="Operation-type.1-result" name="result" type="Type" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-upper.1" name="upper" visibility="protected" bodyCondition="Operation-upper.1-spec" isQuery="true">
        <ownedComment 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:id="Operation-upper.1-spec" name="spec" constrainedElement="Operation-upper.1 Operation-upper">
          <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:id="Operation-upper.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OperationTemplateParameter" name="OperationTemplateParameter">
      <ownedComment xmi:id="OperationTemplateParameter-_ownedComment.0" annotatedElement="OperationTemplateParameter">
        <body>An OperationTemplateParameter exposes an Operation as a formal parameter for a template.</body>
      </ownedComment>
      <ownedRule xmi:id="OperationTemplateParameter-match_default_signature" name="match_default_signature" constrainedElement="OperationTemplateParameter">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="OperationTemplateParameter-match_default_signature-_specification">
          <ownedComment 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:id="OperationTemplateParameter-_generalization.0" general="TemplateParameter"/>
      <ownedAttribute xmi:id="OperationTemplateParameter-parameteredElement" name="parameteredElement" type="Operation" redefinedProperty="TemplateParameter-parameteredElement" association="A_operation_templateParameter_parameteredElement">
        <ownedComment 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: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:id="Parameter-in_and_out" name="in_and_out" constrainedElement="Parameter">
        <ownedComment 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:id="Parameter-not_exception" name="not_exception" constrainedElement="Parameter">
        <ownedComment 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:id="Parameter-connector_end" name="connector_end" constrainedElement="Parameter">
        <ownedComment 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:id="Parameter-reentrant_behaviors" name="reentrant_behaviors" constrainedElement="Parameter">
        <ownedComment 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:id="Parameter-stream_and_exception" name="stream_and_exception" constrainedElement="Parameter">
        <ownedComment 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:id="Parameter-object_effect" name="object_effect" constrainedElement="Parameter">
        <ownedComment 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:id="Parameter-_generalization.0" general="MultiplicityElement"/>
      <generalization xmi:id="Parameter-_generalization.1" general="ConnectableElement"/>
      <ownedAttribute xmi:id="Parameter-default" name="default" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-default-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-defaultValue" name="defaultValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_defaultValue_owningParameter">
        <ownedComment 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:id="Parameter-direction" name="direction" type="ParameterDirectionKind">
        <ownedComment 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:id="Parameter-effect" name="effect" type="ParameterEffectKind">
        <ownedComment 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:id="Parameter-isException" name="isException">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Parameter-isException-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-isStream" name="isStream">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Parameter-isStream-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-operation" name="operation" type="Operation" subsettedProperty="A_ownedParameter_ownerFormalParam-ownerFormalParam NamedElement-namespace" association="A_ownedParameter_operation">
        <ownedComment 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:id="Parameter-parameterSet" name="parameterSet" type="ParameterSet" association="A_parameterSet_parameter">
        <ownedComment 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:id="Parameter-isSetDefault" name="isSetDefault" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="Parameter-isSetDefault-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setBooleanDefaultValue" name="setBooleanDefaultValue">
        <ownedComment xmi:id="Parameter-setBooleanDefaultValue-_ownedComment.0" annotatedElement="Parameter-setBooleanDefaultValue">
          <body>Sets the default value for this parameter to the specified Boolean value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setBooleanDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setBooleanDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setBooleanDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setDefault" name="setDefault" visibility="protected">
        <ownedParameter xmi:id="Parameter-setDefault-newDefault" name="newDefault" visibility="protected" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setIntegerDefaultValue" name="setIntegerDefaultValue">
        <ownedComment xmi:id="Parameter-setIntegerDefaultValue-_ownedComment.0" annotatedElement="Parameter-setIntegerDefaultValue">
          <body>Sets the default value for this parameter to the specified integer value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setIntegerDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setIntegerDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setIntegerDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setNullDefaultValue" name="setNullDefaultValue">
        <ownedComment xmi:id="Parameter-setNullDefaultValue-_ownedComment.0" annotatedElement="Parameter-setNullDefaultValue">
          <body>Sets the default value for this parameter to the null value.</body>
        </ownedComment>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setRealDefaultValue" name="setRealDefaultValue">
        <ownedComment xmi:id="Parameter-setRealDefaultValue-_ownedComment.0" annotatedElement="Parameter-setRealDefaultValue">
          <body>Sets the default value for this parameter to the specified real value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setRealDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setRealDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setRealDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setStringDefaultValue" name="setStringDefaultValue">
        <ownedComment xmi:id="Parameter-setStringDefaultValue-_ownedComment.0" annotatedElement="Parameter-setStringDefaultValue">
          <body>Sets the default value for this parameter to the specified string value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setStringDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setStringDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setStringDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setUnlimitedNaturalDefaultValue" name="setUnlimitedNaturalDefaultValue">
        <ownedComment xmi:id="Parameter-setUnlimitedNaturalDefaultValue-_ownedComment.0" annotatedElement="Parameter-setUnlimitedNaturalDefaultValue">
          <body>Sets the default value for this parameter to the specified unlimited natural value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setUnlimitedNaturalDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setUnlimitedNaturalDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setUnlimitedNaturalDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-unsetDefault" name="unsetDefault" visibility="protected"/>
      <ownedOperation xmi:id="Parameter-default.1" name="default" visibility="protected" bodyCondition="Parameter-default.1-spec" isQuery="true">
        <ownedComment xmi:id="Parameter-default.1-_ownedComment.0" annotatedElement="Parameter-default.1">
          <body>Derivation for Parameter::/default</body>
        </ownedComment>
        <ownedRule xmi:id="Parameter-default.1-spec" name="spec" constrainedElement="Parameter-default.1 Parameter-default">
          <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:id="Parameter-default.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-default.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Parameter-default.1-result-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ParameterSet" name="ParameterSet">
      <ownedComment 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:id="ParameterSet-same_parameterized_entity" name="same_parameterized_entity" constrainedElement="ParameterSet">
        <ownedComment 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:id="ParameterSet-input" name="input" constrainedElement="ParameterSet">
        <ownedComment 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))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ParameterSet-two_parameter_sets" name="two_parameter_sets" constrainedElement="ParameterSet">
        <ownedComment 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:id="ParameterSet-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="ParameterSet-condition" name="condition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_condition_parameterSet">
        <ownedComment 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:id="ParameterSet-parameter" name="parameter" type="Parameter" association="A_parameterSet_parameter">
        <ownedComment 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: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:id="Property-subsetting_context_conforms" name="subsetting_context_conforms" constrainedElement="Property">
        <ownedComment 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:id="Property-derived_union_is_read_only" name="derived_union_is_read_only" constrainedElement="Property">
        <ownedComment 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:id="Property-multiplicity_of_composite" name="multiplicity_of_composite" constrainedElement="Property">
        <ownedComment 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</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-redefined_property_inherited" name="redefined_property_inherited" constrainedElement="Property">
        <ownedComment 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:id="Property-subsetting_rules" name="subsetting_rules" constrainedElement="Property">
        <ownedComment 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:id="Property-binding_to_attribute" name="binding_to_attribute" constrainedElement="Property">
        <ownedComment 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:id="Property-derived_union_is_derived" name="derived_union_is_derived" constrainedElement="Property">
        <ownedComment 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:id="Property-deployment_target" name="deployment_target" constrainedElement="Property">
        <ownedComment 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:id="Property-subsetted_property_names" name="subsetted_property_names" constrainedElement="Property">
        <ownedComment 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:id="Property-type_of_opposite_end" name="type_of_opposite_end" constrainedElement="Property">
        <ownedComment 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:id="Property-qualified_is_association_end" name="qualified_is_association_end" constrainedElement="Property">
        <ownedComment 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:id="Property-_generalization.0" general="ConnectableElement"/>
      <generalization xmi:id="Property-_generalization.1" general="DeploymentTarget"/>
      <generalization xmi:id="Property-_generalization.2" general="StructuralFeature"/>
      <ownedAttribute xmi:id="Property-default" name="default" visibility="protected" isDerived="true">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-default-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-aggregation" name="aggregation" type="AggregationKind">
        <ownedComment 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:id="Property-association" name="association" type="Association" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_memberEnd_association">
        <ownedComment 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:id="Property-associationEnd" name="associationEnd" type="Property" subsettedProperty="Element-owner" association="A_qualifier_associationEnd">
        <ownedComment 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:id="Property-class" name="class" type="Class" subsettedProperty="A_attribute_classifier-classifier A_ownedAttribute_structuredClassifier-structuredClassifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_class">
        <ownedComment xmi:id="Property-class-_ownedComment.0" annotatedElement="Property-class">
          <body>The Class that owns this Property, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-class-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-datatype" name="datatype" type="DataType" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_datatype">
        <ownedComment xmi:id="Property-datatype-_ownedComment.0" annotatedElement="Property-datatype">
          <body>The DataType that owns this Property, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-datatype-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-defaultValue" name="defaultValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_defaultValue_owningProperty">
        <ownedComment 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:id="Property-interface" name="interface" type="Interface" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_interface">
        <ownedComment xmi:id="Property-interface-_ownedComment.0" annotatedElement="Property-interface">
          <body>The Interface that owns this Property, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-interface-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-isComposite" name="isComposite" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isComposite-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-isDerived" name="isDerived">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isDerived-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-isDerivedUnion" name="isDerivedUnion">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isDerivedUnion-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-isID" name="isID">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isID-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-opposite" name="opposite" type="Property" isDerived="true" association="A_opposite_property">
        <ownedComment 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:id="Property-owningAssociation" name="owningAssociation" type="Association" subsettedProperty="Feature-featuringClassifier NamedElement-namespace Property-association RedefinableElement-redefinitionContext" association="A_ownedEnd_owningAssociation">
        <ownedComment 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:id="Property-qualifier" name="qualifier" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_qualifier_associationEnd">
        <ownedComment 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:id="Property-redefinedProperty" name="redefinedProperty" type="Property" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedProperty_property">
        <ownedComment 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:id="Property-subsettedProperty" name="subsettedProperty" type="Property" association="A_subsettedProperty_property">
        <ownedComment 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:id="Property-getDefault" name="getDefault" isQuery="true">
        <ownedComment xmi:id="Property-getDefault-_ownedComment.0" annotatedElement="Property-getDefault">
          <body>Retrieves a string representation of the default value for this property.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-getDefault-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-getDefault-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-getDefault-result-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-getOtherEnd" name="getOtherEnd">
        <ownedComment xmi:id="Property-getOtherEnd-_ownedComment.0" annotatedElement="Property-getOtherEnd">
          <body>Retrieves the other end of the (binary) association in which this property is a member end.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-getOtherEnd-_ownedParameter.0" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-getOtherEnd-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-getOtherEnd-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isSetDefault" name="isSetDefault" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="Property-isSetDefault-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setBooleanDefaultValue" name="setBooleanDefaultValue">
        <ownedComment xmi:id="Property-setBooleanDefaultValue-_ownedComment.0" annotatedElement="Property-setBooleanDefaultValue">
          <body>Sets the default value for this property to the specified Boolean value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setBooleanDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setBooleanDefaultValue-value-_ownedComment.0" annotatedElement="Property-setBooleanDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setDefault" name="setDefault">
        <ownedComment xmi:id="Property-setDefault-_ownedComment.0" annotatedElement="Property-setDefault">
          <body>Sets the default value for this property based on the specified string representation.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setDefault-newDefault" name="newDefault" effect="read">
          <ownedComment xmi:id="Property-setDefault-newDefault-_ownedComment.0" annotatedElement="Property-setDefault-newDefault">
            <body>A string repesentation of the new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setIntegerDefaultValue" name="setIntegerDefaultValue">
        <ownedComment xmi:id="Property-setIntegerDefaultValue-_ownedComment.0" annotatedElement="Property-setIntegerDefaultValue">
          <body>Sets the default value for this property to the specified integer value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setIntegerDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setIntegerDefaultValue-value-_ownedComment.0" annotatedElement="Property-setIntegerDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setIsComposite" name="setIsComposite" visibility="protected">
        <ownedParameter xmi:id="Property-setIsComposite-newIsComposite" name="newIsComposite" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setIsNavigable" name="setIsNavigable">
        <ownedComment xmi:id="Property-setIsNavigable-_ownedComment.0" annotatedElement="Property-setIsNavigable">
          <body>Sets the navigability of this property as indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setIsNavigable-isNavigable" name="isNavigable" effect="read">
          <ownedComment xmi:id="Property-setIsNavigable-isNavigable-_ownedComment.0" annotatedElement="Property-setIsNavigable-isNavigable">
            <body>The new navigability.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setNullDefaultValue" name="setNullDefaultValue">
        <ownedComment xmi:id="Property-setNullDefaultValue-_ownedComment.0" annotatedElement="Property-setNullDefaultValue">
          <body>Sets the default value for this property to the null value.</body>
        </ownedComment>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setOpposite" name="setOpposite" visibility="protected">
        <ownedParameter xmi:id="Property-setOpposite-newOpposite" name="newOpposite" visibility="protected" type="Property" effect="read"/>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setRealDefaultValue" name="setRealDefaultValue">
        <ownedComment xmi:id="Property-setRealDefaultValue-_ownedComment.0" annotatedElement="Property-setRealDefaultValue">
          <body>Sets the default value for this property to the specified real value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setRealDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setRealDefaultValue-value-_ownedComment.0" annotatedElement="Property-setRealDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setStringDefaultValue" name="setStringDefaultValue">
        <ownedComment xmi:id="Property-setStringDefaultValue-_ownedComment.0" annotatedElement="Property-setStringDefaultValue">
          <body>Sets the default value for this property to the specified string value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setStringDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setStringDefaultValue-value-_ownedComment.0" annotatedElement="Property-setStringDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setUnlimitedNaturalDefaultValue" name="setUnlimitedNaturalDefaultValue">
        <ownedComment xmi:id="Property-setUnlimitedNaturalDefaultValue-_ownedComment.0" annotatedElement="Property-setUnlimitedNaturalDefaultValue">
          <body>Sets the default value for this property to the specified unlimited natural value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setUnlimitedNaturalDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setUnlimitedNaturalDefaultValue-value-_ownedComment.0" annotatedElement="Property-setUnlimitedNaturalDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-unsetDefault" name="unsetDefault" visibility="protected"/>
      <ownedOperation xmi:id="Property-isAttribute" name="isAttribute" bodyCondition="Property-isAttribute-spec" isQuery="true">
        <ownedComment 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:id="Property-isAttribute-spec" name="spec" constrainedElement="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:id="Property-isAttribute-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isCompatibleWith" name="isCompatibleWith" bodyCondition="Property-isCompatibleWith-spec" isQuery="true" redefinedOperation="ParameterableElement-isCompatibleWith">
        <ownedComment 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:id="Property-isCompatibleWith-spec" name="spec" constrainedElement="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:id="Property-isCompatibleWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Property-isCompatibleWith-p" name="p" type="ParameterableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isComposite.1" name="isComposite" bodyCondition="Property-isComposite.1-spec" isQuery="true">
        <ownedComment 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:id="Property-isComposite.1-spec" name="spec" constrainedElement="Property-isComposite.1 Property-isComposite">
          <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:id="Property-isComposite.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isConsistentWith" name="isConsistentWith" bodyCondition="Property-isConsistentWith-spec" isQuery="true" precondition="Property-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment 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:id="Property-isConsistentWith-pre" name="pre" constrainedElement="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:id="Property-isConsistentWith-spec" name="spec" constrainedElement="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:id="Property-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Property-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isNavigable" name="isNavigable" bodyCondition="Property-isNavigable-spec" isQuery="true">
        <ownedComment 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:id="Property-isNavigable-spec" name="spec" constrainedElement="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:id="Property-isNavigable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-opposite.1" name="opposite" visibility="protected" bodyCondition="Property-opposite.1-spec" isQuery="true">
        <ownedComment 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:id="Property-opposite.1-spec" name="spec" constrainedElement="Property-opposite.1 Property-opposite">
          <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:id="Property-opposite.1-result" name="result" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-opposite.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-subsettingContext" name="subsettingContext" bodyCondition="Property-subsettingContext-spec" isQuery="true">
        <ownedComment 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:id="Property-subsettingContext-spec" name="spec" constrainedElement="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: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: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:id="RedefinableElement-redefinition_consistent" name="redefinition_consistent" constrainedElement="RedefinableElement">
        <ownedComment 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:id="RedefinableElement-non_leaf_redefinition" name="non_leaf_redefinition" constrainedElement="RedefinableElement">
        <ownedComment 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:id="RedefinableElement-redefinition_context_valid" name="redefinition_context_valid" constrainedElement="RedefinableElement">
        <ownedComment 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:id="RedefinableElement-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="RedefinableElement-isLeaf" name="isLeaf">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RedefinableElement-isLeaf-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="RedefinableElement-redefinedElement" name="redefinedElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_redefinedElement_redefinableElement">
        <ownedComment 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:id="RedefinableElement-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_redefinitionContext_redefinableElement">
        <ownedComment 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:id="RedefinableElement-isConsistentWith" name="isConsistentWith" bodyCondition="RedefinableElement-isConsistentWith-spec" isQuery="true" precondition="RedefinableElement-isConsistentWith-pre">
        <ownedComment 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:id="RedefinableElement-isConsistentWith-spec" name="spec" constrainedElement="RedefinableElement-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="RedefinableElement-isConsistentWith-pre" name="pre" constrainedElement="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:id="RedefinableElement-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="RedefinableElement-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="RedefinableElement-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="RedefinableElement-isRedefinitionContextValid-spec" isQuery="true">
        <ownedComment 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:id="RedefinableElement-isRedefinitionContextValid-spec" name="spec" constrainedElement="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:id="RedefinableElement-isRedefinitionContextValid-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="RedefinableElement-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="RedefinableTemplateSignature" name="RedefinableTemplateSignature">
      <ownedComment 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:id="RedefinableTemplateSignature-redefines_parents" name="redefines_parents" constrainedElement="RedefinableTemplateSignature">
        <ownedComment 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:id="RedefinableTemplateSignature-_generalization.0" general="RedefinableElement"/>
      <generalization xmi:id="RedefinableTemplateSignature-_generalization.1" general="TemplateSignature"/>
      <ownedAttribute xmi:id="RedefinableTemplateSignature-classifier" name="classifier" type="Classifier" redefinedProperty="TemplateSignature-template" subsettedProperty="RedefinableElement-redefinitionContext" association="A_ownedTemplateSignature_classifier">
        <ownedComment xmi:id="RedefinableTemplateSignature-classifier-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-classifier">
          <body>The Classifier that owns this RedefinableTemplateSignature.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="RedefinableTemplateSignature-extendedSignature" name="extendedSignature" type="RedefinableTemplateSignature" subsettedProperty="RedefinableElement-redefinedElement" association="A_extendedSignature_redefinableTemplateSignature">
        <ownedComment 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:id="RedefinableTemplateSignature-inheritedParameter" name="inheritedParameter" type="TemplateParameter" isReadOnly="true" isDerived="true" subsettedProperty="TemplateSignature-parameter" association="A_inheritedParameter_redefinableTemplateSignature">
        <ownedComment 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:id="RedefinableTemplateSignature-inheritedParameter.1" name="inheritedParameter" visibility="protected" bodyCondition="RedefinableTemplateSignature-inheritedParameter.1-spec" isQuery="true">
        <ownedComment xmi:id="RedefinableTemplateSignature-inheritedParameter.1-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-inheritedParameter.1">
          <body>Derivation for RedefinableTemplateSignature::/inheritedParameter</body>
        </ownedComment>
        <ownedRule xmi:id="RedefinableTemplateSignature-inheritedParameter.1-spec" name="spec" constrainedElement="RedefinableTemplateSignature-inheritedParameter.1 RedefinableTemplateSignature-inheritedParameter">
          <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: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:id="RedefinableTemplateSignature-isConsistentWith" name="isConsistentWith" bodyCondition="RedefinableTemplateSignature-isConsistentWith-spec" isQuery="true" precondition="RedefinableTemplateSignature-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment 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:id="RedefinableTemplateSignature-isConsistentWith-spec" name="spec" constrainedElement="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:id="RedefinableTemplateSignature-isConsistentWith-pre" name="pre" constrainedElement="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:id="RedefinableTemplateSignature-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="RedefinableTemplateSignature-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Slot" name="Slot">
      <ownedComment 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:id="Slot-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Slot-definingFeature" name="definingFeature" type="StructuralFeature" association="A_definingFeature_slot">
        <ownedComment 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:id="Slot-owningInstance" name="owningInstance" type="InstanceSpecification" subsettedProperty="Element-owner" association="A_slot_owningInstance">
        <ownedComment xmi:id="Slot-owningInstance-_ownedComment.0" annotatedElement="Slot-owningInstance">
          <body>The InstanceSpecification that owns this Slot.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Slot-value" name="value" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_owningSlot">
        <ownedComment 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: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:id="StructuralFeature-_generalization.0" general="MultiplicityElement"/>
      <generalization xmi:id="StructuralFeature-_generalization.1" general="TypedElement"/>
      <generalization xmi:id="StructuralFeature-_generalization.2" general="Feature"/>
      <ownedAttribute xmi:id="StructuralFeature-isReadOnly" name="isReadOnly">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="StructuralFeature-isReadOnly-_defaultValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="AggregationKind" name="AggregationKind" visibility="private">
      <ownedComment xmi:id="AggregationKind-_ownedComment.0" annotatedElement="AggregationKind">
        <body>AggregationKind is an Enumeration for specifying the kind of aggregation of a Property.</body>
      </ownedComment>
      <ownedLiteral xmi:id="AggregationKind-none" name="none">
        <ownedComment xmi:id="AggregationKind-none-_ownedComment.0" annotatedElement="AggregationKind-none">
          <body>Indicates that the Property has no aggregation.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="AggregationKind-shared" name="shared">
        <ownedComment xmi:id="AggregationKind-shared-_ownedComment.0" annotatedElement="AggregationKind-shared">
          <body>Indicates that the Property has shared aggregation.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="AggregationKind-composite" name="composite">
        <ownedComment 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: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:id="CallConcurrencyKind-sequential" name="sequential">
        <ownedComment 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:id="CallConcurrencyKind-guarded" name="guarded">
        <ownedComment 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:id="CallConcurrencyKind-concurrent" name="concurrent">
        <ownedComment 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:id="ParameterDirectionKind-_ownedComment.0" annotatedElement="ParameterDirectionKind">
        <body>ParameterDirectionKind is an Enumeration that defines literals used to specify direction of parameters.</body>
      </ownedComment>
      <ownedLiteral xmi:id="ParameterDirectionKind-in" name="in">
        <ownedComment 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:id="ParameterDirectionKind-inout" name="inout">
        <ownedComment 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:id="ParameterDirectionKind-out" name="out">
        <ownedComment 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:id="ParameterDirectionKind-return" name="return">
        <ownedComment 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" visibility="private">
      <ownedComment 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:id="ParameterEffectKind-create" name="create">
        <ownedComment xmi:id="ParameterEffectKind-create-_ownedComment.0" annotatedElement="ParameterEffectKind-create">
          <body>Indicates that the behavior creates values.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ParameterEffectKind-read" name="read">
        <ownedComment 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:id="ParameterEffectKind-update" name="update">
        <ownedComment 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:id="ParameterEffectKind-delete" name="delete">
        <ownedComment 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" visibility="private" memberEnd="Slot-definingFeature A_definingFeature_slot-slot">
      <ownedEnd xmi:id="A_definingFeature_slot-slot" name="slot" type="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" visibility="private" memberEnd="Slot-value A_value_owningSlot-owningSlot">
      <ownedEnd xmi:id="A_value_owningSlot-owningSlot" name="owningSlot" type="Slot" 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" visibility="private" memberEnd="RedefinableTemplateSignature-extendedSignature A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature">
      <ownedEnd xmi:id="A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature" name="redefinableTemplateSignature" type="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" visibility="private" isDerived="true" memberEnd="RedefinableTemplateSignature-inheritedParameter A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature">
      <ownedEnd xmi:id="A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature" name="redefinableTemplateSignature" type="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" visibility="private" isDerived="true" memberEnd="RedefinableElement-redefinitionContext A_redefinitionContext_redefinableElement-redefinableElement">
      <ownedEnd xmi:id="A_redefinitionContext_redefinableElement-redefinableElement" name="redefinableElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" isDerived="true" memberEnd="RedefinableElement-redefinedElement A_redefinedElement_redefinableElement-redefinableElement">
      <ownedEnd xmi:id="A_redefinedElement_redefinableElement-redefinableElement" name="redefinableElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" memberEnd="Property-qualifier Property-associationEnd"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedProperty_property" name="A_redefinedProperty_property" visibility="private" memberEnd="Property-redefinedProperty A_redefinedProperty_property-property">
      <ownedEnd xmi:id="A_redefinedProperty_property-property" name="property" type="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" visibility="private" memberEnd="Property-defaultValue A_defaultValue_owningProperty-owningProperty">
      <ownedEnd xmi:id="A_defaultValue_owningProperty-owningProperty" name="owningProperty" type="Property" 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" visibility="private" isDerived="true" memberEnd="Property-opposite A_opposite_property-property">
      <ownedEnd xmi:id="A_opposite_property-property" name="property" type="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" visibility="private" memberEnd="Property-subsettedProperty A_subsettedProperty_property-property">
      <ownedEnd xmi:id="A_subsettedProperty_property-property" name="property" type="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" visibility="private" memberEnd="ParameterSet-condition A_condition_parameterSet-parameterSet">
      <ownedEnd xmi:id="A_condition_parameterSet-parameterSet" name="parameterSet" type="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" visibility="private" memberEnd="Parameter-parameterSet ParameterSet-parameter"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_defaultValue_owningParameter" name="A_defaultValue_owningParameter" visibility="private" memberEnd="Parameter-defaultValue A_defaultValue_owningParameter-owningParameter">
      <ownedEnd xmi:id="A_defaultValue_owningParameter-owningParameter" name="owningParameter" type="Parameter" 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" visibility="private" isDerived="true" memberEnd="Operation-type A_type_operation-operation">
      <ownedEnd xmi:id="A_type_operation-operation" name="operation" 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" visibility="private" memberEnd="Operation-templateParameter OperationTemplateParameter-parameteredElement"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_bodyCondition_bodyContext" name="A_bodyCondition_bodyContext" visibility="private" memberEnd="Operation-bodyCondition A_bodyCondition_bodyContext-bodyContext">
      <ownedEnd xmi:id="A_bodyCondition_bodyContext-bodyContext" name="bodyContext" type="Operation" 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" visibility="private" memberEnd="Operation-postcondition A_postcondition_postContext-postContext">
      <ownedEnd xmi:id="A_postcondition_postContext-postContext" name="postContext" type="Operation" 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" visibility="private" memberEnd="Operation-redefinedOperation A_redefinedOperation_operation-operation">
      <ownedEnd xmi:id="A_redefinedOperation_operation-operation" name="operation" type="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" visibility="private" memberEnd="Operation-raisedException A_raisedException_operation-operation">
      <ownedEnd xmi:id="A_raisedException_operation-operation" name="operation" type="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" visibility="private" memberEnd="Operation-precondition A_precondition_preContext-preContext">
      <ownedEnd xmi:id="A_precondition_preContext-preContext" name="preContext" type="Operation" 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" visibility="private" memberEnd="Operation-ownedParameter Parameter-operation"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_instance_instanceValue" name="A_instance_instanceValue" visibility="private" memberEnd="InstanceValue-instance A_instance_instanceValue-instanceValue">
      <ownedEnd xmi:id="A_instance_instanceValue-instanceValue" name="instanceValue" type="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" visibility="private" memberEnd="InstanceSpecification-classifier A_classifier_instanceSpecification-instanceSpecification">
      <ownedEnd xmi:id="A_classifier_instanceSpecification-instanceSpecification" name="instanceSpecification" type="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" visibility="private" memberEnd="InstanceSpecification-slot Slot-owningInstance"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_specification_owningInstanceSpec" name="A_specification_owningInstanceSpec" visibility="private" memberEnd="InstanceSpecification-specification A_specification_owningInstanceSpec-owningInstanceSpec">
      <ownedEnd xmi:id="A_specification_owningInstanceSpec-owningInstanceSpec" name="owningInstanceSpec" type="InstanceSpecification" 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" visibility="private" memberEnd="Generalization-generalizationSet GeneralizationSet-generalization"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_general_generalization" name="A_general_generalization" visibility="private" memberEnd="Generalization-general A_general_generalization-generalization">
      <ownedEnd xmi:id="A_general_generalization-generalization" name="generalization" type="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" visibility="private" memberEnd="ClassifierTemplateParameter-constrainingClassifier A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter">
      <ownedEnd xmi:id="A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter" name="classifierTemplateParameter" type="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" visibility="private" memberEnd="Classifier-templateParameter ClassifierTemplateParameter-parameteredElement"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_powertypeExtent_powertype" name="A_powertypeExtent_powertype" visibility="private" memberEnd="Classifier-powertypeExtent GeneralizationSet-powertype"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_generalization_specific" name="A_generalization_specific" visibility="private" memberEnd="Classifier-generalization Generalization-specific"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_general_classifier" name="A_general_classifier" visibility="private" isDerived="true" memberEnd="Classifier-general A_general_classifier-classifier">
      <ownedEnd xmi:id="A_general_classifier-classifier" name="classifier" type="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" visibility="private" isDerived="true" memberEnd="Classifier-feature Feature-featuringClassifier"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_substitution_substitutingClassifier" name="A_substitution_substitutingClassifier" visibility="private" memberEnd="Classifier-substitution Substitution-substitutingClassifier"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_representation_classifier" name="A_representation_classifier" visibility="private" memberEnd="Classifier-representation A_representation_classifier-classifier">
      <generalization xmi:id="A_representation_classifier-_generalization.0" general="A_collaborationUse_classifier"/>
      <ownedEnd xmi:id="A_representation_classifier-classifier" name="classifier" type="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" visibility="private" memberEnd="Classifier-ownedTemplateSignature RedefinableTemplateSignature-classifier"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inheritedMember_inheritingClassifier" name="A_inheritedMember_inheritingClassifier" visibility="private" isDerived="true" memberEnd="Classifier-inheritedMember A_inheritedMember_inheritingClassifier-inheritingClassifier">
      <ownedEnd xmi:id="A_inheritedMember_inheritingClassifier-inheritingClassifier" name="inheritingClassifier" type="Classifier" 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" visibility="private" memberEnd="Classifier-redefinedClassifier A_redefinedClassifier_classifier-classifier">
      <ownedEnd xmi:id="A_redefinedClassifier_classifier-classifier" name="classifier" type="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" visibility="private" memberEnd="Classifier-collaborationUse A_collaborationUse_classifier-classifier">
      <ownedEnd xmi:id="A_collaborationUse_classifier-classifier" name="classifier" type="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" visibility="private" isDerived="true" memberEnd="Classifier-attribute A_attribute_classifier-classifier">
      <ownedEnd xmi:id="A_attribute_classifier-classifier" name="classifier" type="Classifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" memberEnd="Classifier-ownedUseCase A_ownedUseCase_classifier-classifier">
      <ownedEnd xmi:id="A_ownedUseCase_classifier-classifier" name="classifier" type="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" visibility="private" memberEnd="BehavioralFeature-ownedParameter A_ownedParameter_ownerFormalParam-ownerFormalParam">
      <ownedEnd xmi:id="A_ownedParameter_ownerFormalParam-ownerFormalParam" name="ownerFormalParam" type="BehavioralFeature" 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" visibility="private" memberEnd="BehavioralFeature-raisedException A_raisedException_behavioralFeature-behavioralFeature">
      <ownedEnd xmi:id="A_raisedException_behavioralFeature-behavioralFeature" name="behavioralFeature" type="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" visibility="private" memberEnd="BehavioralFeature-ownedParameterSet A_ownedParameterSet_behavioralFeature-behavioralFeature">
      <ownedEnd xmi:id="A_ownedParameterSet_behavioralFeature-behavioralFeature" name="behavioralFeature" type="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" visibility="private" memberEnd="BehavioralFeature-method Behavior-specification"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_contract_substitution" name="A_contract_substitution" visibility="private" memberEnd="Substitution-contract A_contract_substitution-substitution">
      <ownedEnd xmi:id="A_contract_substitution-substitution" name="substitution" type="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 xmi:type="uml:Class" xmi:id="AnyReceiveEvent" name="AnyReceiveEvent">
      <ownedComment 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:id="AnyReceiveEvent-_generalization.0" general="MessageEvent"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Behavior" name="Behavior" isAbstract="true">
      <ownedComment 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:id="Behavior-most_one_behavior" name="most_one_behavior" constrainedElement="Behavior">
        <ownedComment 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:id="Behavior-parameters_match" name="parameters_match" constrainedElement="Behavior">
        <ownedComment 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:id="Behavior-feature_of_context_classifier" name="feature_of_context_classifier" constrainedElement="Behavior">
        <ownedComment 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:id="Behavior-_generalization.0" general="Class"/>
      <ownedAttribute xmi:id="Behavior-context" name="context" type="BehavioredClassifier" isReadOnly="true" isDerived="true" subsettedProperty="RedefinableElement-redefinitionContext" association="A_context_behavior">
        <ownedComment 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:id="Behavior-isReentrant" name="isReentrant">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-isReentrant-_lowerValue"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Behavior-isReentrant-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Behavior-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameter_behavior">
        <ownedComment 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:id="Behavior-ownedParameterSet" name="ownedParameterSet" type="ParameterSet" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameterSet_behavior">
        <ownedComment 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:id="Behavior-postcondition" name="postcondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postcondition_behavior">
        <ownedComment 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:id="Behavior-precondition" name="precondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_precondition_behavior">
        <ownedComment 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:id="Behavior-specification" name="specification" type="BehavioralFeature" association="A_method_specification">
        <ownedComment 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:id="Behavior-redefinedBehavior" name="redefinedBehavior" type="Behavior" subsettedProperty="Classifier-redefinedClassifier" association="A_redefinedBehavior_behavior">
        <ownedComment 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:id="Behavior-context.1" name="context" visibility="protected" bodyCondition="Behavior-context.1-spec" isQuery="true">
        <ownedComment 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:id="Behavior-context.1-spec" name="spec" constrainedElement="Behavior-context.1 Behavior-context">
          <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:id="Behavior-context.1-result" name="result" type="BehavioredClassifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-context.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-context.1-result-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Behavior-behavioredClassifier" name="behavioredClassifier" isQuery="true" precondition="Behavior-behavioredClassifier-spec">
        <ownedComment 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:id="Behavior-behavioredClassifier-spec" name="spec" constrainedElement="Behavior-behavioredClassifier">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-behavioredClassifier-spec-_specification">
            <language>OCL</language>
            <body>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</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Behavior-behavioredClassifier-from" name="from" type="Element"/>
        <ownedParameter 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:id="Behavior-inputParameters" name="inputParameters" bodyCondition="Behavior-inputParameters-spec" isQuery="true">
        <ownedComment xmi:id="Behavior-inputParameters-_ownedComment.0" annotatedElement="Behavior-inputParameters">
          <body>The in and inout ownedParameters of the Behavior.</body>
        </ownedComment>
        <ownedRule xmi:id="Behavior-inputParameters-spec" name="spec" constrainedElement="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: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:id="Behavior-outputParameters" name="outputParameters" bodyCondition="Behavior-outputParameters-spec" isQuery="true">
        <ownedComment xmi:id="Behavior-outputParameters-_ownedComment.0" annotatedElement="Behavior-outputParameters">
          <body>The out, inout and return ownedParameters.</body>
        </ownedComment>
        <ownedRule xmi:id="Behavior-outputParameters-spec" name="spec" constrainedElement="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: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: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:id="CallEvent-_generalization.0" general="MessageEvent"/>
      <ownedAttribute xmi:id="CallEvent-operation" name="operation" type="Operation" association="A_operation_callEvent">
        <ownedComment 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: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:id="ChangeEvent-_generalization.0" general="Event"/>
      <ownedAttribute xmi:id="ChangeEvent-changeExpression" name="changeExpression" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_changeExpression_changeEvent">
        <ownedComment 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: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:id="Event-_generalization.0" general="PackageableElement"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="FunctionBehavior" name="FunctionBehavior">
      <ownedComment 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:id="FunctionBehavior-one_output_parameter" name="one_output_parameter" constrainedElement="FunctionBehavior">
        <ownedComment 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:id="FunctionBehavior-types_of_parameters" name="types_of_parameters" constrainedElement="FunctionBehavior">
        <ownedComment 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:id="FunctionBehavior-_generalization.0" general="OpaqueBehavior"/>
      <ownedOperation xmi:id="FunctionBehavior-hasAllDataTypeAttributes" name="hasAllDataTypeAttributes" bodyCondition="FunctionBehavior-hasAllDataTypeAttributes-spec" isQuery="true">
        <ownedComment 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:id="FunctionBehavior-hasAllDataTypeAttributes-spec" name="spec" constrainedElement="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:id="FunctionBehavior-hasAllDataTypeAttributes-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter 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: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:id="MessageEvent-_generalization.0" general="Event"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OpaqueBehavior" name="OpaqueBehavior">
      <ownedComment 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:id="OpaqueBehavior-_generalization.0" general="Behavior"/>
      <ownedAttribute xmi:id="OpaqueBehavior-body" name="body" isOrdered="true" isUnique="false">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="OpaqueBehavior-language" name="language" isOrdered="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="SignalEvent-_ownedComment.0" annotatedElement="SignalEvent">
        <body>A SignalEvent represents the receipt of an asynchronous Signal instance.</body>
      </ownedComment>
      <generalization xmi:id="SignalEvent-_generalization.0" general="MessageEvent"/>
      <ownedAttribute xmi:id="SignalEvent-signal" name="signal" type="Signal" association="A_signal_signalEvent">
        <ownedComment 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:id="TimeEvent-_ownedComment.0" annotatedElement="TimeEvent">
        <body>A TimeEvent is an Event that occurs at a specific point in time.</body>
      </ownedComment>
      <ownedRule xmi:id="TimeEvent-when_non_negative" name="when_non_negative" constrainedElement="TimeEvent">
        <ownedComment 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:id="TimeEvent-_generalization.0" general="Event"/>
      <ownedAttribute xmi:id="TimeEvent-isRelative" name="isRelative">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="TimeEvent-isRelative-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TimeEvent-when" name="when" type="TimeExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_when_timeEvent">
        <ownedComment 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: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:id="Trigger-trigger_with_ports" name="trigger_with_ports" constrainedElement="Trigger">
        <ownedComment 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:id="Trigger-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Trigger-event" name="event" type="Event" association="A_event_trigger">
        <ownedComment xmi:id="Trigger-event-_ownedComment.0" annotatedElement="Trigger-event">
          <body>The Event that detected by the Trigger.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Trigger-port" name="port" type="Port" association="A_port_trigger">
        <ownedComment 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" visibility="private" memberEnd="Trigger-event A_event_trigger-trigger">
      <ownedEnd xmi:id="A_event_trigger-trigger" name="trigger" type="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" visibility="private" memberEnd="Trigger-port A_port_trigger-trigger">
      <ownedEnd xmi:id="A_port_trigger-trigger" name="trigger" type="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" visibility="private" memberEnd="TimeEvent-when A_when_timeEvent-timeEvent">
      <ownedEnd xmi:id="A_when_timeEvent-timeEvent" name="timeEvent" type="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" visibility="private" memberEnd="SignalEvent-signal A_signal_signalEvent-signalEvent">
      <ownedEnd xmi:id="A_signal_signalEvent-signalEvent" name="signalEvent" type="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" visibility="private" memberEnd="ChangeEvent-changeExpression A_changeExpression_changeEvent-changeEvent">
      <ownedEnd xmi:id="A_changeExpression_changeEvent-changeEvent" name="changeEvent" type="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" visibility="private" memberEnd="CallEvent-operation A_operation_callEvent-callEvent">
      <ownedEnd xmi:id="A_operation_callEvent-callEvent" name="callEvent" type="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" visibility="private" memberEnd="Behavior-ownedParameterSet A_ownedParameterSet_behavior-behavior">
      <ownedEnd xmi:id="A_ownedParameterSet_behavior-behavior" name="behavior" type="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" visibility="private" isDerived="true" memberEnd="Behavior-context A_context_behavior-behavior">
      <ownedEnd xmi:id="A_context_behavior-behavior" name="behavior" type="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" visibility="private" memberEnd="Behavior-precondition A_precondition_behavior-behavior">
      <ownedEnd xmi:id="A_precondition_behavior-behavior" name="behavior" type="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" visibility="private" memberEnd="Behavior-postcondition A_postcondition_behavior-behavior">
      <ownedEnd xmi:id="A_postcondition_behavior-behavior" name="behavior" type="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" visibility="private" memberEnd="Behavior-redefinedBehavior A_redefinedBehavior_behavior-behavior">
      <ownedEnd xmi:id="A_redefinedBehavior_behavior-behavior" name="behavior" type="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" visibility="private" memberEnd="Behavior-ownedParameter A_ownedParameter_behavior-behavior">
      <ownedEnd xmi:id="A_ownedParameter_behavior-behavior" name="behavior" type="Behavior" subsettedProperty="NamedElement-namespace" association="A_ownedParameter_behavior">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameter_behavior-behavior-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Abstraction" name="Abstraction">
      <ownedComment 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:id="Abstraction-_generalization.0" general="Dependency"/>
      <ownedAttribute xmi:id="Abstraction-mapping" name="mapping" type="OpaqueExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_mapping_abstraction">
        <ownedComment 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: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:id="Comment-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Comment-annotatedElement" name="annotatedElement" type="Element" association="A_annotatedElement_comment">
        <ownedComment 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:id="Comment-body" name="body">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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: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:id="Constraint-boolean_value" name="boolean_value" constrainedElement="Constraint">
        <ownedComment 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:id="Constraint-no_side_effects" name="no_side_effects" constrainedElement="Constraint">
        <ownedComment 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:id="Constraint-not_apply_to_self" name="not_apply_to_self" constrainedElement="Constraint">
        <ownedComment 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:id="Constraint-_generalization.0" general="PackageableElement"/>
      <ownedAttribute xmi:id="Constraint-constrainedElement" name="constrainedElement" type="Element" isOrdered="true" association="A_constrainedElement_constraint">
        <ownedComment 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:id="Constraint-context" name="context" type="Namespace" subsettedProperty="NamedElement-namespace" association="A_ownedRule_context">
        <ownedComment 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:id="Constraint-specification" name="specification" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_specification_owningConstraint">
        <ownedComment 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: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:id="Dependency-_generalization.0" general="DirectedRelationship"/>
      <generalization xmi:id="Dependency-_generalization.1" general="PackageableElement"/>
      <ownedAttribute xmi:id="Dependency-client" name="client" type="NamedElement" subsettedProperty="DirectedRelationship-source" association="A_clientDependency_client">
        <ownedComment 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:id="Dependency-supplier" name="supplier" type="NamedElement" subsettedProperty="DirectedRelationship-target" association="A_supplier_supplierDependency">
        <ownedComment 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: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:id="DirectedRelationship-_generalization.0" general="Relationship"/>
      <ownedAttribute xmi:id="DirectedRelationship-source" name="source" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Relationship-relatedElement" association="A_source_directedRelationship">
        <ownedComment 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:id="DirectedRelationship-target" name="target" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Relationship-relatedElement" association="A_target_directedRelationship">
        <ownedComment 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: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:id="Element-has_owner" name="has_owner" constrainedElement="Element">
        <ownedComment 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:id="Element-not_own_self" name="not_own_self" constrainedElement="Element">
        <ownedComment 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>
      <generalization xmi:id="Element-_generalization.0">
        <general xmi:type="uml:Class" href="Ecore.metamodel.uml#EModelElement"/>
      </generalization>
      <ownedAttribute xmi:id="Element-ownedComment" name="ownedComment" type="Comment" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_ownedComment_owningElement">
        <ownedComment xmi:id="Element-ownedComment-_ownedComment.0" annotatedElement="Element-ownedComment">
          <body>The Comments owned by this Element.</body>
        </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:id="Element-ownedElement" name="ownedElement" type="Element" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" association="A_ownedElement_owner">
        <ownedComment 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:id="Element-owner" name="owner" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_ownedElement_owner">
        <ownedComment 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:id="Element-addKeyword" name="addKeyword">
        <ownedComment xmi:id="Element-addKeyword-_ownedComment.0" annotatedElement="Element-addKeyword">
          <body>Adds the specified keyword to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-addKeyword-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-addKeyword-keyword" name="keyword" effect="read">
          <ownedComment xmi:id="Element-addKeyword-keyword-_ownedComment.0" annotatedElement="Element-addKeyword-keyword">
            <body>The keyword to add.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-applyStereotype" name="applyStereotype">
        <ownedComment xmi:id="Element-applyStereotype-_ownedComment.0" annotatedElement="Element-applyStereotype">
          <body>Applies the specified stereotype to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-applyStereotype-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-applyStereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-applyStereotype-stereotype-_ownedComment.0" annotatedElement="Element-applyStereotype-stereotype">
            <body>The stereotype to apply.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-createEAnnotation" name="createEAnnotation">
        <ownedComment xmi:id="Element-createEAnnotation-_ownedComment.0" annotatedElement="Element-createEAnnotation">
          <body>Creates an annotation with the specified source and this element as its model element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-createEAnnotation-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EAnnotation"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-createEAnnotation-source" name="source" effect="read">
          <ownedComment xmi:id="Element-createEAnnotation-source-_ownedComment.0" annotatedElement="Element-createEAnnotation-source">
            <body>The source for the new annotation.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-destroy" name="destroy">
        <ownedComment xmi:id="Element-destroy-_ownedComment.0" annotatedElement="Element-destroy">
          <body>Destroys this element by removing all cross references to/from it and removing it from its containing resource or object.</body>
        </ownedComment>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getKeywords" name="getKeywords" isQuery="true">
        <ownedComment xmi:id="Element-getKeywords-_ownedComment.0" annotatedElement="Element-getKeywords">
          <body>Retrieves the keywords for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getKeywords-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getKeywords-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getKeywords-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getApplicableStereotype" name="getApplicableStereotype" isQuery="true">
        <ownedComment xmi:id="Element-getApplicableStereotype-_ownedComment.0" annotatedElement="Element-getApplicableStereotype">
          <body>Retrieves the stereotype with the specified qualified name that is applicable to this element, or null if no such stereotype is applicable.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getApplicableStereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getApplicableStereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getApplicableStereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getApplicableStereotype-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Element-getApplicableStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getApplicableStereotype-qualifiedName">
            <body>The qualified name of the applicable stereotype to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getApplicableStereotypes" name="getApplicableStereotypes" isQuery="true">
        <ownedComment xmi:id="Element-getApplicableStereotypes-_ownedComment.0" annotatedElement="Element-getApplicableStereotypes">
          <body>Retrieves the stereotypes that are applicable to this element, including those that are required and/or may already be applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getApplicableStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getApplicableStereotypes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getApplicableStereotypes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getAppliedStereotype" name="getAppliedStereotype" isQuery="true">
        <ownedComment xmi:id="Element-getAppliedStereotype-_ownedComment.0" annotatedElement="Element-getAppliedStereotype">
          <body>Retrieves the stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is  applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getAppliedStereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedStereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedStereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getAppliedStereotype-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Element-getAppliedStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getAppliedStereotype-qualifiedName">
            <body>The qualified name of the applied stereotype to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getAppliedStereotypes" name="getAppliedStereotypes" isQuery="true">
        <ownedComment xmi:id="Element-getAppliedStereotypes-_ownedComment.0" annotatedElement="Element-getAppliedStereotypes">
          <body>Retrieves the stereotypes that are applied to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getAppliedStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedStereotypes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedStereotypes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getAppliedSubstereotype" name="getAppliedSubstereotype" isQuery="true">
        <ownedComment xmi:id="Element-getAppliedSubstereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype">
          <body>Retrieves the substereotype of the specified stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getAppliedSubstereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-getAppliedSubstereotype-stereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype-stereotype">
            <body>The superstereotype of the applied substereotype to retrieve.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getAppliedSubstereotype-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Element-getAppliedSubstereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype-qualifiedName">
            <body>The qualified name of the applied substereotype to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getAppliedSubstereotypes" name="getAppliedSubstereotypes" isQuery="true">
        <ownedComment xmi:id="Element-getAppliedSubstereotypes-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotypes">
          <body>Retrieves the substereotypes of the specified stereotype that are applied to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getAppliedSubstereotypes-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-getAppliedSubstereotypes-stereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotypes-stereotype">
            <body>The superstereotype of the applied substereotypes to retrieve.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getModel" name="getModel" isQuery="true">
        <ownedComment xmi:id="Element-getModel-_ownedComment.0" annotatedElement="Element-getModel">
          <body>Retrieves the model that owns (either directly or indirectly) this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getModel-_ownedParameter.0" type="Model" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getModel-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getModel-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getNearestPackage" name="getNearestPackage" isQuery="true">
        <ownedComment xmi:id="Element-getNearestPackage-_ownedComment.0" annotatedElement="Element-getNearestPackage">
          <body>Retrieves the nearest package that owns (either directly or indirectly) this element, or the element itself (if it is a package).</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getNearestPackage-_ownedParameter.0" type="Package" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getNearestPackage-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getNearestPackage-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getRelationships" name="getRelationships">
        <ownedComment xmi:id="Element-getRelationships-_ownedComment.0" annotatedElement="Element-getRelationships">
          <body>Retrieves the relationships in which this element is involved.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getRelationships-_ownedParameter.0" type="Relationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRelationships-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRelationships-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getRelationships.1" name="getRelationships">
        <ownedComment xmi:id="Element-getRelationships.1-_ownedComment.0" annotatedElement="Element-getRelationships.1">
          <body>Retrieves the relationships of the specified type in which this element is involved.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getRelationships.1-_ownedParameter.0" type="Relationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRelationships.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getRelationships.1-eClass" name="eClass" effect="read">
          <ownedComment xmi:id="Element-getRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getRelationships.1-eClass">
            <body>The (meta)type of the relationships to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getRequiredStereotype" name="getRequiredStereotype" isQuery="true">
        <ownedComment xmi:id="Element-getRequiredStereotype-_ownedComment.0" annotatedElement="Element-getRequiredStereotype">
          <body>Retrieves the stereotype with the specified qualified name that is required for this element, or null if no such stereotype is required.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getRequiredStereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRequiredStereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRequiredStereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getRequiredStereotype-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Element-getRequiredStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getRequiredStereotype-qualifiedName">
            <body>The qualified name of the required stereotype to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getRequiredStereotypes" name="getRequiredStereotypes" isQuery="true">
        <ownedComment xmi:id="Element-getRequiredStereotypes-_ownedComment.0" annotatedElement="Element-getRequiredStereotypes">
          <body>Retrieves the stereotypes that are required for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getRequiredStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRequiredStereotypes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRequiredStereotypes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getSourceDirectedRelationships" name="getSourceDirectedRelationships">
        <ownedComment xmi:id="Element-getSourceDirectedRelationships-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships">
          <body>Retrieves the directed relationships for which this element is a source.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0" type="DirectedRelationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getSourceDirectedRelationships.1" name="getSourceDirectedRelationships">
        <ownedComment xmi:id="Element-getSourceDirectedRelationships.1-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships.1">
          <body>Retrieves the directed relationships of the specified type for which this element is a source.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0" type="DirectedRelationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getSourceDirectedRelationships.1-eClass" name="eClass" effect="read">
          <ownedComment xmi:id="Element-getSourceDirectedRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships.1-eClass">
            <body>The (meta)type of the directed relationships to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getStereotypeApplication" name="getStereotypeApplication" isQuery="true">
        <ownedComment xmi:id="Element-getStereotypeApplication-_ownedComment.0" annotatedElement="Element-getStereotypeApplication">
          <body>Retrieves the application of the specified stereotype for this element, or null if no such stereotype application exists.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getStereotypeApplication-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getStereotypeApplication-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getStereotypeApplication-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getStereotypeApplication-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-getStereotypeApplication-stereotype-_ownedComment.0" annotatedElement="Element-getStereotypeApplication-stereotype">
            <body>The stereotype for which to retrieve an application.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getStereotypeApplications" name="getStereotypeApplications" isQuery="true">
        <ownedComment xmi:id="Element-getStereotypeApplications-_ownedComment.0" annotatedElement="Element-getStereotypeApplications">
          <body>Retrieves the stereotype applications for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getStereotypeApplications-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getStereotypeApplications-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getStereotypeApplications-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getTargetDirectedRelationships" name="getTargetDirectedRelationships">
        <ownedComment xmi:id="Element-getTargetDirectedRelationships-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships">
          <body>Retrieves the directed relationships for which this element is a target.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0" type="DirectedRelationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getTargetDirectedRelationships.1" name="getTargetDirectedRelationships">
        <ownedComment xmi:id="Element-getTargetDirectedRelationships.1-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships.1">
          <body>Retrieves the directed relationships of the specified type for which this element is a target.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0" type="DirectedRelationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getTargetDirectedRelationships.1-eClass" name="eClass" effect="read">
          <ownedComment xmi:id="Element-getTargetDirectedRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships.1-eClass">
            <body>The (meta)type of the directed relationships to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getValue" name="getValue" isQuery="true">
        <ownedComment xmi:id="Element-getValue-_ownedComment.0" annotatedElement="Element-getValue">
          <body>Retrieves the value of the property with the specified name in the specified stereotype for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getValue-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getValue-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getValue-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-getValue-stereotype-_ownedComment.0" annotatedElement="Element-getValue-stereotype">
            <body>The stereotype for which to retrieve the value.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getValue-propertyName" name="propertyName" effect="read">
          <ownedComment xmi:id="Element-getValue-propertyName-_ownedComment.0" annotatedElement="Element-getValue-propertyName">
            <body>The name of the property whose value to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-hasKeyword" name="hasKeyword" isQuery="true">
        <ownedComment xmi:id="Element-hasKeyword-_ownedComment.0" annotatedElement="Element-hasKeyword">
          <body>Determines whether this element has the specified keyword.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-hasKeyword-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-hasKeyword-keyword" name="keyword" effect="read">
          <ownedComment xmi:id="Element-hasKeyword-keyword-_ownedComment.0" annotatedElement="Element-hasKeyword-keyword">
            <body>The keyword in question.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-hasValue" name="hasValue" isQuery="true">
        <ownedComment xmi:id="Element-hasValue-_ownedComment.0" annotatedElement="Element-hasValue">
          <body>Determines whether this element has a (non-default) value for the property with the specified name in the specified stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-hasValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-hasValue-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-hasValue-stereotype-_ownedComment.0" annotatedElement="Element-hasValue-stereotype">
            <body>The stereotype for which to test the property.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Element-hasValue-propertyName" name="propertyName" effect="read">
          <ownedComment xmi:id="Element-hasValue-propertyName-_ownedComment.0" annotatedElement="Element-hasValue-propertyName">
            <body>The name of the property in question.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-isStereotypeApplicable" name="isStereotypeApplicable" isQuery="true">
        <ownedComment xmi:id="Element-isStereotypeApplicable-_ownedComment.0" annotatedElement="Element-isStereotypeApplicable">
          <body>Determines whether the specified stereotype is applicable to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-isStereotypeApplicable-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-isStereotypeApplicable-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-isStereotypeApplicable-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeApplicable-stereotype">
            <body>The stereotype in question.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-isStereotypeApplied" name="isStereotypeApplied" isQuery="true">
        <ownedComment xmi:id="Element-isStereotypeApplied-_ownedComment.0" annotatedElement="Element-isStereotypeApplied">
          <body>Determines whether the specified stereotype is applied to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-isStereotypeApplied-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-isStereotypeApplied-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-isStereotypeApplied-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeApplied-stereotype">
            <body>The stereotype in question.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-isStereotypeRequired" name="isStereotypeRequired" isQuery="true">
        <ownedComment xmi:id="Element-isStereotypeRequired-_ownedComment.0" annotatedElement="Element-isStereotypeRequired">
          <body>Determines whether the specified stereotype is required for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-isStereotypeRequired-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-isStereotypeRequired-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-isStereotypeRequired-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeRequired-stereotype">
            <body>The stereotype in question.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-removeKeyword" name="removeKeyword">
        <ownedComment xmi:id="Element-removeKeyword-_ownedComment.0" annotatedElement="Element-removeKeyword">
          <body>Removes the specified keyword from this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-removeKeyword-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-removeKeyword-keyword" name="keyword" effect="read">
          <ownedComment xmi:id="Element-removeKeyword-keyword-_ownedComment.0" annotatedElement="Element-removeKeyword-keyword">
            <body>The keyword to remove.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-setValue" name="setValue">
        <ownedComment xmi:id="Element-setValue-_ownedComment.0" annotatedElement="Element-setValue">
          <body>Sets the value of the property with the specified name in the specified stereotype for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-setValue-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-setValue-stereotype-_ownedComment.0" annotatedElement="Element-setValue-stereotype">
            <body>The stereotype for which to set the value.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Element-setValue-propertyName" name="propertyName" effect="read">
          <ownedComment xmi:id="Element-setValue-propertyName-_ownedComment.0" annotatedElement="Element-setValue-propertyName">
            <body>The name of the property whose value to set.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-setValue-newValue" name="newValue" effect="read">
          <ownedComment xmi:id="Element-setValue-newValue-_ownedComment.0" annotatedElement="Element-setValue-newValue">
            <body>The new value for the property.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-unapplyStereotype" name="unapplyStereotype">
        <ownedComment xmi:id="Element-unapplyStereotype-_ownedComment.0" annotatedElement="Element-unapplyStereotype">
          <body>Unapplies the specified stereotype from this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-unapplyStereotype-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-unapplyStereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-unapplyStereotype-stereotype-_ownedComment.0" annotatedElement="Element-unapplyStereotype-stereotype">
            <body>The stereotype to unapply.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-allOwnedElements" name="allOwnedElements" bodyCondition="Element-allOwnedElements-spec" isQuery="true">
        <ownedComment xmi:id="Element-allOwnedElements-_ownedComment.0" annotatedElement="Element-allOwnedElements">
          <body>The query allOwnedElements() gives all of the direct and indirect ownedElements of an Element.</body>
        </ownedComment>
        <ownedRule xmi:id="Element-allOwnedElements-spec" name="spec" constrainedElement="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: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:id="Element-mustBeOwned" name="mustBeOwned" bodyCondition="Element-mustBeOwned-spec" isQuery="true">
        <ownedComment 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:id="Element-mustBeOwned-spec" name="spec" constrainedElement="Element-mustBeOwned">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-mustBeOwned-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Element-mustBeOwned-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ElementImport" name="ElementImport">
      <ownedComment 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:id="ElementImport-imported_element_is_public" name="imported_element_is_public" constrainedElement="ElementImport">
        <ownedComment 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:id="ElementImport-visibility_public_or_private" name="visibility_public_or_private" constrainedElement="ElementImport">
        <ownedComment 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:id="ElementImport-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="ElementImport-alias" name="alias">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ElementImport-alias-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ElementImport-importedElement" name="importedElement" type="PackageableElement" subsettedProperty="DirectedRelationship-target" association="A_importedElement_import">
        <ownedComment 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:id="ElementImport-importingNamespace" name="importingNamespace" type="Namespace" subsettedProperty="DirectedRelationship-source Element-owner" association="A_elementImport_importingNamespace">
        <ownedComment 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:id="ElementImport-visibility" name="visibility" type="VisibilityKind">
        <ownedComment 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:id="ElementImport-getName" name="getName" bodyCondition="ElementImport-getName-spec" isQuery="true">
        <ownedComment 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:id="ElementImport-getName-spec" name="spec" constrainedElement="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:id="ElementImport-getName-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="MultiplicityElement" name="MultiplicityElement" isAbstract="true">
      <ownedComment 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:id="MultiplicityElement-upper_ge_lower" name="upper_ge_lower" constrainedElement="MultiplicityElement">
        <ownedComment 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:id="MultiplicityElement-lower_ge_0" name="lower_ge_0" constrainedElement="MultiplicityElement">
        <ownedComment 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:id="MultiplicityElement-value_specification_no_side_effects" name="value_specification_no_side_effects" constrainedElement="MultiplicityElement">
        <ownedComment 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:id="MultiplicityElement-value_specification_constant" name="value_specification_constant" constrainedElement="MultiplicityElement">
        <ownedComment 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:id="MultiplicityElement-lower_is_integer" name="lower_is_integer" constrainedElement="MultiplicityElement">
        <ownedComment 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:id="MultiplicityElement-upper_is_unlimitedNatural" name="upper_is_unlimitedNatural" constrainedElement="MultiplicityElement">
        <ownedComment 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:id="MultiplicityElement-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="MultiplicityElement-isOrdered" name="isOrdered">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="MultiplicityElement-isOrdered-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-isUnique" name="isUnique">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="MultiplicityElement-isUnique-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-lower" name="lower" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-lower-_defaultValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-lowerValue" name="lowerValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_lowerValue_owningLower">
        <ownedComment 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:id="MultiplicityElement-upper" name="upper" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="MultiplicityElement-upper-_defaultValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-upperValue" name="upperValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_upperValue_owningUpper">
        <ownedComment 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:id="MultiplicityElement-setLower" name="setLower" visibility="protected">
        <ownedParameter xmi:id="MultiplicityElement-setLower-newLower" name="newLower" visibility="protected" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-setUpper" name="setUpper" visibility="protected">
        <ownedParameter xmi:id="MultiplicityElement-setUpper-newUpper" name="newUpper" visibility="protected" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-compatibleWith" name="compatibleWith" bodyCondition="MultiplicityElement-compatibleWith-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-compatibleWith-_ownedComment.0" annotatedElement="MultiplicityElement-compatibleWith">
          <body>The operation compatibleWith takes another multiplicity as input. It returns true if the other multiplicity is wider than, or the same as, self.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-compatibleWith-spec" name="spec" constrainedElement="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:id="MultiplicityElement-compatibleWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="MultiplicityElement-compatibleWith-other" name="other" type="MultiplicityElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-includesMultiplicity" name="includesMultiplicity" bodyCondition="MultiplicityElement-includesMultiplicity-spec" isQuery="true" precondition="MultiplicityElement-includesMultiplicity-pre">
        <ownedComment 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:id="MultiplicityElement-includesMultiplicity-pre" name="pre" constrainedElement="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:id="MultiplicityElement-includesMultiplicity-spec" name="spec" constrainedElement="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:id="MultiplicityElement-includesMultiplicity-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="MultiplicityElement-includesMultiplicity-M" name="M" type="MultiplicityElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-is" name="is" bodyCondition="MultiplicityElement-is-spec" isQuery="true">
        <ownedComment 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:id="MultiplicityElement-is-spec" name="spec" constrainedElement="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:id="MultiplicityElement-is-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="MultiplicityElement-is-lowerbound" name="lowerbound">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="MultiplicityElement-is-upperbound" name="upperbound">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-isMultivalued" name="isMultivalued" bodyCondition="MultiplicityElement-isMultivalued-spec" isQuery="true" precondition="MultiplicityElement-isMultivalued-pre">
        <ownedComment 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:id="MultiplicityElement-isMultivalued-pre" name="pre" constrainedElement="MultiplicityElement-isMultivalued">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-isMultivalued-pre-_specification">
            <language>OCL</language>
            <body>upperBound()->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="MultiplicityElement-isMultivalued-spec" name="spec" constrainedElement="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:id="MultiplicityElement-isMultivalued-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-lower.1" name="lower" visibility="protected" bodyCondition="MultiplicityElement-lower.1-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-lower.1-_ownedComment.0" annotatedElement="MultiplicityElement-lower.1">
          <body>The derived lower attribute must equal the lowerBound.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-lower.1-spec" name="spec" constrainedElement="MultiplicityElement-lower.1 MultiplicityElement-lower">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lower.1-spec-_specification">
            <language>OCL</language>
            <body>result = (lowerBound())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-lower.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-lower.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-lowerBound" name="lowerBound" bodyCondition="MultiplicityElement-lowerBound-spec" isQuery="true">
        <ownedComment 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:id="MultiplicityElement-lowerBound-spec" name="spec" constrainedElement="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:id="MultiplicityElement-lowerBound-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-upper.1" name="upper" visibility="protected" bodyCondition="MultiplicityElement-upper.1-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-upper.1-_ownedComment.0" annotatedElement="MultiplicityElement-upper.1">
          <body>The derived upper attribute must equal the upperBound.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-upper.1-spec" name="spec" constrainedElement="MultiplicityElement-upper.1 MultiplicityElement-upper">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upper.1-spec-_specification">
            <language>OCL</language>
            <body>result = (upperBound())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-upper.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-upper.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-upperBound" name="upperBound" bodyCondition="MultiplicityElement-upperBound-spec" isQuery="true">
        <ownedComment 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:id="MultiplicityElement-upperBound-spec" name="spec" constrainedElement="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:id="MultiplicityElement-upperBound-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="NamedElement" name="NamedElement" isAbstract="true">
      <ownedComment 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:id="NamedElement-visibility_needs_ownership" name="visibility_needs_ownership" constrainedElement="NamedElement">
        <ownedComment 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:id="NamedElement-has_qualified_name" name="has_qualified_name" constrainedElement="NamedElement">
        <ownedComment 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:id="NamedElement-has_no_qualified_name" name="has_no_qualified_name" constrainedElement="NamedElement">
        <ownedComment 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:id="NamedElement-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="NamedElement-clientDependency" name="clientDependency" type="Dependency" isReadOnly="true" isDerived="true" subsettedProperty="A_source_directedRelationship-directedRelationship" association="A_clientDependency_client">
        <ownedComment 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:id="NamedElement-name" name="name">
        <ownedComment xmi:id="NamedElement-name-_ownedComment.0" annotatedElement="NamedElement-name">
          <body>The name of the NamedElement.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-name-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="NamedElement-nameExpression" name="nameExpression" type="StringExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_nameExpression_namedElement">
        <ownedComment 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: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: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:id="NamedElement-qualifiedName" name="qualifiedName" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-qualifiedName-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="NamedElement-visibility" name="visibility" type="VisibilityKind">
        <ownedComment 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:id="NamedElement-createDependency" name="createDependency">
        <ownedComment xmi:id="NamedElement-createDependency-_ownedComment.0" annotatedElement="NamedElement-createDependency">
          <body>Creates a dependency between this named element and the specified supplier, owned by this named element's nearest package.</body>
        </ownedComment>
        <ownedParameter xmi:id="NamedElement-createDependency-_ownedParameter.0" type="Dependency" direction="return"/>
        <ownedParameter xmi:id="NamedElement-createDependency-supplier" name="supplier" type="NamedElement" effect="read">
          <ownedComment xmi:id="NamedElement-createDependency-supplier-_ownedComment.0" annotatedElement="NamedElement-createDependency-supplier">
            <body>The supplier for the new dependency.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-createUsage" name="createUsage">
        <ownedComment xmi:id="NamedElement-createUsage-_ownedComment.0" annotatedElement="NamedElement-createUsage">
          <body>Creates a usage between this named element and the specified supplier, owned by this named element's nearest package.</body>
        </ownedComment>
        <ownedParameter xmi:id="NamedElement-createUsage-_ownedParameter.0" type="Usage" direction="return"/>
        <ownedParameter xmi:id="NamedElement-createUsage-supplier" name="supplier" type="NamedElement">
          <ownedComment xmi:id="NamedElement-createUsage-supplier-_ownedComment.0" annotatedElement="NamedElement-createUsage-supplier">
            <body>The supplier for the new usage.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-getLabel" name="getLabel" isQuery="true">
        <ownedComment xmi:id="NamedElement-getLabel-_ownedComment.0" annotatedElement="NamedElement-getLabel">
          <body>Retrieves a localized label for this named element.</body>
        </ownedComment>
        <ownedParameter xmi:id="NamedElement-getLabel-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-getLabel-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-getLabel-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-getLabel.1" name="getLabel" isQuery="true">
        <ownedComment xmi:id="NamedElement-getLabel.1-_ownedComment.0" annotatedElement="NamedElement-getLabel.1">
          <body>Retrieves a label for this named element, localized if indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="NamedElement-getLabel.1-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-getLabel.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-getLabel.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="NamedElement-getLabel.1-localize" name="localize" effect="read">
          <ownedComment xmi:id="NamedElement-getLabel.1-localize-_ownedComment.0" annotatedElement="NamedElement-getLabel.1-localize">
            <body>Whether to localize the label.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-namespace.1" name="namespace" visibility="protected">
        <ownedParameter xmi:id="NamedElement-namespace.1-result" name="result" type="Namespace" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-namespace.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-allNamespaces" name="allNamespaces" bodyCondition="NamedElement-allNamespaces-spec" isQuery="true">
        <ownedComment xmi:id="NamedElement-allNamespaces-_ownedComment.0" annotatedElement="NamedElement-allNamespaces">
          <body>The query allNamespaces() gives the sequence of Namespaces in which the NamedElement is nested, working outwards.</body>
        </ownedComment>
        <ownedRule xmi:id="NamedElement-allNamespaces-spec" name="spec" constrainedElement="NamedElement-allNamespaces">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-allNamespaces-spec-_specification">
            <language>OCL</language>
            <body>result = (
if owner = null
  then OrderedSet{}
else
  let enclosingNamespace : Namespace =
    if owner.oclIsKindOf(TemplateParameter) and owner.oclAsType(TemplateParameter).signature.template.oclIsKindOf(Namespace)
      then owner.oclAsType(TemplateParameter).signature.template.oclAsType(Namespace)
    else
      namespace
    endif
  in enclosingNamespace.allNamespaces()->prepend(enclosingNamespace)
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter 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:id="NamedElement-allOwningPackages" name="allOwningPackages" bodyCondition="NamedElement-allOwningPackages-spec" isQuery="true">
        <ownedComment 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:id="NamedElement-allOwningPackages-spec" name="spec" constrainedElement="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: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:id="NamedElement-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="NamedElement-isDistinguishableFrom-spec" isQuery="true">
        <ownedComment 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:id="NamedElement-isDistinguishableFrom-spec" name="spec" constrainedElement="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:id="NamedElement-isDistinguishableFrom-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="NamedElement-isDistinguishableFrom-n" name="n" type="NamedElement"/>
        <ownedParameter xmi:id="NamedElement-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-qualifiedName.1" name="qualifiedName" visibility="protected" bodyCondition="NamedElement-qualifiedName.1-spec" isQuery="true">
        <ownedComment 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:id="NamedElement-qualifiedName.1-spec" name="spec" constrainedElement="NamedElement-qualifiedName.1 NamedElement-qualifiedName">
          <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:id="NamedElement-qualifiedName.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-qualifiedName.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-separator" name="separator" bodyCondition="NamedElement-separator-spec" isQuery="true">
        <ownedComment 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:id="NamedElement-separator-spec" name="spec" constrainedElement="NamedElement-separator">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-separator-spec-_specification">
            <language>OCL</language>
            <body>result = ('::')</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="NamedElement-separator-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-clientDependency.1" name="clientDependency" visibility="protected" bodyCondition="NamedElement-clientDependency.1-spec" isQuery="true">
        <ownedRule xmi:id="NamedElement-clientDependency.1-spec" name="spec" constrainedElement="NamedElement-clientDependency.1 NamedElement-clientDependency">
          <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: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: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:id="Namespace-members_distinguishable" name="members_distinguishable" constrainedElement="Namespace">
        <ownedComment 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:id="Namespace-cannot_import_self" name="cannot_import_self" constrainedElement="Namespace">
        <ownedComment 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:id="Namespace-cannot_import_ownedMembers" name="cannot_import_ownedMembers" constrainedElement="Namespace">
        <ownedComment 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:id="Namespace-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Namespace-elementImport" name="elementImport" type="ElementImport" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_elementImport_importingNamespace">
        <ownedComment 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:id="Namespace-importedMember" name="importedMember" type="PackageableElement" isReadOnly="true" isDerived="true" subsettedProperty="Namespace-member" association="A_importedMember_namespace">
        <ownedComment 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:id="Namespace-member" name="member" type="NamedElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_member_memberNamespace">
        <ownedComment 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: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: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:id="Namespace-ownedRule" name="ownedRule" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedRule_context">
        <ownedComment 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:id="Namespace-packageImport" name="packageImport" type="PackageImport" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_packageImport_importingNamespace">
        <ownedComment 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:id="Namespace-createElementImport" name="createElementImport">
        <ownedComment xmi:id="Namespace-createElementImport-_ownedComment.0" annotatedElement="Namespace-createElementImport">
          <body>Creates an import of the specified element into this namespace with the specified visibility.</body>
        </ownedComment>
        <ownedParameter xmi:id="Namespace-createElementImport-_ownedParameter.0" type="ElementImport" direction="return"/>
        <ownedParameter xmi:id="Namespace-createElementImport-element" name="element" type="PackageableElement" effect="read">
          <ownedComment xmi:id="Namespace-createElementImport-element-_ownedComment.0" annotatedElement="Namespace-createElementImport-element">
            <body>The element to import.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Namespace-createElementImport-visibility" name="visibility" type="VisibilityKind" effect="read">
          <ownedComment xmi:id="Namespace-createElementImport-visibility-_ownedComment.0" annotatedElement="Namespace-createElementImport-visibility">
            <body>The visibility for the new element import.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-createPackageImport" name="createPackageImport">
        <ownedComment xmi:id="Namespace-createPackageImport-_ownedComment.0" annotatedElement="Namespace-createPackageImport">
          <body>Creates an import of the specified package into this namespace with the specified visibility.</body>
        </ownedComment>
        <ownedParameter xmi:id="Namespace-createPackageImport-_ownedParameter.0" type="PackageImport" direction="return"/>
        <ownedParameter xmi:id="Namespace-createPackageImport-package_" name="package_" type="Package" effect="read">
          <ownedComment xmi:id="Namespace-createPackageImport-package_-_ownedComment.0" annotatedElement="Namespace-createPackageImport-package_">
            <body>The package to import.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Namespace-createPackageImport-visibility" name="visibility" type="VisibilityKind" effect="read">
          <ownedComment xmi:id="Namespace-createPackageImport-visibility-_ownedComment.0" annotatedElement="Namespace-createPackageImport-visibility">
            <body>The visibility for the new package import.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-getImportedElements" name="getImportedElements" isQuery="true">
        <ownedComment xmi:id="Namespace-getImportedElements-_ownedComment.0" annotatedElement="Namespace-getImportedElements">
          <body>Retrieves the elements imported by this namespace.</body>
        </ownedComment>
        <ownedParameter xmi:id="Namespace-getImportedElements-_ownedParameter.0" type="PackageableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-getImportedElements-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-getImportedElements-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-getImportedPackages" name="getImportedPackages" isQuery="true">
        <ownedComment xmi:id="Namespace-getImportedPackages-_ownedComment.0" annotatedElement="Namespace-getImportedPackages">
          <body>Retrieves the packages imported by this namespace.</body>
        </ownedComment>
        <ownedParameter xmi:id="Namespace-getImportedPackages-_ownedParameter.0" type="Package" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-getImportedPackages-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-getImportedPackages-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-ownedMember.1" name="ownedMember" visibility="protected">
        <ownedParameter xmi:id="Namespace-ownedMember.1-result" name="result" type="NamedElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-ownedMember.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-ownedMember.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-excludeCollisions" name="excludeCollisions" bodyCondition="Namespace-excludeCollisions-spec" isQuery="true">
        <ownedComment xmi:id="Namespace-excludeCollisions-_ownedComment.0" annotatedElement="Namespace-excludeCollisions">
          <body>The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this Namespace.</body>
        </ownedComment>
        <ownedRule xmi:id="Namespace-excludeCollisions-spec" name="spec" constrainedElement="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: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: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:id="Namespace-getNamesOfMember" name="getNamesOfMember" bodyCondition="Namespace-getNamesOfMember-spec" isQuery="true">
        <ownedComment 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:id="Namespace-getNamesOfMember-spec" name="spec" constrainedElement="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:id="Namespace-getNamesOfMember-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="Namespace-getNamesOfMember-element" name="element" type="NamedElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-importMembers" name="importMembers" bodyCondition="Namespace-importMembers-spec" isQuery="true">
        <ownedComment 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:id="Namespace-importMembers-spec" name="spec" constrainedElement="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: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: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:id="Namespace-importedMember.1" name="importedMember" visibility="protected" bodyCondition="Namespace-importedMember.1-spec" isQuery="true">
        <ownedComment 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:id="Namespace-importedMember.1-spec" name="spec" constrainedElement="Namespace-importedMember.1 Namespace-importedMember">
          <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: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:id="Namespace-membersAreDistinguishable" name="membersAreDistinguishable" bodyCondition="Namespace-membersAreDistinguishable-spec" isQuery="true">
        <ownedComment 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:id="Namespace-membersAreDistinguishable-spec" name="spec" constrainedElement="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:id="Namespace-membersAreDistinguishable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="PackageableElement" name="PackageableElement" isAbstract="true">
      <ownedComment 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:id="PackageableElement-namespace_needs_visibility" name="namespace_needs_visibility" constrainedElement="PackageableElement">
        <ownedComment 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:id="PackageableElement-_generalization.0" general="ParameterableElement"/>
      <generalization xmi:id="PackageableElement-_generalization.1" general="NamedElement"/>
      <ownedAttribute xmi:id="PackageableElement-visibility" name="visibility" type="VisibilityKind" redefinedProperty="NamedElement-visibility">
        <ownedComment 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: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:id="PackageImport-public_or_private" name="public_or_private" constrainedElement="PackageImport">
        <ownedComment 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:id="PackageImport-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="PackageImport-importedPackage" name="importedPackage" type="Package" subsettedProperty="DirectedRelationship-target" association="A_importedPackage_packageImport">
        <ownedComment 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:id="PackageImport-importingNamespace" name="importingNamespace" type="Namespace" subsettedProperty="DirectedRelationship-source Element-owner" association="A_packageImport_importingNamespace">
        <ownedComment 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:id="PackageImport-visibility" name="visibility" type="VisibilityKind">
        <ownedComment 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: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:id="ParameterableElement-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="ParameterableElement-owningTemplateParameter" name="owningTemplateParameter" type="TemplateParameter" subsettedProperty="Element-owner ParameterableElement-templateParameter" association="A_ownedParameteredElement_owningTemplateParameter">
        <ownedComment 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:id="ParameterableElement-templateParameter" name="templateParameter" type="TemplateParameter" association="A_parameteredElement_templateParameter">
        <ownedComment 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:id="ParameterableElement-isCompatibleWith" name="isCompatibleWith" bodyCondition="ParameterableElement-isCompatibleWith-spec" isQuery="true">
        <ownedComment 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:id="ParameterableElement-isCompatibleWith-spec" name="spec" constrainedElement="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:id="ParameterableElement-isCompatibleWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="ParameterableElement-isCompatibleWith-p" name="p" type="ParameterableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="ParameterableElement-isTemplateParameter" name="isTemplateParameter" bodyCondition="ParameterableElement-isTemplateParameter-spec" isQuery="true">
        <ownedComment 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:id="ParameterableElement-isTemplateParameter-spec" name="spec" constrainedElement="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:id="ParameterableElement-isTemplateParameter-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Realization" name="Realization">
      <ownedComment 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:id="Realization-_generalization.0" general="Abstraction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Relationship" name="Relationship" isAbstract="true">
      <ownedComment 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:id="Relationship-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Relationship-relatedElement" name="relatedElement" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_relatedElement_relationship">
        <ownedComment 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: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:id="TemplateableElement-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="TemplateableElement-ownedTemplateSignature" name="ownedTemplateSignature" type="TemplateSignature" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_ownedTemplateSignature_template">
        <ownedComment 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:id="TemplateableElement-templateBinding" name="templateBinding" type="TemplateBinding" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_templateBinding_boundElement">
        <ownedComment 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:id="TemplateableElement-isTemplate" name="isTemplate" bodyCondition="TemplateableElement-isTemplate-spec" isQuery="true">
        <ownedComment 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:id="TemplateableElement-isTemplate-spec" name="spec" constrainedElement="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:id="TemplateableElement-isTemplate-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="TemplateableElement-parameterableElements" name="parameterableElements" bodyCondition="TemplateableElement-parameterableElements-spec" isQuery="true">
        <ownedComment 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:id="TemplateableElement-parameterableElements-spec" name="spec" constrainedElement="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: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: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:id="TemplateBinding-parameter_substitution_formal" name="parameter_substitution_formal" constrainedElement="TemplateBinding">
        <ownedComment 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:id="TemplateBinding-one_parameter_substitution" name="one_parameter_substitution" constrainedElement="TemplateBinding">
        <ownedComment 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:id="TemplateBinding-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="TemplateBinding-boundElement" name="boundElement" type="TemplateableElement" subsettedProperty="DirectedRelationship-source Element-owner" association="A_templateBinding_boundElement">
        <ownedComment xmi:id="TemplateBinding-boundElement-_ownedComment.0" annotatedElement="TemplateBinding-boundElement">
          <body>The TemplateableElement that is bound by this TemplateBinding.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateBinding-parameterSubstitution" name="parameterSubstitution" type="TemplateParameterSubstitution" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_parameterSubstitution_templateBinding">
        <ownedComment 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:id="TemplateBinding-signature" name="signature" type="TemplateSignature" subsettedProperty="DirectedRelationship-target" association="A_signature_templateBinding">
        <ownedComment 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:id="TemplateParameter-_ownedComment.0" annotatedElement="TemplateParameter">
        <body>A TemplateParameter exposes a ParameterableElement as a formal parameter of a template.</body>
      </ownedComment>
      <ownedRule xmi:id="TemplateParameter-must_be_compatible" name="must_be_compatible" constrainedElement="TemplateParameter">
        <ownedComment 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:id="TemplateParameter-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="TemplateParameter-default" name="default" type="ParameterableElement" association="A_default_templateParameter">
        <ownedComment 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:id="TemplateParameter-ownedDefault" name="ownedDefault" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameter-default" association="A_ownedDefault_templateParameter">
        <ownedComment 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:id="TemplateParameter-ownedParameteredElement" name="ownedParameteredElement" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameter-parameteredElement" association="A_ownedParameteredElement_owningTemplateParameter">
        <ownedComment 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:id="TemplateParameter-parameteredElement" name="parameteredElement" type="ParameterableElement" association="A_parameteredElement_templateParameter">
        <ownedComment xmi:id="TemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="TemplateParameter-parameteredElement">
          <body>The ParameterableElement exposed by this TemplateParameter.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameter-signature" name="signature" type="TemplateSignature" subsettedProperty="A_parameter_templateSignature-templateSignature Element-owner" association="A_ownedParameter_signature">
        <ownedComment 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: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:id="TemplateParameterSubstitution-must_be_compatible" name="must_be_compatible" constrainedElement="TemplateParameterSubstitution">
        <ownedComment 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:id="TemplateParameterSubstitution-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="TemplateParameterSubstitution-actual" name="actual" type="ParameterableElement" association="A_actual_templateParameterSubstitution">
        <ownedComment 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:id="TemplateParameterSubstitution-formal" name="formal" type="TemplateParameter" association="A_formal_templateParameterSubstitution">
        <ownedComment xmi:id="TemplateParameterSubstitution-formal-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-formal">
          <body>The formal TemplateParameter that is associated with this TemplateParameterSubstitution.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameterSubstitution-ownedActual" name="ownedActual" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameterSubstitution-actual" association="A_ownedActual_owningTemplateParameterSubstitution">
        <ownedComment 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:id="TemplateParameterSubstitution-templateBinding" name="templateBinding" type="TemplateBinding" subsettedProperty="Element-owner" association="A_parameterSubstitution_templateBinding">
        <ownedComment 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:id="TemplateSignature-_ownedComment.0" annotatedElement="TemplateSignature">
        <body>A Template Signature bundles the set of formal TemplateParameters for a template.</body>
      </ownedComment>
      <ownedRule xmi:id="TemplateSignature-own_elements" name="own_elements" constrainedElement="TemplateSignature">
        <ownedComment 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:id="TemplateSignature-unique_parameters" name="unique_parameters" constrainedElement="TemplateSignature">
        <ownedComment 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:id="TemplateSignature-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="TemplateSignature-ownedParameter" name="ownedParameter" type="TemplateParameter" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement TemplateSignature-parameter" association="A_ownedParameter_signature">
        <ownedComment 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:id="TemplateSignature-parameter" name="parameter" type="TemplateParameter" isOrdered="true" association="A_parameter_templateSignature">
        <ownedComment 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:id="TemplateSignature-template" name="template" type="TemplateableElement" subsettedProperty="Element-owner" association="A_ownedTemplateSignature_template">
        <ownedComment 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:id="Type-_ownedComment.0" annotatedElement="Type">
        <body>A Type constrains the values represented by a TypedElement.</body>
      </ownedComment>
      <generalization xmi:id="Type-_generalization.0" general="PackageableElement"/>
      <ownedAttribute xmi:id="Type-package" name="package" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage NamedElement-namespace" association="A_ownedType_package">
        <ownedComment xmi:id="Type-package-_ownedComment.0" annotatedElement="Type-package">
          <body>Specifies the owning Package of this Type, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Type-package-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Type-createAssociation" name="createAssociation">
        <ownedComment xmi:id="Type-createAssociation-_ownedComment.0" annotatedElement="Type-createAssociation">
          <body>Creates a(n) (binary) association between this type and the specified other type, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this type's nearest package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Type-createAssociation-_ownedParameter.0" type="Association" direction="return"/>
        <ownedParameter xmi:id="Type-createAssociation-end1IsNavigable" name="end1IsNavigable" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1IsNavigable-_ownedComment.0" annotatedElement="Type-createAssociation-end1IsNavigable">
            <body>The navigability for the first end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Aggregation" name="end1Aggregation" type="AggregationKind" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Aggregation-_ownedComment.0" annotatedElement="Type-createAssociation-end1Aggregation">
            <body>The aggregation for the first end of the new association.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Name" name="end1Name" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Name-_ownedComment.0" annotatedElement="Type-createAssociation-end1Name">
            <body>The name for the first end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Lower" name="end1Lower" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Lower-_ownedComment.0" annotatedElement="Type-createAssociation-end1Lower">
            <body>The lower bound for the first end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Upper" name="end1Upper" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Upper-_ownedComment.0" annotatedElement="Type-createAssociation-end1Upper">
            <body>The upper bound for the first end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Type" name="end1Type" type="Type" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Type-_ownedComment.0" annotatedElement="Type-createAssociation-end1Type">
            <body>The type for the first end of the new association.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2IsNavigable" name="end2IsNavigable" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2IsNavigable-_ownedComment.0" annotatedElement="Type-createAssociation-end2IsNavigable">
            <body>The navigability for the second end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2Aggregation" name="end2Aggregation" type="AggregationKind" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2Aggregation-_ownedComment.0" annotatedElement="Type-createAssociation-end2Aggregation">
            <body>The aggregation for the second end of the new association.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2Name" name="end2Name" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2Name-_ownedComment.0" annotatedElement="Type-createAssociation-end2Name">
            <body>The name for the second end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2Lower" name="end2Lower" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2Lower-_ownedComment.0" annotatedElement="Type-createAssociation-end2Lower">
            <body>The lower bound for the second end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2Upper" name="end2Upper" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2Upper-_ownedComment.0" annotatedElement="Type-createAssociation-end2Upper">
            <body>The upper bound for the second end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Type-getAssociations" name="getAssociations">
        <ownedComment xmi:id="Type-getAssociations-_ownedComment.0" annotatedElement="Type-getAssociations">
          <body>Retrieves the associations in which this type is involved.</body>
        </ownedComment>
        <ownedParameter xmi:id="Type-getAssociations-_ownedParameter.0" type="Association" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Type-getAssociations-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Type-getAssociations-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Type-conformsTo" name="conformsTo" bodyCondition="Type-conformsTo-spec" isQuery="true">
        <ownedComment xmi:id="Type-conformsTo-_ownedComment.0" annotatedElement="Type-conformsTo">
          <body>The query conformsTo() gives true for a Type that conforms to another. By default, two Types do not conform to each other. This query is intended to be redefined for specific conformance situations.</body>
        </ownedComment>
        <ownedRule xmi:id="Type-conformsTo-spec" name="spec" constrainedElement="Type-conformsTo">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Type-conformsTo-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Type-conformsTo-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter 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:id="TypedElement-_ownedComment.0" annotatedElement="TypedElement">
        <body>A TypedElement is a NamedElement that may have a Type specified for it.</body>
      </ownedComment>
      <generalization xmi:id="TypedElement-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="TypedElement-type" name="type" type="Type" association="A_type_typedElement">
        <ownedComment 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: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:id="Usage-_generalization.0" general="Dependency"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="VisibilityKind" name="VisibilityKind" visibility="private">
      <ownedComment xmi:id="VisibilityKind-_ownedComment.0" annotatedElement="VisibilityKind">
        <body>VisibilityKind is an enumeration type that defines literals to determine the visibility of Elements in a model.</body>
      </ownedComment>
      <ownedLiteral xmi:id="VisibilityKind-public" name="public">
        <ownedComment 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:id="VisibilityKind-private" name="private">
        <ownedComment 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:id="VisibilityKind-protected" name="protected">
        <ownedComment 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:id="VisibilityKind-package" name="package">
        <ownedComment 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" visibility="private" memberEnd="TypedElement-type A_type_typedElement-typedElement">
      <ownedEnd xmi:id="A_type_typedElement-typedElement" name="typedElement" 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" visibility="private" memberEnd="TemplateSignature-ownedParameter TemplateParameter-signature"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_parameter_templateSignature" name="A_parameter_templateSignature" visibility="private" memberEnd="TemplateSignature-parameter A_parameter_templateSignature-templateSignature">
      <ownedEnd xmi:id="A_parameter_templateSignature-templateSignature" name="templateSignature" type="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" visibility="private" memberEnd="TemplateParameterSubstitution-actual A_actual_templateParameterSubstitution-templateParameterSubstitution">
      <ownedEnd xmi:id="A_actual_templateParameterSubstitution-templateParameterSubstitution" name="templateParameterSubstitution" type="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" visibility="private" memberEnd="TemplateParameterSubstitution-ownedActual A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution">
      <generalization xmi:id="A_ownedActual_owningTemplateParameterSubstitution-_generalization.0" general="A_actual_templateParameterSubstitution"/>
      <ownedEnd xmi:id="A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution" name="owningTemplateParameterSubstitution" type="TemplateParameterSubstitution" 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" visibility="private" memberEnd="TemplateParameterSubstitution-formal A_formal_templateParameterSubstitution-templateParameterSubstitution">
      <ownedEnd xmi:id="A_formal_templateParameterSubstitution-templateParameterSubstitution" name="templateParameterSubstitution" type="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" visibility="private" memberEnd="TemplateParameter-ownedDefault A_ownedDefault_templateParameter-templateParameter">
      <generalization xmi:id="A_ownedDefault_templateParameter-_generalization.0" general="A_default_templateParameter"/>
      <ownedEnd xmi:id="A_ownedDefault_templateParameter-templateParameter" name="templateParameter" type="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" visibility="private" memberEnd="TemplateParameter-ownedParameteredElement ParameterableElement-owningTemplateParameter"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_default_templateParameter" name="A_default_templateParameter" visibility="private" memberEnd="TemplateParameter-default A_default_templateParameter-templateParameter">
      <ownedEnd xmi:id="A_default_templateParameter-templateParameter" name="templateParameter" type="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" visibility="private" memberEnd="TemplateParameter-parameteredElement ParameterableElement-templateParameter"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_signature_templateBinding" name="A_signature_templateBinding" visibility="private" memberEnd="TemplateBinding-signature A_signature_templateBinding-templateBinding">
      <ownedEnd xmi:id="A_signature_templateBinding-templateBinding" name="templateBinding" type="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" visibility="private" memberEnd="TemplateBinding-parameterSubstitution TemplateParameterSubstitution-templateBinding"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_templateBinding_boundElement" name="A_templateBinding_boundElement" visibility="private" memberEnd="TemplateableElement-templateBinding TemplateBinding-boundElement"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedTemplateSignature_template" name="A_ownedTemplateSignature_template" visibility="private" memberEnd="TemplateableElement-ownedTemplateSignature TemplateSignature-template"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_relatedElement_relationship" name="A_relatedElement_relationship" visibility="private" isDerived="true" memberEnd="Relationship-relatedElement A_relatedElement_relationship-relationship">
      <ownedEnd xmi:id="A_relatedElement_relationship-relationship" name="relationship" type="Relationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" memberEnd="PackageImport-importedPackage A_importedPackage_packageImport-packageImport">
      <ownedEnd xmi:id="A_importedPackage_packageImport-packageImport" name="packageImport" type="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" visibility="private" memberEnd="Namespace-elementImport ElementImport-importingNamespace"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedMember_namespace" name="A_ownedMember_namespace" visibility="private" isDerived="true" memberEnd="Namespace-ownedMember NamedElement-namespace"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedRule_context" name="A_ownedRule_context" visibility="private" memberEnd="Namespace-ownedRule Constraint-context"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_packageImport_importingNamespace" name="A_packageImport_importingNamespace" visibility="private" memberEnd="Namespace-packageImport PackageImport-importingNamespace"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_member_memberNamespace" name="A_member_memberNamespace" visibility="private" isDerived="true" memberEnd="Namespace-member A_member_memberNamespace-memberNamespace">
      <ownedEnd xmi:id="A_member_memberNamespace-memberNamespace" name="memberNamespace" type="Namespace" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" isDerived="true" memberEnd="Namespace-importedMember A_importedMember_namespace-namespace">
      <ownedEnd xmi:id="A_importedMember_namespace-namespace" name="namespace" type="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" visibility="private" memberEnd="NamedElement-nameExpression A_nameExpression_namedElement-namedElement">
      <ownedEnd xmi:id="A_nameExpression_namedElement-namedElement" name="namedElement" type="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" visibility="private" memberEnd="NamedElement-clientDependency Dependency-client A_clientDependency_client-_ownedEnd.0">
      <ownedEnd xmi:id="A_clientDependency_client-_ownedEnd.0" visibility="private" type="Dependency" association="A_clientDependency_client">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_clientDependency_client-_ownedEnd.0-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_clientDependency_client-_ownedEnd.0-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_lowerValue_owningLower" name="A_lowerValue_owningLower" visibility="private" memberEnd="MultiplicityElement-lowerValue A_lowerValue_owningLower-owningLower">
      <ownedEnd xmi:id="A_lowerValue_owningLower-owningLower" name="owningLower" type="MultiplicityElement" 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" visibility="private" memberEnd="MultiplicityElement-upperValue A_upperValue_owningUpper-owningUpper">
      <ownedEnd xmi:id="A_upperValue_owningUpper-owningUpper" name="owningUpper" type="MultiplicityElement" 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" visibility="private" memberEnd="ElementImport-importedElement A_importedElement_import-import">
      <ownedEnd xmi:id="A_importedElement_import-import" name="import" type="ElementImport" 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" visibility="private" isDerived="true" memberEnd="Element-ownedElement Element-owner"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedComment_owningElement" name="A_ownedComment_owningElement" visibility="private" memberEnd="Element-ownedComment A_ownedComment_owningElement-owningElement">
      <ownedEnd xmi:id="A_ownedComment_owningElement-owningElement" name="owningElement" type="Element" 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" visibility="private" isDerived="true" memberEnd="DirectedRelationship-source A_source_directedRelationship-directedRelationship">
      <ownedEnd xmi:id="A_source_directedRelationship-directedRelationship" name="directedRelationship" type="DirectedRelationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" isDerived="true" memberEnd="DirectedRelationship-target A_target_directedRelationship-directedRelationship">
      <ownedEnd xmi:id="A_target_directedRelationship-directedRelationship" name="directedRelationship" type="DirectedRelationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" memberEnd="Dependency-supplier A_supplier_supplierDependency-supplierDependency">
      <ownedEnd xmi:id="A_supplier_supplierDependency-supplierDependency" name="supplierDependency" type="Dependency" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_supplier_supplierDependency">
        <ownedComment 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" visibility="private" memberEnd="Constraint-constrainedElement A_constrainedElement_constraint-constraint">
      <ownedEnd xmi:id="A_constrainedElement_constraint-constraint" name="constraint" type="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" visibility="private" memberEnd="Constraint-specification A_specification_owningConstraint-owningConstraint">
      <ownedEnd xmi:id="A_specification_owningConstraint-owningConstraint" name="owningConstraint" type="Constraint" 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" visibility="private" memberEnd="Comment-annotatedElement A_annotatedElement_comment-comment">
      <ownedEnd xmi:id="A_annotatedElement_comment-comment" name="comment" type="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" visibility="private" memberEnd="Abstraction-mapping A_mapping_abstraction-abstraction">
      <ownedEnd xmi:id="A_mapping_abstraction-abstraction" name="abstraction" type="Abstraction" subsettedProperty="Element-owner" association="A_mapping_abstraction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_mapping_abstraction-abstraction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Artifact" name="Artifact">
      <ownedComment 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:id="Artifact-_generalization.0" general="Classifier"/>
      <generalization xmi:id="Artifact-_generalization.1" general="DeployedArtifact"/>
      <ownedAttribute xmi:id="Artifact-fileName" name="fileName">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-fileName-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Artifact-manifestation" name="manifestation" type="Manifestation" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_manifestation_artifact">
        <ownedComment 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:id="Artifact-nestedArtifact" name="nestedArtifact" type="Artifact" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_nestedArtifact_artifact">
        <ownedComment 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:id="Artifact-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_artifact">
        <ownedComment 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: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: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>
      <ownedOperation xmi:id="Artifact-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="Artifact-createOwnedAttribute-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this artifact.</body>
        </ownedComment>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Artifact-createOwnedOperation" name="createOwnedOperation">
        <ownedComment xmi:id="Artifact-createOwnedOperation-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation">
          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this artifact.</body>
        </ownedComment>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-name" name="name" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedOperation-name-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-name">
            <body>The name for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-parameterNames">
            <body>The parameter names for  the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-parameterTypes">
            <body>The parameter types for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-returnType">
            <body>The return type for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-returnType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-returnType-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CommunicationPath" name="CommunicationPath">
      <ownedComment 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:id="CommunicationPath-association_ends" name="association_ends" constrainedElement="CommunicationPath">
        <ownedComment 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:id="CommunicationPath-_generalization.0" general="Association"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DeployedArtifact" name="DeployedArtifact" isAbstract="true">
      <ownedComment 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:id="DeployedArtifact-_generalization.0" general="NamedElement"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Deployment" name="Deployment">
      <ownedComment 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:id="Deployment-_generalization.0" general="Dependency"/>
      <ownedAttribute xmi:id="Deployment-configuration" name="configuration" type="DeploymentSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_configuration_deployment">
        <ownedComment 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:id="Deployment-deployedArtifact" name="deployedArtifact" type="DeployedArtifact" subsettedProperty="Dependency-supplier" association="A_deployedArtifact_deploymentForArtifact">
        <ownedComment 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:id="Deployment-location" name="location" type="DeploymentTarget" subsettedProperty="Dependency-client Element-owner" association="A_deployment_location">
        <ownedComment 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: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:id="DeploymentSpecification-deployment_target" name="deployment_target" constrainedElement="DeploymentSpecification">
        <ownedComment 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:id="DeploymentSpecification-deployed_elements" name="deployed_elements" constrainedElement="DeploymentSpecification">
        <ownedComment 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:id="DeploymentSpecification-_generalization.0" general="Artifact"/>
      <ownedAttribute xmi:id="DeploymentSpecification-deployment" name="deployment" type="Deployment" subsettedProperty="Element-owner" association="A_configuration_deployment">
        <ownedComment 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:id="DeploymentSpecification-deploymentLocation" name="deploymentLocation">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentSpecification-deploymentLocation-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DeploymentSpecification-executionLocation" name="executionLocation">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="DeploymentTarget-_ownedComment.0" annotatedElement="DeploymentTarget">
        <body>A deployment target is the location for a deployed artifact.</body>
      </ownedComment>
      <generalization xmi:id="DeploymentTarget-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="DeploymentTarget-deployedElement" name="deployedElement" type="PackageableElement" isReadOnly="true" isDerived="true" association="A_deployedElement_deploymentTarget">
        <ownedComment 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:id="DeploymentTarget-deployment" name="deployment" type="Deployment" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_deployment_location">
        <ownedComment 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:id="DeploymentTarget-deployedElement.1" name="deployedElement" visibility="protected" bodyCondition="DeploymentTarget-deployedElement.1-spec" isQuery="true">
        <ownedComment xmi:id="DeploymentTarget-deployedElement.1-_ownedComment.0" annotatedElement="DeploymentTarget-deployedElement.1">
          <body>Derivation for DeploymentTarget::/deployedElement</body>
        </ownedComment>
        <ownedRule xmi:id="DeploymentTarget-deployedElement.1-spec" name="spec" constrainedElement="DeploymentTarget-deployedElement.1 DeploymentTarget-deployedElement">
          <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: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: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:id="Device-_generalization.0" general="Node"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExecutionEnvironment" name="ExecutionEnvironment">
      <ownedComment 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:id="ExecutionEnvironment-_generalization.0" general="Node"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Manifestation" name="Manifestation">
      <ownedComment 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:id="Manifestation-_generalization.0" general="Abstraction"/>
      <ownedAttribute xmi:id="Manifestation-utilizedElement" name="utilizedElement" type="PackageableElement" subsettedProperty="Dependency-supplier" association="A_utilizedElement_manifestation">
        <ownedComment 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: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:id="Node-internal_structure" name="internal_structure" constrainedElement="Node">
        <ownedComment 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:id="Node-_generalization.0" general="Class"/>
      <generalization xmi:id="Node-_generalization.1" general="DeploymentTarget"/>
      <ownedAttribute xmi:id="Node-nestedNode" name="nestedNode" type="Node" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_nestedNode_node">
        <ownedComment 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>
      <ownedOperation xmi:id="Node-createCommunicationPath" name="createCommunicationPath">
        <ownedComment xmi:id="Node-createCommunicationPath-_ownedComment.0" annotatedElement="Node-createCommunicationPath">
          <body>Creates a (binary) communication path between this node and the specified other node, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this node's nearest package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Node-createCommunicationPath-_ownedParameter.0" type="CommunicationPath" direction="return"/>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1IsNavigable" name="end1IsNavigable" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1IsNavigable-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1IsNavigable">
            <body>The navigability for the first end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Aggregation" name="end1Aggregation" type="AggregationKind" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Aggregation-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Aggregation">
            <body>The aggregation for the first end of the new communication path.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Name" name="end1Name" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Name-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Name">
            <body>The name for the first end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Lower" name="end1Lower" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Lower-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Lower">
            <body>The lower bound for the first end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Upper" name="end1Upper" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Upper-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Upper">
            <body>The upper bound for the first end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Node" name="end1Node" type="Node" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Node-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Node">
            <body>The type for the first end of the new communication path.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2IsNavigable" name="end2IsNavigable" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2IsNavigable-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2IsNavigable">
            <body>The navigability for the second end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2Aggregation" name="end2Aggregation" type="AggregationKind" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2Aggregation-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Aggregation">
            <body>The aggregation for the second end of the new communication path.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2Name" name="end2Name" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2Name-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Name">
            <body>The name for the second end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2Lower" name="end2Lower" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2Lower-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Lower">
            <body>The lower bound for the second end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2Upper" name="end2Upper" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2Upper-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Upper">
            <body>The upper bound for the second end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Node-getCommunicationPaths" name="getCommunicationPaths">
        <ownedComment xmi:id="Node-getCommunicationPaths-_ownedComment.0" annotatedElement="Node-getCommunicationPaths">
          <body>Retrieves the communication paths in which this node is involved.</body>
        </ownedComment>
        <ownedParameter xmi:id="Node-getCommunicationPaths-_ownedParameter.0" type="CommunicationPath" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Node-getCommunicationPaths-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Node-getCommunicationPaths-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nestedNode_node" name="A_nestedNode_node" visibility="private" memberEnd="Node-nestedNode A_nestedNode_node-node">
      <ownedEnd xmi:id="A_nestedNode_node-node" name="node" type="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" visibility="private" memberEnd="Manifestation-utilizedElement A_utilizedElement_manifestation-manifestation">
      <ownedEnd xmi:id="A_utilizedElement_manifestation-manifestation" name="manifestation" type="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" visibility="private" isDerived="true" memberEnd="DeploymentTarget-deployedElement A_deployedElement_deploymentTarget-deploymentTarget">
      <ownedEnd xmi:id="A_deployedElement_deploymentTarget-deploymentTarget" name="deploymentTarget" type="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" visibility="private" memberEnd="DeploymentTarget-deployment Deployment-location"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_deployedArtifact_deploymentForArtifact" name="A_deployedArtifact_deploymentForArtifact" visibility="private" memberEnd="Deployment-deployedArtifact A_deployedArtifact_deploymentForArtifact-deploymentForArtifact">
      <ownedEnd xmi:id="A_deployedArtifact_deploymentForArtifact-deploymentForArtifact" name="deploymentForArtifact" type="Deployment" 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" visibility="private" memberEnd="Deployment-configuration DeploymentSpecification-deployment"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_artifact" name="A_ownedAttribute_artifact" visibility="private" memberEnd="Artifact-ownedAttribute A_ownedAttribute_artifact-artifact">
      <ownedEnd xmi:id="A_ownedAttribute_artifact-artifact" name="artifact" type="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" visibility="private" memberEnd="Artifact-ownedOperation A_ownedOperation_artifact-artifact">
      <ownedEnd xmi:id="A_ownedOperation_artifact-artifact" name="artifact" type="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" visibility="private" memberEnd="Artifact-nestedArtifact A_nestedArtifact_artifact-artifact">
      <ownedEnd xmi:id="A_nestedArtifact_artifact-artifact" name="artifact" type="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" visibility="private" memberEnd="Artifact-manifestation A_manifestation_artifact-artifact">
      <ownedEnd xmi:id="A_manifestation_artifact-artifact" name="artifact" type="Artifact" subsettedProperty="Dependency-client Element-owner" association="A_manifestation_artifact"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InformationFlow" name="InformationFlow">
      <ownedComment 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:id="InformationFlow-must_conform" name="must_conform" constrainedElement="InformationFlow">
        <ownedComment 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:id="InformationFlow-sources_and_targets_kind" name="sources_and_targets_kind" constrainedElement="InformationFlow">
        <ownedComment 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:id="InformationFlow-convey_classifiers" name="convey_classifiers" constrainedElement="InformationFlow">
        <ownedComment 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:id="InformationFlow-_generalization.0" general="DirectedRelationship"/>
      <generalization xmi:id="InformationFlow-_generalization.1" general="PackageableElement"/>
      <ownedAttribute xmi:id="InformationFlow-conveyed" name="conveyed" type="Classifier" association="A_conveyed_conveyingFlow">
        <ownedComment 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:id="InformationFlow-informationSource" name="informationSource" type="NamedElement" subsettedProperty="DirectedRelationship-source" association="A_informationSource_informationFlow">
        <ownedComment 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:id="InformationFlow-informationTarget" name="informationTarget" type="NamedElement" subsettedProperty="DirectedRelationship-target" association="A_informationTarget_informationFlow">
        <ownedComment 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:id="InformationFlow-realization" name="realization" type="Relationship" association="A_realization_abstraction_flow">
        <ownedComment 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:id="InformationFlow-realizingActivityEdge" name="realizingActivityEdge" type="ActivityEdge" association="A_realizingActivityEdge_informationFlow">
        <ownedComment 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:id="InformationFlow-realizingConnector" name="realizingConnector" type="Connector" association="A_realizingConnector_informationFlow">
        <ownedComment 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:id="InformationFlow-realizingMessage" name="realizingMessage" type="Message" association="A_realizingMessage_informationFlow">
        <ownedComment 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: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:id="InformationItem-sources_and_targets" name="sources_and_targets" constrainedElement="InformationItem">
        <ownedComment 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:id="InformationItem-has_no" name="has_no" constrainedElement="InformationItem">
        <ownedComment 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:id="InformationItem-not_instantiable" name="not_instantiable" constrainedElement="InformationItem">
        <ownedComment 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:id="InformationItem-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="InformationItem-represented" name="represented" type="Classifier" association="A_represented_representation">
        <ownedComment 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" visibility="private" memberEnd="InformationItem-represented A_represented_representation-representation">
      <ownedEnd xmi:id="A_represented_representation-representation" name="representation" type="InformationItem" 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" visibility="private" memberEnd="InformationFlow-conveyed A_conveyed_conveyingFlow-conveyingFlow">
      <ownedEnd xmi:id="A_conveyed_conveyingFlow-conveyingFlow" name="conveyingFlow" type="InformationFlow" 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" visibility="private" memberEnd="InformationFlow-realizingActivityEdge A_realizingActivityEdge_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_realizingActivityEdge_informationFlow-informationFlow" name="informationFlow" type="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" visibility="private" memberEnd="InformationFlow-realizingMessage A_realizingMessage_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_realizingMessage_informationFlow-informationFlow" name="informationFlow" type="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" visibility="private" memberEnd="InformationFlow-informationSource A_informationSource_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_informationSource_informationFlow-informationFlow" name="informationFlow" type="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" visibility="private" memberEnd="InformationFlow-realization A_realization_abstraction_flow-abstraction">
      <ownedEnd xmi:id="A_realization_abstraction_flow-abstraction" name="abstraction" type="InformationFlow" 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" visibility="private" memberEnd="InformationFlow-realizingConnector A_realizingConnector_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_realizingConnector_informationFlow-informationFlow" name="informationFlow" type="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" visibility="private" memberEnd="InformationFlow-informationTarget A_informationTarget_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_informationTarget_informationFlow-informationFlow" name="informationFlow" type="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 xmi:type="uml:Class" xmi:id="ActionExecutionSpecification" name="ActionExecutionSpecification">
      <ownedComment 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:id="ActionExecutionSpecification-action_referenced" name="action_referenced" constrainedElement="ActionExecutionSpecification">
        <ownedComment 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:id="ActionExecutionSpecification-_generalization.0" general="ExecutionSpecification"/>
      <ownedAttribute xmi:id="ActionExecutionSpecification-action" name="action" type="Action" association="A_action_actionExecutionSpecification">
        <ownedComment 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:id="BehaviorExecutionSpecification-_ownedComment.0" annotatedElement="BehaviorExecutionSpecification">
        <body>A BehaviorExecutionSpecification is a kind of ExecutionSpecification representing the execution of a Behavior.</body>
      </ownedComment>
      <generalization xmi:id="BehaviorExecutionSpecification-_generalization.0" general="ExecutionSpecification"/>
      <ownedAttribute xmi:id="BehaviorExecutionSpecification-behavior" name="behavior" type="Behavior" association="A_behavior_behaviorExecutionSpecification">
        <ownedComment 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: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:id="CombinedFragment-break" name="break" constrainedElement="CombinedFragment">
        <ownedComment 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:id="CombinedFragment-consider_and_ignore" name="consider_and_ignore" constrainedElement="CombinedFragment">
        <ownedComment 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:id="CombinedFragment-opt_loop_break_neg" name="opt_loop_break_neg" constrainedElement="CombinedFragment">
        <ownedComment 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:id="CombinedFragment-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="CombinedFragment-cfragmentGate" name="cfragmentGate" type="Gate" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_cfragmentGate_combinedFragment">
        <ownedComment 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:id="CombinedFragment-interactionOperator" name="interactionOperator" type="InteractionOperatorKind">
        <ownedComment 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:id="CombinedFragment-operand" name="operand" type="InteractionOperand" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_operand_combinedFragment">
        <ownedComment 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: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:id="ConsiderIgnoreFragment-consider_or_ignore" name="consider_or_ignore" constrainedElement="ConsiderIgnoreFragment">
        <ownedComment 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:id="ConsiderIgnoreFragment-type" name="type" constrainedElement="ConsiderIgnoreFragment">
        <ownedComment 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:id="ConsiderIgnoreFragment-_generalization.0" general="CombinedFragment"/>
      <ownedAttribute xmi:id="ConsiderIgnoreFragment-message" name="message" type="NamedElement" association="A_message_considerIgnoreFragment">
        <ownedComment 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: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:id="Continuation-first_or_last_interaction_fragment" name="first_or_last_interaction_fragment" constrainedElement="Continuation">
        <ownedComment 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:id="Continuation-same_name" name="same_name" constrainedElement="Continuation">
        <ownedComment 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:id="Continuation-global" name="global" constrainedElement="Continuation">
        <ownedComment 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:id="Continuation-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="Continuation-setting" name="setting">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="DestructionOccurrenceSpecification-_ownedComment.0" annotatedElement="DestructionOccurrenceSpecification">
        <body>A DestructionOccurenceSpecification models the destruction of an object.</body>
      </ownedComment>
      <ownedRule xmi:id="DestructionOccurrenceSpecification-no_occurrence_specifications_below" name="no_occurrence_specifications_below" constrainedElement="DestructionOccurrenceSpecification">
        <ownedComment 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:id="DestructionOccurrenceSpecification-_generalization.0" general="MessageOccurrenceSpecification"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExecutionOccurrenceSpecification" name="ExecutionOccurrenceSpecification">
      <ownedComment 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:id="ExecutionOccurrenceSpecification-_generalization.0" general="OccurrenceSpecification"/>
      <ownedAttribute xmi:id="ExecutionOccurrenceSpecification-execution" name="execution" type="ExecutionSpecification" association="A_execution_executionOccurrenceSpecification">
        <ownedComment 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: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:id="ExecutionSpecification-same_lifeline" name="same_lifeline" constrainedElement="ExecutionSpecification">
        <ownedComment 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:id="ExecutionSpecification-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="ExecutionSpecification-finish" name="finish" type="OccurrenceSpecification" association="A_finish_executionSpecification">
        <ownedComment 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:id="ExecutionSpecification-start" name="start" type="OccurrenceSpecification" association="A_start_executionSpecification">
        <ownedComment 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: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:id="Gate-actual_gate_matched" name="actual_gate_matched" constrainedElement="Gate">
        <ownedComment 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:id="Gate-inside_cf_matched" name="inside_cf_matched" constrainedElement="Gate">
        <ownedComment 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:id="Gate-outside_cf_matched" name="outside_cf_matched" constrainedElement="Gate">
        <ownedComment 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:id="Gate-formal_gate_distinguishable" name="formal_gate_distinguishable" constrainedElement="Gate">
        <ownedComment 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:id="Gate-actual_gate_distinguishable" name="actual_gate_distinguishable" constrainedElement="Gate">
        <ownedComment 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:id="Gate-outside_cf_gate_distinguishable" name="outside_cf_gate_distinguishable" constrainedElement="Gate">
        <ownedComment 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:id="Gate-inside_cf_gate_distinguishable" name="inside_cf_gate_distinguishable" constrainedElement="Gate">
        <ownedComment 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:id="Gate-_generalization.0" general="MessageEnd"/>
      <ownedOperation xmi:id="Gate-isOutsideCF" name="isOutsideCF" bodyCondition="Gate-isOutsideCF-spec" isQuery="true">
        <ownedComment 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:id="Gate-isOutsideCF-spec" name="spec" constrainedElement="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:id="Gate-isOutsideCF-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-isInsideCF" name="isInsideCF" bodyCondition="Gate-isInsideCF-spec" isQuery="true">
        <ownedComment 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:id="Gate-isInsideCF-spec" name="spec" constrainedElement="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:id="Gate-isInsideCF-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-isActual" name="isActual" bodyCondition="Gate-isActual-spec" isQuery="true">
        <ownedComment 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:id="Gate-isActual-spec" name="spec" constrainedElement="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:id="Gate-isActual-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-isFormal" name="isFormal" bodyCondition="Gate-isFormal-spec" isQuery="true">
        <ownedComment 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:id="Gate-isFormal-spec" name="spec" constrainedElement="Gate-isFormal">
          <ownedComment 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:id="Gate-isFormal-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-getName" name="getName" bodyCondition="Gate-getName-spec" isQuery="true">
        <ownedComment 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:id="Gate-getName-spec" name="spec" constrainedElement="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:id="Gate-getName-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-matches" name="matches" bodyCondition="Gate-matches-spec" isQuery="true">
        <ownedComment 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:id="Gate-matches-spec" name="spec" constrainedElement="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:id="Gate-matches-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Gate-matches-gateToMatch" name="gateToMatch" type="Gate"/>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="Gate-isDistinguishableFrom-spec" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
        <ownedComment 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:id="Gate-isDistinguishableFrom-spec" name="spec" constrainedElement="Gate-isDistinguishableFrom">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isDistinguishableFrom-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-isDistinguishableFrom-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Gate-isDistinguishableFrom-n" name="n" type="NamedElement"/>
        <ownedParameter xmi:id="Gate-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-getOperand" name="getOperand" bodyCondition="Gate-getOperand-spec" isQuery="true">
        <ownedComment 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:id="Gate-getOperand-spec" name="spec" constrainedElement="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:id="Gate-getOperand-result" name="result" type="InteractionOperand" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="GeneralOrdering" name="GeneralOrdering">
      <ownedComment 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:id="GeneralOrdering-irreflexive_transitive_closure" name="irreflexive_transitive_closure" constrainedElement="GeneralOrdering">
        <ownedComment 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:id="GeneralOrdering-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="GeneralOrdering-after" name="after" type="OccurrenceSpecification" association="A_toBefore_after">
        <ownedComment 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:id="GeneralOrdering-before" name="before" type="OccurrenceSpecification" association="A_before_toAfter">
        <ownedComment 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: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:id="Interaction-not_contained" name="not_contained" constrainedElement="Interaction">
        <ownedComment 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:id="Interaction-_generalization.0" general="InteractionFragment"/>
      <generalization xmi:id="Interaction-_generalization.1" general="Behavior"/>
      <ownedAttribute xmi:id="Interaction-action" name="action" type="Action" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_action_interaction">
        <ownedComment 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:id="Interaction-formalGate" name="formalGate" type="Gate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_formalGate_interaction">
        <ownedComment 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:id="Interaction-fragment" name="fragment" type="InteractionFragment" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_fragment_enclosingInteraction">
        <ownedComment 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:id="Interaction-lifeline" name="lifeline" type="Lifeline" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_lifeline_interaction">
        <ownedComment 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:id="Interaction-message" name="message" type="Message" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_message_interaction">
        <ownedComment 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:id="InteractionConstraint-_ownedComment.0" annotatedElement="InteractionConstraint">
        <body>An InteractionConstraint is a Boolean expression that guards an operand in a CombinedFragment.</body>
      </ownedComment>
      <ownedRule xmi:id="InteractionConstraint-minint_maxint" name="minint_maxint" constrainedElement="InteractionConstraint">
        <ownedComment 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:id="InteractionConstraint-minint_non_negative" name="minint_non_negative" constrainedElement="InteractionConstraint">
        <ownedComment 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:id="InteractionConstraint-maxint_positive" name="maxint_positive" constrainedElement="InteractionConstraint">
        <ownedComment 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:id="InteractionConstraint-dynamic_variables" name="dynamic_variables" constrainedElement="InteractionConstraint">
        <ownedComment 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:id="InteractionConstraint-global_data" name="global_data" constrainedElement="InteractionConstraint">
        <ownedComment 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:id="InteractionConstraint-maxint_greater_equal_minint" name="maxint_greater_equal_minint" constrainedElement="InteractionConstraint">
        <ownedComment 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:id="InteractionConstraint-_generalization.0" general="Constraint"/>
      <ownedAttribute xmi:id="InteractionConstraint-maxint" name="maxint" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_maxint_interactionConstraint">
        <ownedComment 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:id="InteractionConstraint-minint" name="minint" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_minint_interactionConstraint">
        <ownedComment 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: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:id="InteractionFragment-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="InteractionFragment-covered" name="covered" type="Lifeline" association="A_covered_coveredBy">
        <ownedComment 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:id="InteractionFragment-enclosingInteraction" name="enclosingInteraction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_fragment_enclosingInteraction">
        <ownedComment 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:id="InteractionFragment-enclosingOperand" name="enclosingOperand" type="InteractionOperand" subsettedProperty="NamedElement-namespace" association="A_fragment_enclosingOperand">
        <ownedComment 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:id="InteractionFragment-generalOrdering" name="generalOrdering" type="GeneralOrdering" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_generalOrdering_interactionFragment">
        <ownedComment 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: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:id="InteractionOperand-guard_contain_references" name="guard_contain_references" constrainedElement="InteractionOperand">
        <ownedComment 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:id="InteractionOperand-guard_directly_prior" name="guard_directly_prior" constrainedElement="InteractionOperand">
        <ownedComment 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:id="InteractionOperand-_generalization.0" general="InteractionFragment"/>
      <generalization xmi:id="InteractionOperand-_generalization.1" general="Namespace"/>
      <ownedAttribute xmi:id="InteractionOperand-fragment" name="fragment" type="InteractionFragment" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_fragment_enclosingOperand">
        <ownedComment 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:id="InteractionOperand-guard" name="guard" type="InteractionConstraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_guard_interactionOperand">
        <ownedComment 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: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:id="InteractionUse-gates_match" name="gates_match" constrainedElement="InteractionUse">
        <ownedComment 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:id="InteractionUse-arguments_are_constants" name="arguments_are_constants" constrainedElement="InteractionUse">
        <ownedComment 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:id="InteractionUse-returnValueRecipient_coverage" name="returnValueRecipient_coverage" constrainedElement="InteractionUse">
        <ownedComment 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:id="InteractionUse-arguments_correspond_to_parameters" name="arguments_correspond_to_parameters" constrainedElement="InteractionUse">
        <ownedComment 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:id="InteractionUse-returnValue_type_recipient_correspondence" name="returnValue_type_recipient_correspondence" constrainedElement="InteractionUse">
        <ownedComment 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()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InteractionUse-all_lifelines" name="all_lifelines" constrainedElement="InteractionUse">
        <ownedComment 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:id="InteractionUse-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="InteractionUse-actualGate" name="actualGate" type="Gate" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_actualGate_interactionUse">
        <ownedComment 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:id="InteractionUse-argument" name="argument" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_argument_interactionUse">
        <ownedComment 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:id="InteractionUse-refersTo" name="refersTo" type="Interaction" association="A_refersTo_interactionUse">
        <ownedComment xmi:id="InteractionUse-refersTo-_ownedComment.0" annotatedElement="InteractionUse-refersTo">
          <body>Refers to the Interaction that defines its meaning.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionUse-returnValue" name="returnValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_returnValue_interactionUse">
        <ownedComment 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:id="InteractionUse-returnValueRecipient" name="returnValueRecipient" type="Property" association="A_returnValueRecipient_interactionUse">
        <ownedComment 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: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:id="Lifeline-selector_specified" name="selector_specified" constrainedElement="Lifeline">
        <ownedComment 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:id="Lifeline-interaction_uses_share_lifeline" name="interaction_uses_share_lifeline" constrainedElement="Lifeline">
        <ownedComment 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.</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:id="Lifeline-same_classifier" name="same_classifier" constrainedElement="Lifeline">
        <ownedComment 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:id="Lifeline-selector_int_or_string" name="selector_int_or_string" constrainedElement="Lifeline">
        <ownedComment 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:id="Lifeline-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Lifeline-coveredBy" name="coveredBy" type="InteractionFragment" association="A_covered_coveredBy">
        <ownedComment 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:id="Lifeline-decomposedAs" name="decomposedAs" type="PartDecomposition" association="A_decomposedAs_lifeline">
        <ownedComment 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:id="Lifeline-interaction" name="interaction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_lifeline_interaction">
        <ownedComment xmi:id="Lifeline-interaction-_ownedComment.0" annotatedElement="Lifeline-interaction">
          <body>References the Interaction enclosing this Lifeline.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Lifeline-represents" name="represents" type="ConnectableElement" association="A_represents_lifeline">
        <ownedComment 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:id="Lifeline-selector" name="selector" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_selector_lifeline">
        <ownedComment 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:id="Message-_ownedComment.0" annotatedElement="Message">
        <body>A Message defines a particular communication between Lifelines of an Interaction.</body>
      </ownedComment>
      <ownedRule xmi:id="Message-sending_receiving_message_event" name="sending_receiving_message_event" constrainedElement="Message">
        <ownedComment 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:id="Message-arguments" name="arguments" constrainedElement="Message">
        <ownedComment 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:id="Message-cannot_cross_boundaries" name="cannot_cross_boundaries" constrainedElement="Message">
        <ownedComment 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:id="Message-signature_is_signal" name="signature_is_signal" constrainedElement="Message">
        <ownedComment 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)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Message-occurrence_specifications" name="occurrence_specifications" constrainedElement="Message">
        <ownedComment 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:id="Message-signature_refer_to" name="signature_refer_to" constrainedElement="Message">
        <ownedComment 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:id="Message-signature_is_operation_request" name="signature_is_operation_request" constrainedElement="Message">
        <ownedComment 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:id="Message-signature_is_operation_reply" name="signature_is_operation_reply" constrainedElement="Message">
        <ownedComment 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:id="Message-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Message-argument" name="argument" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_argument_message">
        <ownedComment 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:id="Message-connector" name="connector" type="Connector" association="A_connector_message">
        <ownedComment 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:id="Message-interaction" name="interaction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_message_interaction">
        <ownedComment xmi:id="Message-interaction-_ownedComment.0" annotatedElement="Message-interaction">
          <body>The enclosing Interaction owning the Message.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-messageKind" name="messageKind" type="MessageKind" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="Message-messageKind-_ownedComment.0" annotatedElement="Message-messageKind">
          <body>The derived kind of the Message (complete, lost, found, or unknown).</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="Message-messageKind-_defaultValue" instance="MessageKind-unknown"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-messageSort" name="messageSort" type="MessageSort">
        <ownedComment 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:id="Message-receiveEvent" name="receiveEvent" type="MessageEnd" subsettedProperty="A_message_messageEnd-messageEnd" association="A_receiveEvent_endMessage">
        <ownedComment 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:id="Message-sendEvent" name="sendEvent" type="MessageEnd" subsettedProperty="A_message_messageEnd-messageEnd" association="A_sendEvent_endMessage">
        <ownedComment 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:id="Message-signature" name="signature" type="NamedElement" association="A_signature_message">
        <ownedComment 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:id="Message-messageKind.1" name="messageKind" visibility="protected" bodyCondition="Message-messageKind.1-spec" isQuery="true">
        <ownedComment 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:id="Message-messageKind.1-spec" name="spec" constrainedElement="Message-messageKind.1 Message-messageKind">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-messageKind.1-spec-_specification">
            <language>OCL</language>
            <body>result = (messageKind)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Message-messageKind.1-result" name="result" type="MessageKind" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Message-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="Message-isDistinguishableFrom-spec" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
        <ownedComment 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:id="Message-isDistinguishableFrom-spec" name="spec" constrainedElement="Message-isDistinguishableFrom">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-isDistinguishableFrom-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Message-isDistinguishableFrom-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Message-isDistinguishableFrom-n" name="n" type="NamedElement"/>
        <ownedParameter 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: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:id="MessageEnd-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="MessageEnd-message" name="message" type="Message" association="A_message_messageEnd">
        <ownedComment 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:id="MessageEnd-oppositeEnd" name="oppositeEnd" bodyCondition="MessageEnd-oppositeEnd-spec" isQuery="true" precondition="MessageEnd-oppositeEnd-pre">
        <ownedComment 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:id="MessageEnd-oppositeEnd-spec" name="spec" constrainedElement="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:id="MessageEnd-oppositeEnd-pre" name="pre" constrainedElement="MessageEnd-oppositeEnd">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-oppositeEnd-pre-_specification">
            <language>OCL</language>
            <body>message->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedParameter 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:id="MessageEnd-isSend" name="isSend" bodyCondition="MessageEnd-isSend-spec" isQuery="true" precondition="MessageEnd-isSend-pre">
        <ownedComment 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:id="MessageEnd-isSend-pre" name="pre" constrainedElement="MessageEnd-isSend">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isSend-pre-_specification">
            <language>OCL</language>
            <body>message->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="MessageEnd-isSend-spec" name="spec" constrainedElement="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:id="MessageEnd-isSend-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MessageEnd-isReceive" name="isReceive" bodyCondition="MessageEnd-isReceive-spec" isQuery="true" precondition="MessageEnd-isReceive-pre">
        <ownedComment 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:id="MessageEnd-isReceive-pre" name="pre" constrainedElement="MessageEnd-isReceive">
          <ownedComment 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()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="MessageEnd-isReceive-spec" name="spec" constrainedElement="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:id="MessageEnd-isReceive-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MessageEnd-enclosingFragment" name="enclosingFragment" bodyCondition="MessageEnd-enclosingFragment-spec" isQuery="true">
        <ownedComment 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:id="MessageEnd-enclosingFragment-spec" name="spec" constrainedElement="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: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: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:id="MessageOccurrenceSpecification-_generalization.0" general="MessageEnd"/>
      <generalization xmi:id="MessageOccurrenceSpecification-_generalization.1" general="OccurrenceSpecification"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OccurrenceSpecification" name="OccurrenceSpecification">
      <ownedComment 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:id="OccurrenceSpecification-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="OccurrenceSpecification-covered" name="covered" type="Lifeline" redefinedProperty="InteractionFragment-covered" association="A_covered_events">
        <ownedComment xmi:id="OccurrenceSpecification-covered-_ownedComment.0" annotatedElement="OccurrenceSpecification-covered">
          <body>References the Lifeline on which the OccurrenceSpecification appears.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="OccurrenceSpecification-toAfter" name="toAfter" type="GeneralOrdering" association="A_before_toAfter">
        <ownedComment 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:id="OccurrenceSpecification-toBefore" name="toBefore" type="GeneralOrdering" association="A_toBefore_after">
        <ownedComment 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>
      <ownedOperation xmi:id="OccurrenceSpecification-getCovered" name="getCovered">
        <ownedComment xmi:id="OccurrenceSpecification-getCovered-_ownedComment.0" annotatedElement="OccurrenceSpecification-getCovered">
          <body>Returns the Lifeline on which the OccurrenceSpecification appears.</body>
        </ownedComment>
        <ownedParameter xmi:id="OccurrenceSpecification-getCovered-_ownedParameter.0" type="Lifeline" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OccurrenceSpecification-getCovered-_ownedParameter.0-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OccurrenceSpecification-setCovered" name="setCovered">
        <ownedComment xmi:id="OccurrenceSpecification-setCovered-_ownedComment.0" annotatedElement="OccurrenceSpecification-setCovered">
          <body>Sets the Lifeline on which the OccurrenceSpecification appears.</body>
        </ownedComment>
        <ownedParameter xmi:id="OccurrenceSpecification-setCovered-value" name="value" type="Lifeline"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="PartDecomposition" name="PartDecomposition">
      <ownedComment 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:id="PartDecomposition-commutativity_of_decomposition" name="commutativity_of_decomposition" constrainedElement="PartDecomposition">
        <ownedComment 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:id="PartDecomposition-assume" name="assume" constrainedElement="PartDecomposition">
        <ownedComment 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:id="PartDecomposition-parts_of_internal_structures" name="parts_of_internal_structures" constrainedElement="PartDecomposition">
        <ownedComment 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:id="PartDecomposition-_generalization.0" general="InteractionUse"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StateInvariant" name="StateInvariant">
      <ownedComment 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:id="StateInvariant-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="StateInvariant-covered" name="covered" type="Lifeline" redefinedProperty="InteractionFragment-covered" association="A_covered_stateInvariant">
        <ownedComment xmi:id="StateInvariant-covered-_ownedComment.0" annotatedElement="StateInvariant-covered">
          <body>References the Lifeline on which the StateInvariant appears.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="StateInvariant-invariant" name="invariant" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_invariant_stateInvariant">
        <ownedComment 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: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:id="InteractionOperatorKind-seq" name="seq">
        <ownedComment 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:id="InteractionOperatorKind-alt" name="alt">
        <ownedComment 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:id="InteractionOperatorKind-opt" name="opt">
        <ownedComment 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:id="InteractionOperatorKind-break" name="break">
        <ownedComment 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:id="InteractionOperatorKind-par" name="par">
        <ownedComment 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:id="InteractionOperatorKind-strict" name="strict">
        <ownedComment 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:id="InteractionOperatorKind-loop" name="loop">
        <ownedComment 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:id="InteractionOperatorKind-critical" name="critical">
        <ownedComment 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:id="InteractionOperatorKind-neg" name="neg">
        <ownedComment 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:id="InteractionOperatorKind-assert" name="assert">
        <ownedComment 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:id="InteractionOperatorKind-ignore" name="ignore">
        <ownedComment 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:id="InteractionOperatorKind-consider" name="consider">
        <ownedComment 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" visibility="private">
      <ownedComment xmi:id="MessageKind-_ownedComment.0" annotatedElement="MessageKind">
        <body>This is an enumerated type that identifies the type of Message.</body>
      </ownedComment>
      <ownedLiteral xmi:id="MessageKind-complete" name="complete">
        <ownedComment xmi:id="MessageKind-complete-_ownedComment.0" annotatedElement="MessageKind-complete">
          <body>sendEvent and receiveEvent are present</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageKind-lost" name="lost">
        <ownedComment xmi:id="MessageKind-lost-_ownedComment.0" annotatedElement="MessageKind-lost">
          <body>sendEvent present and receiveEvent absent</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageKind-found" name="found">
        <ownedComment xmi:id="MessageKind-found-_ownedComment.0" annotatedElement="MessageKind-found">
          <body>sendEvent absent and receiveEvent present</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageKind-unknown" name="unknown">
        <ownedComment 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: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:id="MessageSort-synchCall" name="synchCall">
        <ownedComment 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:id="MessageSort-asynchCall" name="asynchCall">
        <ownedComment 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:id="MessageSort-asynchSignal" name="asynchSignal">
        <ownedComment xmi:id="MessageSort-asynchSignal-_ownedComment.0" annotatedElement="MessageSort-asynchSignal">
          <body>The message was generated by an asynchronous send action.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageSort-createMessage" name="createMessage">
        <ownedComment xmi:id="MessageSort-createMessage-_ownedComment.0" annotatedElement="MessageSort-createMessage">
          <body>The message designating the creation of another lifeline object.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageSort-deleteMessage" name="deleteMessage">
        <ownedComment xmi:id="MessageSort-deleteMessage-_ownedComment.0" annotatedElement="MessageSort-deleteMessage">
          <body>The message designating the termination of another lifeline.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageSort-reply" name="reply">
        <ownedComment 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" visibility="private" memberEnd="StateInvariant-invariant A_invariant_stateInvariant-stateInvariant">
      <ownedEnd xmi:id="A_invariant_stateInvariant-stateInvariant" name="stateInvariant" type="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" visibility="private" memberEnd="StateInvariant-covered A_covered_stateInvariant-stateInvariant">
      <ownedEnd xmi:id="A_covered_stateInvariant-stateInvariant" name="stateInvariant" type="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" visibility="private" memberEnd="OccurrenceSpecification-covered A_covered_events-events">
      <ownedEnd xmi:id="A_covered_events-events" name="events" type="OccurrenceSpecification" isOrdered="true" 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" visibility="private" memberEnd="OccurrenceSpecification-toBefore GeneralOrdering-after"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_message_messageEnd" name="A_message_messageEnd" visibility="private" memberEnd="MessageEnd-message A_message_messageEnd-messageEnd">
      <ownedEnd xmi:id="A_message_messageEnd-messageEnd" name="messageEnd" type="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" visibility="private" memberEnd="Message-signature A_signature_message-message">
      <ownedEnd xmi:id="A_signature_message-message" name="message" type="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" visibility="private" memberEnd="Message-connector A_connector_message-message">
      <ownedEnd xmi:id="A_connector_message-message" name="message" type="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" visibility="private" memberEnd="Message-receiveEvent A_receiveEvent_endMessage-endMessage">
      <ownedEnd xmi:id="A_receiveEvent_endMessage-endMessage" name="endMessage" type="Message" 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" visibility="private" memberEnd="Message-sendEvent A_sendEvent_endMessage-endMessage">
      <ownedEnd xmi:id="A_sendEvent_endMessage-endMessage" name="endMessage" type="Message" 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" visibility="private" memberEnd="Message-argument A_argument_message-message">
      <ownedEnd xmi:id="A_argument_message-message" name="message" type="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" visibility="private" memberEnd="Lifeline-selector A_selector_lifeline-lifeline">
      <ownedEnd xmi:id="A_selector_lifeline-lifeline" name="lifeline" type="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" visibility="private" memberEnd="Lifeline-decomposedAs A_decomposedAs_lifeline-lifeline">
      <ownedEnd xmi:id="A_decomposedAs_lifeline-lifeline" name="lifeline" type="Lifeline" association="A_decomposedAs_lifeline"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_represents_lifeline" name="A_represents_lifeline" visibility="private" memberEnd="Lifeline-represents A_represents_lifeline-lifeline">
      <ownedComment 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:id="A_represents_lifeline-lifeline" name="lifeline" type="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" visibility="private" memberEnd="InteractionUse-returnValueRecipient A_returnValueRecipient_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_returnValueRecipient_interactionUse-interactionUse" name="interactionUse" type="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" visibility="private" memberEnd="InteractionUse-refersTo A_refersTo_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_refersTo_interactionUse-interactionUse" name="interactionUse" type="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" visibility="private" memberEnd="InteractionUse-returnValue A_returnValue_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_returnValue_interactionUse-interactionUse" name="interactionUse" type="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" visibility="private" memberEnd="InteractionUse-argument A_argument_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_argument_interactionUse-interactionUse" name="interactionUse" type="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" visibility="private" memberEnd="InteractionUse-actualGate A_actualGate_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_actualGate_interactionUse-interactionUse" name="interactionUse" type="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" visibility="private" memberEnd="InteractionOperand-fragment InteractionFragment-enclosingOperand"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_guard_interactionOperand" name="A_guard_interactionOperand" visibility="private" memberEnd="InteractionOperand-guard A_guard_interactionOperand-interactionOperand">
      <ownedEnd xmi:id="A_guard_interactionOperand-interactionOperand" name="interactionOperand" type="InteractionOperand" subsettedProperty="Element-owner" association="A_guard_interactionOperand"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_generalOrdering_interactionFragment" name="A_generalOrdering_interactionFragment" visibility="private" memberEnd="InteractionFragment-generalOrdering A_generalOrdering_interactionFragment-interactionFragment">
      <ownedEnd xmi:id="A_generalOrdering_interactionFragment-interactionFragment" name="interactionFragment" type="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" visibility="private" memberEnd="InteractionFragment-covered Lifeline-coveredBy">
      <ownedComment 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" visibility="private" memberEnd="InteractionConstraint-minint A_minint_interactionConstraint-interactionConstraint">
      <ownedEnd xmi:id="A_minint_interactionConstraint-interactionConstraint" name="interactionConstraint" type="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" visibility="private" memberEnd="InteractionConstraint-maxint A_maxint_interactionConstraint-interactionConstraint">
      <ownedEnd xmi:id="A_maxint_interactionConstraint-interactionConstraint" name="interactionConstraint" type="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" visibility="private" memberEnd="Interaction-action A_action_interaction-interaction">
      <ownedEnd xmi:id="A_action_interaction-interaction" name="interaction" type="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" visibility="private" memberEnd="Interaction-formalGate A_formalGate_interaction-interaction">
      <ownedEnd xmi:id="A_formalGate_interaction-interaction" name="interaction" type="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" visibility="private" memberEnd="Interaction-lifeline Lifeline-interaction"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_fragment_enclosingInteraction" name="A_fragment_enclosingInteraction" visibility="private" memberEnd="Interaction-fragment InteractionFragment-enclosingInteraction"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_message_interaction" name="A_message_interaction" visibility="private" memberEnd="Interaction-message Message-interaction"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_before_toAfter" name="A_before_toAfter" visibility="private" memberEnd="GeneralOrdering-before OccurrenceSpecification-toAfter"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_finish_executionSpecification" name="A_finish_executionSpecification" visibility="private" memberEnd="ExecutionSpecification-finish A_finish_executionSpecification-executionSpecification">
      <ownedComment 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:id="A_finish_executionSpecification-executionSpecification" name="executionSpecification" type="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" visibility="private" memberEnd="ExecutionSpecification-start A_start_executionSpecification-executionSpecification">
      <ownedComment 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:id="A_start_executionSpecification-executionSpecification" name="executionSpecification" type="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" visibility="private" memberEnd="ExecutionOccurrenceSpecification-execution A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification">
      <ownedEnd xmi:id="A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification" name="executionOccurrenceSpecification" type="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" visibility="private" memberEnd="ConsiderIgnoreFragment-message A_message_considerIgnoreFragment-considerIgnoreFragment">
      <ownedEnd xmi:id="A_message_considerIgnoreFragment-considerIgnoreFragment" name="considerIgnoreFragment" type="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" visibility="private" memberEnd="CombinedFragment-cfragmentGate A_cfragmentGate_combinedFragment-combinedFragment">
      <ownedEnd xmi:id="A_cfragmentGate_combinedFragment-combinedFragment" name="combinedFragment" type="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" visibility="private" memberEnd="CombinedFragment-operand A_operand_combinedFragment-combinedFragment">
      <ownedEnd xmi:id="A_operand_combinedFragment-combinedFragment" name="combinedFragment" type="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" visibility="private" memberEnd="BehaviorExecutionSpecification-behavior A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification">
      <ownedEnd xmi:id="A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification" name="behaviorExecutionSpecification" type="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" visibility="private" memberEnd="ActionExecutionSpecification-action A_action_actionExecutionSpecification-actionExecutionSpecification">
      <ownedEnd xmi:id="A_action_actionExecutionSpecification-actionExecutionSpecification" name="actionExecutionSpecification" type="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 xmi:type="uml:Class" xmi:id="Extension" name="Extension">
      <ownedComment 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:id="Extension-non_owned_end" name="non_owned_end" constrainedElement="Extension">
        <ownedComment 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:id="Extension-is_binary" name="is_binary" constrainedElement="Extension">
        <ownedComment 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:id="Extension-_generalization.0" general="Association"/>
      <ownedAttribute xmi:id="Extension-isRequired" name="isRequired" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Extension-metaclass" name="metaclass" type="Class" isReadOnly="true" isDerived="true" association="A_extension_metaclass">
        <ownedComment 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:id="Extension-ownedEnd" name="ownedEnd" type="ExtensionEnd" aggregation="composite" redefinedProperty="Association-ownedEnd" association="A_ownedEnd_extension">
        <ownedComment 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:id="Extension-getStereotype" name="getStereotype" isQuery="true">
        <ownedComment xmi:id="Extension-getStereotype-_ownedComment.0" annotatedElement="Extension-getStereotype">
          <body>Retrieves the stereotype that extends a metaclass through this extension.</body>
        </ownedComment>
        <ownedParameter xmi:id="Extension-getStereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Extension-getStereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Extension-getStereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Extension-getStereotypeEnd" name="getStereotypeEnd" isQuery="true">
        <ownedComment xmi:id="Extension-getStereotypeEnd-_ownedComment.0" annotatedElement="Extension-getStereotypeEnd">
          <body>Retrieves the extension end that is typed by a stereotype (as opposed to a metaclass).</body>
        </ownedComment>
        <ownedParameter xmi:id="Extension-getStereotypeEnd-_ownedParameter.0" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Extension-getStereotypeEnd-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Extension-getStereotypeEnd-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Extension-isRequired.1" name="isRequired" bodyCondition="Extension-isRequired.1-spec" isQuery="true">
        <ownedComment xmi:id="Extension-isRequired.1-_ownedComment.0" annotatedElement="Extension-isRequired.1">
          <body>The query isRequired() is true if the owned end has a multiplicity with the lower bound of 1.</body>
        </ownedComment>
        <ownedRule xmi:id="Extension-isRequired.1-spec" name="spec" constrainedElement="Extension-isRequired.1 Extension-isRequired">
          <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:id="Extension-isRequired.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Extension-metaclass.1" name="metaclass" visibility="protected" bodyCondition="Extension-metaclass.1-spec" isQuery="true">
        <ownedComment 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:id="Extension-metaclass.1-spec" name="spec" constrainedElement="Extension-metaclass.1 Extension-metaclass">
          <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:id="Extension-metaclass.1-result" name="result" type="Class" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Extension-metaclassEnd" name="metaclassEnd" bodyCondition="Extension-metaclassEnd-spec" isQuery="true">
        <ownedComment 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:id="Extension-metaclassEnd-spec" name="spec" constrainedElement="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:id="Extension-metaclassEnd-result" name="result" type="Property" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExtensionEnd" name="ExtensionEnd">
      <ownedComment 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:id="ExtensionEnd-multiplicity" name="multiplicity" constrainedElement="ExtensionEnd">
        <ownedComment 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:id="ExtensionEnd-aggregation" name="aggregation" constrainedElement="ExtensionEnd">
        <ownedComment 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:id="ExtensionEnd-_generalization.0" general="Property"/>
      <ownedAttribute xmi:id="ExtensionEnd-lower" name="lower" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExtensionEnd-lower-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExtensionEnd-type" name="type" type="Stereotype" redefinedProperty="TypedElement-type" association="A_type_extensionEnd">
        <ownedComment 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:id="ExtensionEnd-getLower" name="getLower" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="ExtensionEnd-getLower-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ExtensionEnd-setLower" name="setLower">
        <ownedParameter xmi:id="ExtensionEnd-setLower-newLower" name="newLower" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ExtensionEnd-lowerBound" name="lowerBound" bodyCondition="ExtensionEnd-lowerBound-spec" isQuery="true" redefinedOperation="MultiplicityElement-lowerBound">
        <ownedComment xmi:id="ExtensionEnd-lowerBound-_ownedComment.0" annotatedElement="ExtensionEnd-lowerBound">
          <body>The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default lower bound, which normally, for MultiplicityElements, evaluates to 1 if empty.</body>
        </ownedComment>
        <ownedRule xmi:id="ExtensionEnd-lowerBound-spec" name="spec" constrainedElement="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:id="ExtensionEnd-lowerBound-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="Image-_ownedComment.0" annotatedElement="Image">
        <body>Physical definition of a graphical image.</body>
      </ownedComment>
      <generalization xmi:id="Image-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Image-content" name="content">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Image-content-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Image-format" name="format">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Image-format-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Image-location" name="location">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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: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:id="Model-_generalization.0" general="Package"/>
      <ownedAttribute xmi:id="Model-viewpoint" name="viewpoint">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Model-viewpoint-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Model-isMetamodel" name="isMetamodel" isQuery="true">
        <ownedComment xmi:id="Model-isMetamodel-_ownedComment.0" annotatedElement="Model-isMetamodel">
          <body>Determines whether this model is a metamodel.</body>
        </ownedComment>
        <ownedParameter xmi:id="Model-isMetamodel-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Package" name="Package">
      <ownedComment 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:id="Package-elements_public_or_private" name="elements_public_or_private" constrainedElement="Package">
        <ownedComment 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:id="Package-_generalization.0" general="PackageableElement"/>
      <generalization xmi:id="Package-_generalization.1" general="TemplateableElement"/>
      <generalization xmi:id="Package-_generalization.2" general="Namespace"/>
      <ownedAttribute xmi:id="Package-URI" name="URI">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-URI-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-nestedPackage" name="nestedPackage" type="Package" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_nestedPackage_nestingPackage">
        <ownedComment 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:id="Package-nestingPackage" name="nestingPackage" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage NamedElement-namespace" association="A_nestedPackage_nestingPackage">
        <ownedComment xmi:id="Package-nestingPackage-_ownedComment.0" annotatedElement="Package-nestingPackage">
          <body>References the Package that owns this Package.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-nestingPackage-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-ownedStereotype" name="ownedStereotype" type="Stereotype" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_ownedStereotype_owningPackage">
        <ownedComment 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:id="Package-ownedType" name="ownedType" type="Type" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_ownedType_package">
        <ownedComment 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:id="Package-packageMerge" name="packageMerge" type="PackageMerge" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_packageMerge_receivingPackage">
        <ownedComment 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:id="Package-packagedElement" name="packagedElement" type="PackageableElement" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_packagedElement_owningPackage">
        <ownedComment 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:id="Package-profileApplication" name="profileApplication" type="ProfileApplication" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_profileApplication_applyingPackage">
        <ownedComment 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:id="Package-applyProfile" name="applyProfile">
        <ownedComment xmi:id="Package-applyProfile-_ownedComment.0" annotatedElement="Package-applyProfile">
          <body>Applies the current definition of the specified profile to this package and automatically applies required stereotypes in the profile to elements within this package's namespace hieararchy. If a different definition is already applied, automatically migrates any associated stereotype values on a &quot;best effort&quot; basis (matching classifiers and structural features by name).</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-applyProfile-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-applyProfile-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-applyProfile-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-applyProfile-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-applyProfile-profile-_ownedComment.0" annotatedElement="Package-applyProfile-profile">
            <body>The profile to apply.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedClass" name="createOwnedClass">
        <ownedComment xmi:id="Package-createOwnedClass-_ownedComment.0" annotatedElement="Package-createOwnedClass">
          <body>Creates a(n) (abstract) class with the specified name as an owned type of this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedClass-_ownedParameter.0" type="Class" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedClass-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedClass-name-_ownedComment.0" annotatedElement="Package-createOwnedClass-name">
            <body>The name for the new class, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-createOwnedClass-isAbstract" name="isAbstract" effect="read">
          <ownedComment xmi:id="Package-createOwnedClass-isAbstract-_ownedComment.0" annotatedElement="Package-createOwnedClass-isAbstract">
            <body>Whether the new class should be abstract.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedEnumeration" name="createOwnedEnumeration">
        <ownedComment xmi:id="Package-createOwnedEnumeration-_ownedComment.0" annotatedElement="Package-createOwnedEnumeration">
          <body>Creates a enumeration with the specified name as an owned type of this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedEnumeration-_ownedParameter.0" type="Enumeration" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedEnumeration-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedEnumeration-name-_ownedComment.0" annotatedElement="Package-createOwnedEnumeration-name">
            <body>The name for the new enumeration, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedInterface" name="createOwnedInterface">
        <ownedComment xmi:id="Package-createOwnedInterface-_ownedComment.0" annotatedElement="Package-createOwnedInterface">
          <body>Creates an interface with the specified name as an owned type of this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedInterface-_ownedParameter.0" type="Interface" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedInterface-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedInterface-name-_ownedComment.0" annotatedElement="Package-createOwnedInterface-name">
            <body>The name for the new interface, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedPrimitiveType" name="createOwnedPrimitiveType">
        <ownedComment xmi:id="Package-createOwnedPrimitiveType-_ownedComment.0" annotatedElement="Package-createOwnedPrimitiveType">
          <body>Creates a primitive type with the specified name as an owned type of this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedPrimitiveType-_ownedParameter.0" type="PrimitiveType" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedPrimitiveType-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedPrimitiveType-name-_ownedComment.0" annotatedElement="Package-createOwnedPrimitiveType-name">
            <body>The name for the new primitive type, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedStereotype" name="createOwnedStereotype">
        <ownedComment xmi:id="Package-createOwnedStereotype-_ownedComment.0" annotatedElement="Package-createOwnedStereotype">
          <body>Creates a(n) (abstract) stereotype with the specified name as an owned stereotype of this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedStereotype-_ownedParameter.0" type="Stereotype" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedStereotype-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedStereotype-name-_ownedComment.0" annotatedElement="Package-createOwnedStereotype-name">
            <body>The name for the new stereotype, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-createOwnedStereotype-isAbstract" name="isAbstract" effect="read">
          <ownedComment xmi:id="Package-createOwnedStereotype-isAbstract-_ownedComment.0" annotatedElement="Package-createOwnedStereotype-isAbstract">
            <body>Whether the new stereotype should be abstract.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAllAppliedProfiles" name="getAllAppliedProfiles" isQuery="true">
        <ownedComment xmi:id="Package-getAllAppliedProfiles-_ownedComment.0" annotatedElement="Package-getAllAppliedProfiles">
          <body>Retrieves all the profiles that are applied to this package, including profiles applied to its nesting package(s).</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAllProfileApplications" name="getAllProfileApplications" isQuery="true">
        <ownedComment xmi:id="Package-getAllProfileApplications-_ownedComment.0" annotatedElement="Package-getAllProfileApplications">
          <body>Retrieves all the profile applications for this package, including profile applications for its nesting package(s).</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAllProfileApplications-_ownedParameter.0" type="ProfileApplication" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAllProfileApplications-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAllProfileApplications-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAppliedProfile" name="getAppliedProfile" isQuery="true">
        <ownedComment xmi:id="Package-getAppliedProfile-_ownedComment.0" annotatedElement="Package-getAppliedProfile">
          <body>Retrieves the profile with the specified qualified name that is applied to this package, or null if no such profile is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAppliedProfile-_ownedParameter.0" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfile-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfile-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getAppliedProfile-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Package-getAppliedProfile-qualifiedName-_ownedComment.0" annotatedElement="Package-getAppliedProfile-qualifiedName">
            <body>The qualified name of the applied profile to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAppliedProfile.1" name="getAppliedProfile" isQuery="true">
        <ownedComment xmi:id="Package-getAppliedProfile.1-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1">
          <body>Retrieves the profile with the specified qualified name that is applied to this package or any of its nesting packages (if indicated), or null if no such profile is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAppliedProfile.1-_ownedParameter.0" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfile.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfile.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getAppliedProfile.1-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Package-getAppliedProfile.1-qualifiedName-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1-qualifiedName">
            <body>The qualified name of the applied profile to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getAppliedProfile.1-recurse" name="recurse" effect="read">
          <ownedComment xmi:id="Package-getAppliedProfile.1-recurse-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1-recurse">
            <body>Whether to look in nesting packages.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAppliedProfiles" name="getAppliedProfiles" isQuery="true">
        <ownedComment xmi:id="Package-getAppliedProfiles-_ownedComment.0" annotatedElement="Package-getAppliedProfiles">
          <body>Retrieves the profiles that are applied to this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAppliedProfiles-_ownedParameter.0" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfiles-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfiles-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getProfileApplication" name="getProfileApplication" isQuery="true">
        <ownedComment xmi:id="Package-getProfileApplication-_ownedComment.0" annotatedElement="Package-getProfileApplication">
          <body>Retrieves the application of the specified profile to this package, or null if no such profile is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getProfileApplication-_ownedParameter.0" type="ProfileApplication" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getProfileApplication-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getProfileApplication-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getProfileApplication-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-getProfileApplication-profile-_ownedComment.0" annotatedElement="Package-getProfileApplication-profile">
            <body>The profile whose application to retrieve.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getProfileApplication.1" name="getProfileApplication" isQuery="true">
        <ownedComment xmi:id="Package-getProfileApplication.1-_ownedComment.0" annotatedElement="Package-getProfileApplication.1">
          <body>Retrieves the application of the specified profile to this package or any of its nesting packages (if indicated), or null if no such profile is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getProfileApplication.1-_ownedParameter.0" type="ProfileApplication" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getProfileApplication.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getProfileApplication.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getProfileApplication.1-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-getProfileApplication.1-profile-_ownedComment.0" annotatedElement="Package-getProfileApplication.1-profile">
            <body>The profile whose application to retrieve.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getProfileApplication.1-recurse" name="recurse" effect="read">
          <ownedComment xmi:id="Package-getProfileApplication.1-recurse-_ownedComment.0" annotatedElement="Package-getProfileApplication.1-recurse">
            <body>Whether to look in nesting packages.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-isModelLibrary" name="isModelLibrary" isQuery="true">
        <ownedComment xmi:id="Package-isModelLibrary-_ownedComment.0" annotatedElement="Package-isModelLibrary">
          <body>Determines whether this package is a model library.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-isModelLibrary-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-isProfileApplied" name="isProfileApplied" isQuery="true">
        <ownedComment xmi:id="Package-isProfileApplied-_ownedComment.0" annotatedElement="Package-isProfileApplied">
          <body>Determines whether the specified profile is applied to this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-isProfileApplied-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-isProfileApplied-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-isProfileApplied-profile-_ownedComment.0" annotatedElement="Package-isProfileApplied-profile">
            <body>The profile in question.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-unapplyProfile" name="unapplyProfile">
        <ownedComment xmi:id="Package-unapplyProfile-_ownedComment.0" annotatedElement="Package-unapplyProfile">
          <body>Unapplies the specified profile from this package and automatically unapplies stereotypes in the profile from elements within this package's namespace hieararchy.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-unapplyProfile-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-unapplyProfile-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-unapplyProfile-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-unapplyProfile-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-unapplyProfile-profile-_ownedComment.0" annotatedElement="Package-unapplyProfile-profile">
            <body>The profile to unapply.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-allApplicableStereotypes" name="allApplicableStereotypes" bodyCondition="Package-allApplicableStereotypes-spec" isQuery="true">
        <ownedComment xmi:id="Package-allApplicableStereotypes-_ownedComment.0" annotatedElement="Package-allApplicableStereotypes">
          <body>The query allApplicableStereotypes() returns all the directly or indirectly owned stereotypes, including stereotypes contained in sub-profiles.</body>
        </ownedComment>
        <ownedRule xmi:id="Package-allApplicableStereotypes-spec" name="spec" constrainedElement="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: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:id="Package-containingProfile" name="containingProfile" bodyCondition="Package-containingProfile-spec" isQuery="true">
        <ownedComment 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:id="Package-containingProfile-spec" name="spec" constrainedElement="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: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:id="Package-makesVisible" name="makesVisible" bodyCondition="Package-makesVisible-spec" isQuery="true" precondition="Package-makesVisible-pre">
        <ownedComment 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:id="Package-makesVisible-pre" name="pre" constrainedElement="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:id="Package-makesVisible-spec" name="spec" constrainedElement="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:id="Package-makesVisible-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-makesVisible-el" name="el" type="NamedElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Package-mustBeOwned" name="mustBeOwned" bodyCondition="Package-mustBeOwned-spec" isQuery="true" redefinedOperation="Element-mustBeOwned">
        <ownedComment 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:id="Package-mustBeOwned-spec" name="spec" constrainedElement="Package-mustBeOwned">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-mustBeOwned-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-mustBeOwned-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-nestedPackage.1" name="nestedPackage" visibility="protected" bodyCondition="Package-nestedPackage.1-spec" isQuery="true">
        <ownedComment xmi:id="Package-nestedPackage.1-_ownedComment.0" annotatedElement="Package-nestedPackage.1">
          <body>Derivation for Package::/nestedPackage</body>
        </ownedComment>
        <ownedRule xmi:id="Package-nestedPackage.1-spec" name="spec" constrainedElement="Package-nestedPackage.1 Package-nestedPackage">
          <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: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:id="Package-ownedStereotype.1" name="ownedStereotype" visibility="protected" bodyCondition="Package-ownedStereotype.1-spec" isQuery="true">
        <ownedComment xmi:id="Package-ownedStereotype.1-_ownedComment.0" annotatedElement="Package-ownedStereotype.1">
          <body>Derivation for Package::/ownedStereotype</body>
        </ownedComment>
        <ownedRule xmi:id="Package-ownedStereotype.1-spec" name="spec" constrainedElement="Package-ownedStereotype.1 Package-ownedStereotype">
          <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: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:id="Package-ownedType.1" name="ownedType" visibility="protected" bodyCondition="Package-ownedType.1-spec" isQuery="true">
        <ownedComment xmi:id="Package-ownedType.1-_ownedComment.0" annotatedElement="Package-ownedType.1">
          <body>Derivation for Package::/ownedType</body>
        </ownedComment>
        <ownedRule xmi:id="Package-ownedType.1-spec" name="spec" constrainedElement="Package-ownedType.1 Package-ownedType">
          <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: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:id="Package-visibleMembers" name="visibleMembers" bodyCondition="Package-visibleMembers-spec" isQuery="true">
        <ownedComment 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:id="Package-visibleMembers-spec" name="spec" constrainedElement="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: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: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:id="PackageMerge-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="PackageMerge-mergedPackage" name="mergedPackage" type="Package" subsettedProperty="DirectedRelationship-target" association="A_mergedPackage_packageMerge">
        <ownedComment 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:id="PackageMerge-receivingPackage" name="receivingPackage" type="Package" subsettedProperty="DirectedRelationship-source Element-owner" association="A_packageMerge_receivingPackage">
        <ownedComment 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: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:id="Profile-metaclass_reference_not_specialized" name="metaclass_reference_not_specialized" constrainedElement="Profile">
        <ownedComment 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:id="Profile-references_same_metamodel" name="references_same_metamodel" constrainedElement="Profile">
        <ownedComment 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:id="Profile-_generalization.0" general="Package"/>
      <ownedAttribute xmi:id="Profile-metaclassReference" name="metaclassReference" type="ElementImport" aggregation="composite" subsettedProperty="Namespace-elementImport" association="A_metaclassReference_profile">
        <ownedComment 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:id="Profile-metamodelReference" name="metamodelReference" type="PackageImport" aggregation="composite" subsettedProperty="Namespace-packageImport" association="A_metamodelReference_profile">
        <ownedComment 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>
      <ownedOperation xmi:id="Profile-create" name="create">
        <ownedComment xmi:id="Profile-create-_ownedComment.0" annotatedElement="Profile-create">
          <body>Creates and returns an instance of (the Ecore representation of) the specified classifier defined in this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-create-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-create-classifier" name="classifier" type="Classifier" effect="read">
          <ownedComment xmi:id="Profile-create-classifier-_ownedComment.0" annotatedElement="Profile-create-classifier">
            <body>The classifier of which to create an instance.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-define" name="define">
        <ownedComment xmi:id="Profile-define-_ownedComment.0" annotatedElement="Profile-define">
          <body>Defines this profile by (re)creating Ecore representations of its current contents.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-define-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-define-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-define-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-define.1" name="define">
        <ownedComment xmi:id="Profile-define.1-_ownedComment.0" annotatedElement="Profile-define.1">
          <body>Defines this profile by (re)creating Ecore representations of its current contents, using the specified options, diagnostics, and context.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-define.1-_ownedParameter.0" name="" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-define.1-options" name="options" type="Profile-EMap_EString_EString">
          <ownedComment xmi:id="Profile-define.1-options-_ownedComment.0" annotatedElement="Profile-define.1-options">
            <body>The options to use.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-define.1-diagnostics" name="diagnostics">
          <ownedComment xmi:id="Profile-define.1-diagnostics-_ownedComment.0" annotatedElement="Profile-define.1-diagnostics">
            <body>The chain of diagnostics to which problems are to be appended.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EDiagnosticChain"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-define.1-context" name="context" type="Profile-EMap_EJavaObject_EJavaObject">
          <ownedComment xmi:id="Profile-define.1-context-_ownedComment.0" annotatedElement="Profile-define.1-context">
            <body>The cache of context-specific information.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getDefinition" name="getDefinition" isQuery="true">
        <ownedComment xmi:id="Profile-getDefinition-_ownedComment.0" annotatedElement="Profile-getDefinition">
          <body>Retrieves the current definition (Ecore representation) of this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getDefinition-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getDefinition-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getDefinition-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getDefinition.1" name="getDefinition" isQuery="true">
        <ownedComment xmi:id="Profile-getDefinition.1-_ownedComment.0" annotatedElement="Profile-getDefinition.1">
          <body>Retrieves the current definition (Ecore representation) of the specified named element in this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getDefinition.1-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#ENamedElement"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getDefinition.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getDefinition.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-getDefinition.1-namedElement" name="namedElement" type="NamedElement" effect="read">
          <ownedComment xmi:id="Profile-getDefinition.1-namedElement-_ownedComment.0" annotatedElement="Profile-getDefinition.1-namedElement">
            <body>The named element whose definition to retrieve.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getOwnedExtensions" name="getOwnedExtensions" isQuery="true">
        <ownedComment xmi:id="Profile-getOwnedExtensions-_ownedComment.0" annotatedElement="Profile-getOwnedExtensions">
          <body>Retrieves the extensions owned by this profile, excluding non-required extensions if indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getOwnedExtensions-_ownedParameter.0" type="Extension" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getOwnedExtensions-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getOwnedExtensions-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-getOwnedExtensions-requiredOnly" name="requiredOnly" effect="read">
          <ownedComment xmi:id="Profile-getOwnedExtensions-requiredOnly-_ownedComment.0" annotatedElement="Profile-getOwnedExtensions-requiredOnly">
            <body>Whether to retrieve only required extensions.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getReferencedMetaclasses" name="getReferencedMetaclasses" isQuery="true">
        <ownedComment xmi:id="Profile-getReferencedMetaclasses-_ownedComment.0" annotatedElement="Profile-getReferencedMetaclasses">
          <body>Retrieves the metaclasses referenced by this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0" type="Class" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getReferencedMetamodels" name="getReferencedMetamodels" isQuery="true">
        <ownedComment xmi:id="Profile-getReferencedMetamodels-_ownedComment.0" annotatedElement="Profile-getReferencedMetamodels">
          <body>Retrieves the metamodels referenced by this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0" type="Model" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-isDefined" name="isDefined" isQuery="true">
        <ownedComment xmi:id="Profile-isDefined-_ownedComment.0" annotatedElement="Profile-isDefined">
          <body>Determines whether this profile is defined.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-isDefined-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="Profile-EMap_EJavaObject_EJavaObject" name="EMap_EJavaObject_EJavaObject">
        <templateBinding xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0">
          <parameterSubstitution xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0-_parameterSubstitution.0">
            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature-_ownedParameter.0"/>
          </parameterSubstitution>
          <parameterSubstitution xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0-_parameterSubstitution.1">
            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature-_ownedParameter.1"/>
          </parameterSubstitution>
          <signature xmi:type="uml:RedefinableTemplateSignature" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature"/>
        </templateBinding>
      </nestedClassifier>
      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="Profile-EMap_EString_EString" name="EMap_EString_EString">
        <templateBinding xmi:id="Profile-EMap_EString_EString-_templateBinding.0">
          <parameterSubstitution xmi:id="Profile-EMap_EString_EString-_templateBinding.0-_parameterSubstitution.0">
            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EString"/>
            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature-_ownedParameter.0"/>
          </parameterSubstitution>
          <parameterSubstitution xmi:id="Profile-EMap_EString_EString-_templateBinding.0-_parameterSubstitution.1">
            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EString"/>
            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature-_ownedParameter.1"/>
          </parameterSubstitution>
          <signature xmi:type="uml:RedefinableTemplateSignature" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature"/>
        </templateBinding>
      </nestedClassifier>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ProfileApplication" name="ProfileApplication">
      <ownedComment 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:id="ProfileApplication-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="ProfileApplication-appliedProfile" name="appliedProfile" type="Profile" subsettedProperty="DirectedRelationship-target" association="A_appliedProfile_profileApplication">
        <ownedComment 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:id="ProfileApplication-applyingPackage" name="applyingPackage" type="Package" subsettedProperty="DirectedRelationship-source Element-owner" association="A_profileApplication_applyingPackage">
        <ownedComment xmi:id="ProfileApplication-applyingPackage-_ownedComment.0" annotatedElement="ProfileApplication-applyingPackage">
          <body>The package that owns the profile application.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ProfileApplication-isStrict" name="isStrict">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ProfileApplication-isStrict-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ProfileApplication-getAppliedDefinition" name="getAppliedDefinition" isQuery="true">
        <ownedComment xmi:id="ProfileApplication-getAppliedDefinition-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition">
          <body>Retrieves the definition (Ecore representation) of the profile associated with this profile application.</body>
        </ownedComment>
        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ProfileApplication-getAppliedDefinition.1" name="getAppliedDefinition" isQuery="true">
        <ownedComment xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition.1">
          <body>Retrieves the definition (Ecore representation) of the specified named element in the profile associated with this profile application.</body>
        </ownedComment>
        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#ENamedElement"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition.1-namedElement" name="namedElement" type="NamedElement" effect="read">
          <ownedComment xmi:id="ProfileApplication-getAppliedDefinition.1-namedElement-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition.1-namedElement">
            <body>The named element for which to retrieve the applied definition.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Stereotype" name="Stereotype">
      <ownedComment 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:id="Stereotype-binaryAssociationsOnly" name="binaryAssociationsOnly" constrainedElement="Stereotype">
        <ownedComment 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:id="Stereotype-generalize" name="generalize" constrainedElement="Stereotype">
        <ownedComment 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))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Stereotype-name_not_clash" name="name_not_clash" constrainedElement="Stereotype">
        <ownedComment 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:id="Stereotype-associationEndOwnership" name="associationEndOwnership" constrainedElement="Stereotype">
        <ownedComment 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:id="Stereotype-base_property_upper_bound" name="base_property_upper_bound" constrainedElement="Stereotype">
        <ownedComment 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:id="Stereotype-base_property_multiplicity_single_extension" name="base_property_multiplicity_single_extension" constrainedElement="Stereotype">
        <ownedComment 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:id="Stereotype-base_property_multiplicity_multiple_extension" name="base_property_multiplicity_multiple_extension" constrainedElement="Stereotype">
        <ownedComment 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:id="Stereotype-_generalization.0" general="Class"/>
      <ownedAttribute xmi:id="Stereotype-icon" name="icon" type="Image" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_icon_stereotype">
        <ownedComment 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:id="Stereotype-profile" name="profile" type="Profile" isReadOnly="true" isDerived="true" association="A_profile_stereotype">
        <ownedComment xmi:id="Stereotype-profile-_ownedComment.0" annotatedElement="Stereotype-profile">
          <body>The profile that directly or indirectly contains this stereotype.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="Stereotype-createExtension" name="createExtension">
        <ownedComment xmi:id="Stereotype-createExtension-_ownedComment.0" annotatedElement="Stereotype-createExtension">
          <body>Creates a(n) (required) extension of the specified metaclass with this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-createExtension-_ownedParameter.0" type="Extension" direction="return"/>
        <ownedParameter xmi:id="Stereotype-createExtension-metaclass" name="metaclass" type="Class" effect="read">
          <ownedComment xmi:id="Stereotype-createExtension-metaclass-_ownedComment.0" annotatedElement="Stereotype-createExtension-metaclass">
            <body>The metaclass for the new extension.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Stereotype-createExtension-isRequired" name="isRequired" effect="read">
          <ownedComment xmi:id="Stereotype-createExtension-isRequired-_ownedComment.0" annotatedElement="Stereotype-createExtension-isRequired">
            <body>Whether the new extension should be required.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-createIcon" name="createIcon">
        <ownedComment xmi:id="Stereotype-createIcon-_ownedComment.0" annotatedElement="Stereotype-createIcon">
          <body>Creates an icon with the specified location for this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-createIcon-_ownedParameter.0" type="Image" direction="return"/>
        <ownedParameter xmi:id="Stereotype-createIcon-location" name="location" effect="read">
          <ownedComment xmi:id="Stereotype-createIcon-location-_ownedComment.0" annotatedElement="Stereotype-createIcon-location">
            <body>The location for the new icon.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-createIcon.1" name="createIcon">
        <ownedComment xmi:id="Stereotype-createIcon.1-_ownedComment.0" annotatedElement="Stereotype-createIcon.1">
          <body>Creates an icon with the specified format and content for this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-createIcon.1-_ownedParameter.0" type="Image" direction="return"/>
        <ownedParameter xmi:id="Stereotype-createIcon.1-format" name="format" effect="read">
          <ownedComment xmi:id="Stereotype-createIcon.1-format-_ownedComment.0" annotatedElement="Stereotype-createIcon.1-format">
            <body>The format for the new icon.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Stereotype-createIcon.1-content" name="content" effect="read">
          <ownedComment xmi:id="Stereotype-createIcon.1-content-_ownedComment.0" annotatedElement="Stereotype-createIcon.1-content">
            <body>The content for the new icon.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getAllExtendedMetaclasses" name="getAllExtendedMetaclasses" isQuery="true">
        <ownedComment xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedComment.0" annotatedElement="Stereotype-getAllExtendedMetaclasses">
          <body>Retrieves all the metaclasses extended by this stereotype, including the metaclasses extended by its superstereotypes.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0" type="Class" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getDefinition" name="getDefinition" isQuery="true">
        <ownedComment xmi:id="Stereotype-getDefinition-_ownedComment.0" annotatedElement="Stereotype-getDefinition">
          <body>Retrieves the current definition (Ecore representation) of this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getDefinition-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getDefinition-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getDefinition-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getExtendedMetaclasses" name="getExtendedMetaclasses" isQuery="true">
        <ownedComment xmi:id="Stereotype-getExtendedMetaclasses-_ownedComment.0" annotatedElement="Stereotype-getExtendedMetaclasses">
          <body>Retrieves the metaclasses extended by this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0" type="Class" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getKeyword" name="getKeyword" isQuery="true">
        <ownedComment xmi:id="Stereotype-getKeyword-_ownedComment.0" annotatedElement="Stereotype-getKeyword">
          <body>Retrieves the localized keyword for this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getKeyword-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getKeyword.1" name="getKeyword" isQuery="true">
        <ownedComment xmi:id="Stereotype-getKeyword.1-_ownedComment.0" annotatedElement="Stereotype-getKeyword.1">
          <body>Retrieves the keyword for this stereotype, localized if indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getKeyword.1-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Stereotype-getKeyword.1-localize" name="localize" effect="read">
          <ownedComment xmi:id="Stereotype-getKeyword.1-localize-_ownedComment.0" annotatedElement="Stereotype-getKeyword.1-localize">
            <body>Whether to localize the keyword.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-containingProfile" name="containingProfile" bodyCondition="Stereotype-containingProfile-spec" isQuery="true">
        <ownedComment xmi:id="Stereotype-containingProfile-_ownedComment.0" annotatedElement="Stereotype-containingProfile">
          <body>The query containingProfile returns the closest profile directly or indirectly containing this stereotype.</body>
        </ownedComment>
        <ownedRule xmi:id="Stereotype-containingProfile-spec" name="spec" constrainedElement="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:id="Stereotype-containingProfile-result" name="result" type="Profile" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-profile.1" name="profile" visibility="protected" bodyCondition="Stereotype-profile.1-spec" isQuery="true">
        <ownedComment 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:id="Stereotype-profile.1-spec" name="spec" constrainedElement="Stereotype-profile.1 Stereotype-profile">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-profile.1-spec-_specification">
            <language>OCL</language>
            <body>result = (self.containingProfile())</body>
          </specification>
        </ownedRule>
        <ownedParameter 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" visibility="private" isDerived="true" memberEnd="Stereotype-profile A_profile_stereotype-stereotype">
      <ownedEnd xmi:id="A_profile_stereotype-stereotype" name="stereotype" type="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" visibility="private" memberEnd="Stereotype-icon A_icon_stereotype-stereotype">
      <ownedEnd xmi:id="A_icon_stereotype-stereotype" name="stereotype" type="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" visibility="private" memberEnd="ProfileApplication-appliedProfile A_appliedProfile_profileApplication-profileApplication">
      <ownedEnd xmi:id="A_appliedProfile_profileApplication-profileApplication" name="profileApplication" type="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" visibility="private" memberEnd="Profile-metaclassReference A_metaclassReference_profile-profile">
      <ownedEnd xmi:id="A_metaclassReference_profile-profile" name="profile" type="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" visibility="private" memberEnd="Profile-metamodelReference A_metamodelReference_profile-profile">
      <ownedEnd xmi:id="A_metamodelReference_profile-profile" name="profile" type="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" visibility="private" memberEnd="PackageMerge-mergedPackage A_mergedPackage_packageMerge-packageMerge">
      <ownedEnd xmi:id="A_mergedPackage_packageMerge-packageMerge" name="packageMerge" type="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" visibility="private" memberEnd="Package-packagedElement A_packagedElement_owningPackage-owningPackage">
      <ownedEnd xmi:id="A_packagedElement_owningPackage-owningPackage" name="owningPackage" type="Package" 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" visibility="private" memberEnd="Package-packageMerge PackageMerge-receivingPackage"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nestedPackage_nestingPackage" name="A_nestedPackage_nestingPackage" visibility="private" memberEnd="Package-nestedPackage Package-nestingPackage"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_profileApplication_applyingPackage" name="A_profileApplication_applyingPackage" visibility="private" memberEnd="Package-profileApplication ProfileApplication-applyingPackage"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedType_package" name="A_ownedType_package" visibility="private" memberEnd="Package-ownedType Type-package"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedStereotype_owningPackage" name="A_ownedStereotype_owningPackage" visibility="private" isDerived="true" memberEnd="Package-ownedStereotype A_ownedStereotype_owningPackage-owningPackage">
      <generalization xmi:id="A_ownedStereotype_owningPackage-_generalization.0" general="A_packagedElement_owningPackage"/>
      <ownedEnd xmi:id="A_ownedStereotype_owningPackage-owningPackage" name="owningPackage" type="Package" redefinedProperty="A_packagedElement_owningPackage-owningPackage" association="A_ownedStereotype_owningPackage"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_type_extensionEnd" name="A_type_extensionEnd" visibility="private" memberEnd="ExtensionEnd-type A_type_extensionEnd-extensionEnd">
      <ownedEnd xmi:id="A_type_extensionEnd-extensionEnd" name="extensionEnd" 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" visibility="private" memberEnd="Extension-ownedEnd A_ownedEnd_extension-extension">
      <ownedEnd xmi:id="A_ownedEnd_extension-extension" name="extension" type="Extension" subsettedProperty="Property-owningAssociation" association="A_ownedEnd_extension"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="BehavioredClassifier" name="BehavioredClassifier" isAbstract="true">
      <ownedComment 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:id="BehavioredClassifier-class_behavior" name="class_behavior" constrainedElement="BehavioredClassifier">
        <ownedComment 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:id="BehavioredClassifier-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="BehavioredClassifier-classifierBehavior" name="classifierBehavior" type="Behavior" subsettedProperty="BehavioredClassifier-ownedBehavior" association="A_classifierBehavior_behavioredClassifier">
        <ownedComment 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:id="BehavioredClassifier-interfaceRealization" name="interfaceRealization" type="InterfaceRealization" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_interfaceRealization_implementingClassifier">
        <ownedComment 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:id="BehavioredClassifier-ownedBehavior" name="ownedBehavior" type="Behavior" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedBehavior_behavioredClassifier">
        <ownedComment 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>
      <ownedOperation xmi:id="BehavioredClassifier-getAllImplementedInterfaces" name="getAllImplementedInterfaces">
        <ownedComment xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedComment.0" annotatedElement="BehavioredClassifier-getAllImplementedInterfaces">
          <body>Retrieves all the interfaces on which this behaviored classifier or any of its parents has an interface realization dependency.</body>
        </ownedComment>
        <ownedParameter xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="BehavioredClassifier-getImplementedInterfaces" name="getImplementedInterfaces">
        <ownedComment xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedComment.0" annotatedElement="BehavioredClassifier-getImplementedInterfaces">
          <body>Retrieves the interfaces on which this behaviored classifier has an interface realization dependency.</body>
        </ownedComment>
        <ownedParameter xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DataType" name="DataType">
      <ownedComment 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:id="DataType-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="DataType-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_datatype">
        <ownedComment 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: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: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>
      <ownedOperation xmi:id="DataType-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="DataType-createOwnedAttribute-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this data type.</body>
        </ownedComment>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="DataType-createOwnedAttribute-name-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="DataType-createOwnedAttribute-type-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="DataType-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="DataType-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="DataType-createOwnedOperation" name="createOwnedOperation">
        <ownedComment xmi:id="DataType-createOwnedOperation-_ownedComment.0" annotatedElement="DataType-createOwnedOperation">
          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this data type.</body>
        </ownedComment>
        <ownedParameter xmi:id="DataType-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
        <ownedParameter xmi:id="DataType-createOwnedOperation-name" name="name" effect="read">
          <ownedComment xmi:id="DataType-createOwnedOperation-name-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-name">
            <body>The name for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
          <ownedComment xmi:id="DataType-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-parameterNames">
            <body>The parameter names for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
          <ownedComment xmi:id="DataType-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-parameterTypes">
            <body>The parameter types for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
          <ownedComment xmi:id="DataType-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-returnType">
            <body>The return type for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-returnType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-returnType-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Enumeration" name="Enumeration">
      <ownedComment 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:id="Enumeration-immutable" name="immutable" constrainedElement="Enumeration">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Enumeration-immutable-_specification">
          <language>OCL</language>
          <body>ownedAttribute->forAll(isReadOnly)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Enumeration-_generalization.0" general="DataType"/>
      <ownedAttribute xmi:id="Enumeration-ownedLiteral" name="ownedLiteral" type="EnumerationLiteral" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedLiteral_enumeration">
        <ownedComment 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:id="EnumerationLiteral-_ownedComment.0" annotatedElement="EnumerationLiteral">
        <body>An EnumerationLiteral is a user-defined data value for an Enumeration.</body>
      </ownedComment>
      <generalization xmi:id="EnumerationLiteral-_generalization.0" general="InstanceSpecification"/>
      <ownedAttribute xmi:id="EnumerationLiteral-classifier" name="classifier" type="Enumeration" isReadOnly="true" isDerived="true" redefinedProperty="InstanceSpecification-classifier" association="A_classifier_enumerationLiteral">
        <ownedComment 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:id="EnumerationLiteral-enumeration" name="enumeration" type="Enumeration" subsettedProperty="NamedElement-namespace" association="A_ownedLiteral_enumeration">
        <ownedComment xmi:id="EnumerationLiteral-enumeration-_ownedComment.0" annotatedElement="EnumerationLiteral-enumeration">
          <body>The Enumeration that this EnumerationLiteral is a member of.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="EnumerationLiteral-getClassifiers" name="getClassifiers" visibility="protected">
        <ownedParameter xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0" type="Classifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="EnumerationLiteral-classifier.1" name="classifier" visibility="protected" bodyCondition="EnumerationLiteral-classifier.1-spec" isQuery="true">
        <ownedComment xmi:id="EnumerationLiteral-classifier.1-_ownedComment.0" annotatedElement="EnumerationLiteral-classifier.1">
          <body>Derivation of Enumeration::/classifier</body>
        </ownedComment>
        <ownedRule xmi:id="EnumerationLiteral-classifier.1-spec" name="spec" constrainedElement="EnumerationLiteral-classifier.1 EnumerationLiteral-classifier">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="EnumerationLiteral-classifier.1-spec-_specification">
            <language>OCL</language>
            <body>result = (enumeration)</body>
          </specification>
        </ownedRule>
        <ownedParameter 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: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:id="Interface-visibility" name="visibility" constrainedElement="Interface">
        <ownedComment 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:id="Interface-_generalization.0" general="Classifier"/>
      <ownedAttribute 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: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:id="Interface-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_interface">
        <ownedComment 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: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: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:id="Interface-ownedReception" name="ownedReception" type="Reception" aggregation="composite" subsettedProperty="Classifier-feature Namespace-ownedMember" association="A_ownedReception_interface">
        <ownedComment 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:id="Interface-protocol" name="protocol" type="ProtocolStateMachine" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_protocol_interface">
        <ownedComment 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:id="Interface-redefinedInterface" name="redefinedInterface" type="Interface" subsettedProperty="Classifier-redefinedClassifier" association="A_redefinedInterface_interface">
        <ownedComment 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>
      <ownedOperation xmi:id="Interface-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="Interface-createOwnedAttribute-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this interface.</body>
        </ownedComment>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="Interface-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="Interface-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="Interface-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="Interface-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Interface-createOwnedOperation" name="createOwnedOperation">
        <ownedComment xmi:id="Interface-createOwnedOperation-_ownedComment.0" annotatedElement="Interface-createOwnedOperation">
          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this interface.</body>
        </ownedComment>
        <ownedParameter xmi:id="Interface-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
        <ownedParameter xmi:id="Interface-createOwnedOperation-name" name="name" effect="read">
          <ownedComment xmi:id="Interface-createOwnedOperation-name-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-name">
            <body>The name for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
          <ownedComment xmi:id="Interface-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-parameterNames">
            <body>The parameter names for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
          <ownedComment xmi:id="Interface-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-parameterTypes">
            <body>The parameter types for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
          <ownedComment xmi:id="Interface-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-returnType">
            <body>The return type for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-returnType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-returnType-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InterfaceRealization" name="InterfaceRealization">
      <ownedComment xmi:id="InterfaceRealization-_ownedComment.0" annotatedElement="InterfaceRealization">
        <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:id="InterfaceRealization-_generalization.0" general="Realization"/>
      <ownedAttribute xmi:id="InterfaceRealization-contract" name="contract" type="Interface" subsettedProperty="Dependency-supplier" association="A_contract_interfaceRealization">
        <ownedComment xmi:id="InterfaceRealization-contract-_ownedComment.0" annotatedElement="InterfaceRealization-contract">
          <body>References the Interface specifying the conformance contract.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="InterfaceRealization-implementingClassifier" name="implementingClassifier" type="BehavioredClassifier" subsettedProperty="Dependency-client Element-owner" association="A_interfaceRealization_implementingClassifier">
        <ownedComment 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: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:id="PrimitiveType-_generalization.0" general="DataType"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Reception" name="Reception">
      <ownedComment 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:id="Reception-same_name_as_signal" name="same_name_as_signal" constrainedElement="Reception">
        <ownedComment 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:id="Reception-same_structure_as_signal" name="same_structure_as_signal" constrainedElement="Reception">
        <ownedComment 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:id="Reception-_generalization.0" general="BehavioralFeature"/>
      <ownedAttribute xmi:id="Reception-signal" name="signal" type="Signal" association="A_signal_reception">
        <ownedComment 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: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:id="Signal-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="Signal-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_owningSignal">
        <ownedComment 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>
      <ownedOperation xmi:id="Signal-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="Signal-createOwnedAttribute-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this signal.</body>
        </ownedComment>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="Signal-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="Signal-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="Signal-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="Signal-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_owningSignal" name="A_ownedAttribute_owningSignal" visibility="private" memberEnd="Signal-ownedAttribute A_ownedAttribute_owningSignal-owningSignal">
      <ownedEnd xmi:id="A_ownedAttribute_owningSignal-owningSignal" name="owningSignal" type="Signal" 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" visibility="private" memberEnd="Reception-signal A_signal_reception-reception">
      <ownedEnd xmi:id="A_signal_reception-reception" name="reception" type="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" visibility="private" memberEnd="InterfaceRealization-contract A_contract_interfaceRealization-interfaceRealization">
      <ownedEnd xmi:id="A_contract_interfaceRealization-interfaceRealization" name="interfaceRealization" type="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" visibility="private" memberEnd="Interface-protocol A_protocol_interface-interface">
      <ownedEnd xmi:id="A_protocol_interface-interface" name="interface" type="Interface" subsettedProperty="NamedElement-namespace" association="A_protocol_interface">
        <ownedComment 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" visibility="private" memberEnd="Interface-ownedReception A_ownedReception_interface-interface">
      <ownedEnd xmi:id="A_ownedReception_interface-interface" name="interface" type="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" visibility="private" memberEnd="Interface-redefinedInterface A_redefinedInterface_interface-interface">
      <ownedEnd xmi:id="A_redefinedInterface_interface-interface" name="interface" type="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" visibility="private" memberEnd="Interface-nestedClassifier A_nestedClassifier_interface-interface">
      <ownedEnd xmi:id="A_nestedClassifier_interface-interface" name="interface" type="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" visibility="private" memberEnd="Interface-ownedOperation Operation-interface"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_interface" name="A_ownedAttribute_interface" visibility="private" memberEnd="Interface-ownedAttribute Property-interface"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_enumerationLiteral" name="A_classifier_enumerationLiteral" visibility="private" isDerived="true" memberEnd="EnumerationLiteral-classifier A_classifier_enumerationLiteral-enumerationLiteral">
      <generalization xmi:id="A_classifier_enumerationLiteral-_generalization.0" general="A_classifier_instanceSpecification"/>
      <ownedEnd xmi:id="A_classifier_enumerationLiteral-enumerationLiteral" name="enumerationLiteral" type="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" visibility="private" memberEnd="Enumeration-ownedLiteral EnumerationLiteral-enumeration"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_datatype" name="A_ownedAttribute_datatype" visibility="private" memberEnd="DataType-ownedAttribute Property-datatype"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_datatype" name="A_ownedOperation_datatype" visibility="private" memberEnd="DataType-ownedOperation Operation-datatype"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedBehavior_behavioredClassifier" name="A_ownedBehavior_behavioredClassifier" visibility="private" memberEnd="BehavioredClassifier-ownedBehavior A_ownedBehavior_behavioredClassifier-behavioredClassifier">
      <ownedEnd xmi:id="A_ownedBehavior_behavioredClassifier-behavioredClassifier" name="behavioredClassifier" type="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" visibility="private" memberEnd="BehavioredClassifier-classifierBehavior A_classifierBehavior_behavioredClassifier-behavioredClassifier">
      <generalization xmi:id="A_classifierBehavior_behavioredClassifier-_generalization.0" general="A_ownedBehavior_behavioredClassifier"/>
      <ownedEnd xmi:id="A_classifierBehavior_behavioredClassifier-behavioredClassifier" name="behavioredClassifier" type="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" visibility="private" memberEnd="BehavioredClassifier-interfaceRealization InterfaceRealization-implementingClassifier"/>
    <packagedElement xmi:type="uml:Class" xmi:id="ConnectionPointReference" name="ConnectionPointReference">
      <ownedComment 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:id="ConnectionPointReference-exit_pseudostates" name="exit_pseudostates" constrainedElement="ConnectionPointReference">
        <ownedComment 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:id="ConnectionPointReference-entry_pseudostates" name="entry_pseudostates" constrainedElement="ConnectionPointReference">
        <ownedComment 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:id="ConnectionPointReference-_generalization.0" general="Vertex"/>
      <ownedAttribute xmi:id="ConnectionPointReference-entry" name="entry" type="Pseudostate" association="A_entry_connectionPointReference">
        <ownedComment 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:id="ConnectionPointReference-exit" name="exit" type="Pseudostate" association="A_exit_connectionPointReference">
        <ownedComment 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:id="ConnectionPointReference-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_connection_state">
        <ownedComment 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: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:id="FinalState-no_exit_behavior" name="no_exit_behavior" constrainedElement="FinalState">
        <ownedComment 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:id="FinalState-no_outgoing_transitions" name="no_outgoing_transitions" constrainedElement="FinalState">
        <ownedComment 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:id="FinalState-no_regions" name="no_regions" constrainedElement="FinalState">
        <ownedComment 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:id="FinalState-cannot_reference_submachine" name="cannot_reference_submachine" constrainedElement="FinalState">
        <ownedComment 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:id="FinalState-no_entry_behavior" name="no_entry_behavior" constrainedElement="FinalState">
        <ownedComment 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:id="FinalState-no_state_behavior" name="no_state_behavior" constrainedElement="FinalState">
        <ownedComment 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:id="FinalState-_generalization.0" general="State"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ProtocolConformance" name="ProtocolConformance">
      <ownedComment 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:id="ProtocolConformance-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="ProtocolConformance-generalMachine" name="generalMachine" type="ProtocolStateMachine" subsettedProperty="DirectedRelationship-target" association="A_generalMachine_protocolConformance">
        <ownedComment xmi:id="ProtocolConformance-generalMachine-_ownedComment.0" annotatedElement="ProtocolConformance-generalMachine">
          <body>Specifies the ProtocolStateMachine to which the specific ProtocolStateMachine conforms.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ProtocolConformance-specificMachine" name="specificMachine" type="ProtocolStateMachine" subsettedProperty="DirectedRelationship-source Element-owner" association="A_conformance_specificMachine">
        <ownedComment 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: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:id="ProtocolStateMachine-classifier_context" name="classifier_context" constrainedElement="ProtocolStateMachine">
        <ownedComment 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:id="ProtocolStateMachine-deep_or_shallow_history" name="deep_or_shallow_history" constrainedElement="ProtocolStateMachine">
        <ownedComment 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:id="ProtocolStateMachine-entry_exit_do" name="entry_exit_do" constrainedElement="ProtocolStateMachine">
        <ownedComment 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:id="ProtocolStateMachine-protocol_transitions" name="protocol_transitions" constrainedElement="ProtocolStateMachine">
        <ownedComment 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:id="ProtocolStateMachine-_generalization.0" general="StateMachine"/>
      <ownedAttribute xmi:id="ProtocolStateMachine-conformance" name="conformance" type="ProtocolConformance" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_conformance_specificMachine">
        <ownedComment 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: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:id="ProtocolTransition-refers_to_operation" name="refers_to_operation" constrainedElement="ProtocolTransition">
        <ownedComment 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:id="ProtocolTransition-associated_actions" name="associated_actions" constrainedElement="ProtocolTransition">
        <ownedComment 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:id="ProtocolTransition-belongs_to_psm" name="belongs_to_psm" constrainedElement="ProtocolTransition">
        <ownedComment 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:id="ProtocolTransition-_generalization.0" general="Transition"/>
      <ownedAttribute xmi:id="ProtocolTransition-postCondition" name="postCondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postCondition_owningTransition">
        <ownedComment 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:id="ProtocolTransition-preCondition" name="preCondition" type="Constraint" aggregation="composite" subsettedProperty="Transition-guard" association="A_preCondition_protocolTransition">
        <ownedComment 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:id="ProtocolTransition-referred" name="referred" type="Operation" isReadOnly="true" isDerived="true" association="A_referred_protocolTransition">
        <ownedComment 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:id="ProtocolTransition-referred.1" name="referred" visibility="protected" bodyCondition="ProtocolTransition-referred.1-spec" isQuery="true">
        <ownedComment xmi:id="ProtocolTransition-referred.1-_ownedComment.0" annotatedElement="ProtocolTransition-referred.1">
          <body>Derivation for ProtocolTransition::/referred</body>
        </ownedComment>
        <ownedRule xmi:id="ProtocolTransition-referred.1-spec" name="spec" constrainedElement="ProtocolTransition-referred.1 ProtocolTransition-referred">
          <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: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: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:id="Pseudostate-transitions_outgoing" name="transitions_outgoing" constrainedElement="Pseudostate">
        <ownedComment 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)))))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-choice_vertex" name="choice_vertex" constrainedElement="Pseudostate">
        <ownedComment 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:id="Pseudostate-outgoing_from_initial" name="outgoing_from_initial" constrainedElement="Pseudostate">
        <ownedComment 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:id="Pseudostate-join_vertex" name="join_vertex" constrainedElement="Pseudostate">
        <ownedComment 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:id="Pseudostate-junction_vertex" name="junction_vertex" constrainedElement="Pseudostate">
        <ownedComment 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:id="Pseudostate-history_vertices" name="history_vertices" constrainedElement="Pseudostate">
        <ownedComment 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:id="Pseudostate-initial_vertex" name="initial_vertex" constrainedElement="Pseudostate">
        <ownedComment 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:id="Pseudostate-fork_vertex" name="fork_vertex" constrainedElement="Pseudostate">
        <ownedComment 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:id="Pseudostate-transitions_incoming" name="transitions_incoming" constrainedElement="Pseudostate">
        <ownedComment 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:id="Pseudostate-_generalization.0" general="Vertex"/>
      <ownedAttribute xmi:id="Pseudostate-kind" name="kind" type="PseudostateKind">
        <ownedComment 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:id="Pseudostate-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_connectionPoint_state">
        <ownedComment 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:id="Pseudostate-stateMachine" name="stateMachine" type="StateMachine" subsettedProperty="NamedElement-namespace" association="A_connectionPoint_stateMachine">
        <ownedComment 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: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:id="Region-deep_history_vertex" name="deep_history_vertex" constrainedElement="Region">
        <ownedComment 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:id="Region-shallow_history_vertex" name="shallow_history_vertex" constrainedElement="Region">
        <ownedComment 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:id="Region-owned" name="owned" constrainedElement="Region">
        <ownedComment 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:id="Region-initial_vertex" name="initial_vertex" constrainedElement="Region">
        <ownedComment 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:id="Region-_generalization.0" general="Namespace"/>
      <generalization xmi:id="Region-_generalization.1" general="RedefinableElement"/>
      <ownedAttribute xmi:id="Region-extendedRegion" name="extendedRegion" type="Region" subsettedProperty="RedefinableElement-redefinedElement" association="A_extendedRegion_region">
        <ownedComment 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:id="Region-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_region">
        <ownedComment 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:id="Region-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_region_state">
        <ownedComment 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:id="Region-stateMachine" name="stateMachine" type="StateMachine" subsettedProperty="NamedElement-namespace" association="A_region_stateMachine">
        <ownedComment 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:id="Region-subvertex" name="subvertex" type="Vertex" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_subvertex_container">
        <ownedComment 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:id="Region-transition" name="transition" type="Transition" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_transition_container">
        <ownedComment 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:id="Region-belongsToPSM" name="belongsToPSM" bodyCondition="Region-belongsToPSM-spec" isQuery="true">
        <ownedComment 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:id="Region-belongsToPSM-spec" name="spec" constrainedElement="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:id="Region-belongsToPSM-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Region-containingStateMachine" name="containingStateMachine" bodyCondition="Region-containingStateMachine-spec" isQuery="true">
        <ownedComment 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:id="Region-containingStateMachine-spec" name="spec" constrainedElement="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:id="Region-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Region-isConsistentWith" name="isConsistentWith" bodyCondition="Region-isConsistentWith-spec" isQuery="true" precondition="Region-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment 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:id="Region-isConsistentWith-spec" name="spec" constrainedElement="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:id="Region-isConsistentWith-pre" name="pre" constrainedElement="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:id="Region-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Region-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Region-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="Region-isRedefinitionContextValid-spec" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
        <ownedComment 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:id="Region-isRedefinitionContextValid-spec" name="spec" constrainedElement="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:id="Region-isRedefinitionContextValid-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Region-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Region-redefinitionContext.1" name="redefinitionContext" bodyCondition="Region-redefinitionContext.1-spec" isQuery="true">
        <ownedComment 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:id="Region-redefinitionContext.1-spec" name="spec" constrainedElement="Region-redefinitionContext.1 Region-redefinitionContext">
          <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: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:id="State-_ownedComment.0" annotatedElement="State">
        <body>A State models a situation during which some (usually implicit) invariant condition holds.</body>
      </ownedComment>
      <ownedRule xmi:id="State-entry_or_exit" name="entry_or_exit" constrainedElement="State">
        <ownedComment 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:id="State-submachine_states" name="submachine_states" constrainedElement="State">
        <ownedComment 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:id="State-composite_states" name="composite_states" constrainedElement="State">
        <ownedComment 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:id="State-destinations_or_sources_of_transitions" name="destinations_or_sources_of_transitions" constrainedElement="State">
        <ownedComment 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:id="State-submachine_or_regions" name="submachine_or_regions" constrainedElement="State">
        <ownedComment 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:id="State-_generalization.0" general="RedefinableElement"/>
      <generalization xmi:id="State-_generalization.1" general="Namespace"/>
      <generalization xmi:id="State-_generalization.2" general="Vertex"/>
      <ownedAttribute xmi:id="State-connection" name="connection" type="ConnectionPointReference" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connection_state">
        <ownedComment 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:id="State-connectionPoint" name="connectionPoint" type="Pseudostate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connectionPoint_state">
        <ownedComment 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:id="State-deferrableTrigger" name="deferrableTrigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_deferrableTrigger_state">
        <ownedComment 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:id="State-doActivity" name="doActivity" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_doActivity_state">
        <ownedComment 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:id="State-entry" name="entry" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_entry_state">
        <ownedComment 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:id="State-exit" name="exit" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_exit_state">
        <ownedComment 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:id="State-isComposite" name="isComposite" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-isOrthogonal" name="isOrthogonal" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-isSimple" name="isSimple" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="State-isSimple-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-isSubmachineState" name="isSubmachineState" isReadOnly="true" isDerived="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-redefinedState" name="redefinedState" type="State" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedState_state">
        <ownedComment 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:id="State-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_state">
        <ownedComment 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:id="State-region" name="region" type="Region" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_region_state">
        <ownedComment 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:id="State-stateInvariant" name="stateInvariant" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_stateInvariant_owningState">
        <ownedComment 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:id="State-submachine" name="submachine" type="StateMachine" association="A_submachineState_submachine">
        <ownedComment 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:id="State-containingStateMachine" name="containingStateMachine" bodyCondition="State-containingStateMachine-spec" isQuery="true" redefinedOperation="Vertex-containingStateMachine">
        <ownedComment 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:id="State-containingStateMachine-spec" name="spec" constrainedElement="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:id="State-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="State-isComposite.1" name="isComposite" bodyCondition="State-isComposite.1-spec" isQuery="true">
        <ownedComment 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:id="State-isComposite.1-spec" name="spec" constrainedElement="State-isComposite.1 State-isComposite">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isComposite.1-spec-_specification">
            <language>OCL</language>
            <body>result = (region->notEmpty())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-isComposite.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="State-isConsistentWith" name="isConsistentWith" bodyCondition="State-isConsistentWith-spec" isQuery="true" precondition="State-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment 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:id="State-isConsistentWith-spec" name="spec" constrainedElement="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:id="State-isConsistentWith-pre" name="pre" constrainedElement="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:id="State-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="State-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="State-isOrthogonal.1" name="isOrthogonal" bodyCondition="State-isOrthogonal.1-spec" isQuery="true">
        <ownedComment 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:id="State-isOrthogonal.1-spec" name="spec" constrainedElement="State-isOrthogonal.1 State-isOrthogonal">
          <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:id="State-isOrthogonal.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="State-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="State-isRedefinitionContextValid-spec" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
        <ownedComment 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:id="State-isRedefinitionContextValid-spec" name="spec" constrainedElement="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:id="State-isRedefinitionContextValid-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="State-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="State-isSimple.1" name="isSimple" bodyCondition="State-isSimple.1-spec" isQuery="true">
        <ownedComment 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:id="State-isSimple.1-spec" name="spec" constrainedElement="State-isSimple.1 State-isSimple">
          <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:id="State-isSimple.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="State-isSubmachineState.1" name="isSubmachineState" bodyCondition="State-isSubmachineState.1-spec" isQuery="true">
        <ownedComment xmi:id="State-isSubmachineState.1-_ownedComment.0" annotatedElement="State-isSubmachineState.1">
          <body>Only submachine State references another StateMachine.</body>
        </ownedComment>
        <ownedRule xmi:id="State-isSubmachineState.1-spec" name="spec" constrainedElement="State-isSubmachineState.1 State-isSubmachineState">
          <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:id="State-isSubmachineState.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="State-redefinitionContext.1" name="redefinitionContext" bodyCondition="State-redefinitionContext.1-spec" isQuery="true">
        <ownedComment 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:id="State-redefinitionContext.1-spec" name="spec" constrainedElement="State-redefinitionContext.1 State-redefinitionContext">
          <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: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: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:id="StateMachine-connection_points" name="connection_points" constrainedElement="StateMachine">
        <ownedComment 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:id="StateMachine-classifier_context" name="classifier_context" constrainedElement="StateMachine">
        <ownedComment 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:id="StateMachine-method" name="method" constrainedElement="StateMachine">
        <ownedComment 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:id="StateMachine-context_classifier" name="context_classifier" constrainedElement="StateMachine">
        <ownedComment 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:id="StateMachine-_generalization.0" general="Behavior"/>
      <ownedAttribute xmi:id="StateMachine-connectionPoint" name="connectionPoint" type="Pseudostate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connectionPoint_stateMachine">
        <ownedComment 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:id="StateMachine-extendedStateMachine" name="extendedStateMachine" type="StateMachine" redefinedProperty="Behavior-redefinedBehavior" association="A_extendedStateMachine_stateMachine">
        <ownedComment 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:id="StateMachine-region" name="region" type="Region" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_region_stateMachine">
        <ownedComment 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:id="StateMachine-submachineState" name="submachineState" type="State" association="A_submachineState_submachine">
        <ownedComment 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:id="StateMachine-LCA" name="LCA" bodyCondition="StateMachine-LCA-spec" isQuery="true">
        <ownedComment 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:id="StateMachine-LCA-spec" name="spec" constrainedElement="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:id="StateMachine-LCA-result" name="result" type="Region" direction="return"/>
        <ownedParameter xmi:id="StateMachine-LCA-s1" name="s1" type="Vertex"/>
        <ownedParameter xmi:id="StateMachine-LCA-s2" name="s2" type="Vertex"/>
      </ownedOperation>
      <ownedOperation xmi:id="StateMachine-ancestor" name="ancestor" bodyCondition="StateMachine-ancestor-spec" isQuery="true">
        <ownedComment 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:id="StateMachine-ancestor-spec" name="spec" constrainedElement="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:id="StateMachine-ancestor-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="StateMachine-ancestor-s1" name="s1" type="Vertex"/>
        <ownedParameter xmi:id="StateMachine-ancestor-s2" name="s2" type="Vertex"/>
      </ownedOperation>
      <ownedOperation xmi:id="StateMachine-isConsistentWith" name="isConsistentWith" bodyCondition="StateMachine-isConsistentWith-spec" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment 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:id="StateMachine-isConsistentWith-spec" name="spec" constrainedElement="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:id="StateMachine-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="StateMachine-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="StateMachine-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="StateMachine-isRedefinitionContextValid-spec" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
        <ownedComment 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:id="StateMachine-isRedefinitionContextValid-spec" name="spec" constrainedElement="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:id="StateMachine-isRedefinitionContextValid-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="StateMachine-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="StateMachine-LCAState" name="LCAState" bodyCondition="StateMachine-LCAState-spec" isQuery="true">
        <ownedComment 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:id="StateMachine-LCAState-spec" name="spec" constrainedElement="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:id="StateMachine-LCAState-result" name="result" type="State" direction="return"/>
        <ownedParameter xmi:id="StateMachine-LCAState-v1" name="v1" type="Vertex"/>
        <ownedParameter xmi:id="StateMachine-LCAState-v2" name="v2" type="Vertex"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Transition" name="Transition">
      <ownedComment 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:id="Transition-state_is_external" name="state_is_external" constrainedElement="Transition">
        <ownedComment 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:id="Transition-join_segment_guards" name="join_segment_guards" constrainedElement="Transition">
        <ownedComment 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:id="Transition-state_is_internal" name="state_is_internal" constrainedElement="Transition">
        <ownedComment 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:id="Transition-outgoing_pseudostates" name="outgoing_pseudostates" constrainedElement="Transition">
        <ownedComment 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:id="Transition-join_segment_state" name="join_segment_state" constrainedElement="Transition">
        <ownedComment 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:id="Transition-fork_segment_state" name="fork_segment_state" constrainedElement="Transition">
        <ownedComment 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:id="Transition-state_is_local" name="state_is_local" constrainedElement="Transition">
        <ownedComment 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:id="Transition-initial_transition" name="initial_transition" constrainedElement="Transition">
        <ownedComment 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:id="Transition-fork_segment_guards" name="fork_segment_guards" constrainedElement="Transition">
        <ownedComment 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:id="Transition-_generalization.0" general="Namespace"/>
      <generalization xmi:id="Transition-_generalization.1" general="RedefinableElement"/>
      <ownedAttribute xmi:id="Transition-container" name="container" type="Region" subsettedProperty="NamedElement-namespace" association="A_transition_container">
        <ownedComment xmi:id="Transition-container-_ownedComment.0" annotatedElement="Transition-container">
          <body>Designates the Region that owns this Transition.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-effect" name="effect" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_effect_transition">
        <ownedComment 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:id="Transition-guard" name="guard" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_guard_transition">
        <ownedComment 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:id="Transition-kind" name="kind" type="TransitionKind">
        <ownedComment 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:id="Transition-redefinedTransition" name="redefinedTransition" type="Transition" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedTransition_transition">
        <ownedComment 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:id="Transition-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_transition">
        <ownedComment 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:id="Transition-source" name="source" visibility="public" type="Vertex" association="A_outgoing_source_vertex">
        <ownedComment xmi:id="Transition-source-_ownedComment.0" annotatedElement="Transition-source">
          <body>Designates the originating Vertex (State or Pseudostate) of the Transition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-source-_lowerValue" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Transition-source-_upperValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-target" name="target" visibility="public" type="Vertex" association="A_incoming_target_vertex">
        <ownedComment xmi:id="Transition-target-_ownedComment.0" annotatedElement="Transition-target">
          <body>Designates the target Vertex that is reached when the Transition is taken.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-target-_lowerValue" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Transition-target-_upperValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-trigger" name="trigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_trigger_transition">
        <ownedComment 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:id="Transition-containingStateMachine" name="containingStateMachine" bodyCondition="Transition-containingStateMachine-spec" isQuery="true">
        <ownedComment 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:id="Transition-containingStateMachine-spec" name="spec" constrainedElement="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:id="Transition-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Transition-isConsistentWith" name="isConsistentWith" bodyCondition="Transition-isConsistentWith-spec" isQuery="true" precondition="Transition-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment 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:id="Transition-isConsistentWith-spec" name="spec" constrainedElement="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:id="Transition-isConsistentWith-pre" name="pre" constrainedElement="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:id="Transition-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Transition-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Transition-redefinitionContext.1" name="redefinitionContext" bodyCondition="Transition-redefinitionContext.1-spec" isQuery="true">
        <ownedComment 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:id="Transition-redefinitionContext.1-spec" name="spec" constrainedElement="Transition-redefinitionContext.1 Transition-redefinitionContext">
          <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: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: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:id="Vertex-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Vertex-container" name="container" type="Region" subsettedProperty="NamedElement-namespace" association="A_subvertex_container">
        <ownedComment 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:id="Vertex-incoming" name="incoming" type="Transition" isReadOnly="true" isDerived="true" association="A_incoming_target_vertex">
        <ownedComment 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:id="Vertex-outgoing" name="outgoing" type="Transition" isReadOnly="true" isDerived="true" association="A_outgoing_source_vertex">
        <ownedComment 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:id="Vertex-containingStateMachine" name="containingStateMachine" bodyCondition="Vertex-containingStateMachine-spec" isQuery="true">
        <ownedComment 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:id="Vertex-containingStateMachine-spec" name="spec" constrainedElement="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:id="Vertex-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Vertex-incoming.1" name="incoming" visibility="protected" bodyCondition="Vertex-incoming.1-spec" isQuery="true">
        <ownedComment xmi:id="Vertex-incoming.1-_ownedComment.0" annotatedElement="Vertex-incoming.1">
          <body>Derivation for Vertex::/incoming.</body>
        </ownedComment>
        <ownedRule xmi:id="Vertex-incoming.1-spec" name="spec" constrainedElement="Vertex-incoming.1 Vertex-incoming">
          <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: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:id="Vertex-outgoing.1" name="outgoing" visibility="protected" bodyCondition="Vertex-outgoing.1-spec" isQuery="true">
        <ownedComment xmi:id="Vertex-outgoing.1-_ownedComment.0" annotatedElement="Vertex-outgoing.1">
          <body>Derivation for Vertex::/outgoing</body>
        </ownedComment>
        <ownedRule xmi:id="Vertex-outgoing.1-spec" name="spec" constrainedElement="Vertex-outgoing.1 Vertex-outgoing">
          <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: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:id="Vertex-isContainedInState" name="isContainedInState" bodyCondition="Vertex-isContainedInState-spec" isQuery="true">
        <ownedComment 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:id="Vertex-isContainedInState-spec" name="spec" constrainedElement="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:id="Vertex-isContainedInState-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Vertex-isContainedInState-s" name="s" type="State"/>
      </ownedOperation>
      <ownedOperation xmi:id="Vertex-isContainedInRegion" name="isContainedInRegion" bodyCondition="Vertex-isContainedInRegion-spec" isQuery="true">
        <ownedComment 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:id="Vertex-isContainedInRegion-spec" name="spec" constrainedElement="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:id="Vertex-isContainedInRegion-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Vertex-isContainedInRegion-r" name="r" type="Region"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="PseudostateKind" name="PseudostateKind" visibility="private">
      <ownedComment 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:id="PseudostateKind-initial" name="initial">
        <ownedComment xmi:id="PseudostateKind-initial-_ownedComment.0" annotatedElement="PseudostateKind-initial">
          <body>An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-deepHistory" name="deepHistory">
        <ownedComment xmi:id="PseudostateKind-deepHistory-_ownedComment.0" annotatedElement="PseudostateKind-deepHistory">
          <body>DeepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate; e.g. the state configuration that was active when the composite state was last exited. A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-shallowHistory" name="shallowHistory">
        <ownedComment xmi:id="PseudostateKind-shallowHistory-_ownedComment.0" annotatedElement="PseudostateKind-shallowHistory">
          <body>ShallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-join" name="join">
        <ownedComment xmi:id="PseudostateKind-join-_ownedComment.0" annotatedElement="PseudostateKind-join">
          <body>Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-fork" name="fork">
        <ownedComment xmi:id="PseudostateKind-fork-_ownedComment.0" annotatedElement="PseudostateKind-fork">
          <body>Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-junction" name="junction">
        <ownedComment xmi:id="PseudostateKind-junction-_ownedComment.0" annotatedElement="PseudostateKind-junction">
          <body>Junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as an merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted 'else' may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices (described below).</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-choice" name="choice">
        <ownedComment xmi:id="PseudostateKind-choice-_ownedComment.0" annotatedElement="PseudostateKind-choice">
          <body>Choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-tocompletion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined else guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points (described above).</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-entryPoint" name="entryPoint">
        <ownedComment xmi:id="PseudostateKind-entryPoint-_ownedComment.0" annotatedElement="PseudostateKind-entryPoint">
          <body>An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-exitPoint" name="exitPoint">
        <ownedComment xmi:id="PseudostateKind-exitPoint-_ownedComment.0" annotatedElement="PseudostateKind-exitPoint">
          <body>An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-terminate" name="terminate">
        <ownedComment xmi:id="PseudostateKind-terminate-_ownedComment.0" annotatedElement="PseudostateKind-terminate">
          <body>Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate. Entering a terminate pseudostate is equivalent to invoking a DestroyObjectAction.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="TransitionKind" name="TransitionKind">
      <ownedComment 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:id="TransitionKind-internal" name="internal">
        <ownedComment 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:id="TransitionKind-local" name="local">
        <ownedComment 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:id="TransitionKind-external" name="external">
        <ownedComment 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" visibility="private" memberEnd="Vertex-incoming Transition-target A_incoming_target_vertex-incoming">
      <ownedEnd xmi:id="A_incoming_target_vertex-incoming" name="incoming" visibility="private" type="Transition" association="A_incoming_target_vertex">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_incoming_target_vertex-incoming-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_incoming_target_vertex-incoming-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_vertex" name="A_outgoing_source_vertex" visibility="private" memberEnd="Vertex-outgoing Transition-source A_outgoing_source_vertex-outgoing">
      <ownedEnd xmi:id="A_outgoing_source_vertex-outgoing" name="outgoing" visibility="private" type="Transition" association="A_outgoing_source_vertex">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_outgoing_source_vertex-outgoing-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_outgoing_source_vertex-outgoing-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_trigger_transition" name="A_trigger_transition" visibility="private" memberEnd="Transition-trigger A_trigger_transition-transition">
      <ownedEnd xmi:id="A_trigger_transition-transition" name="transition" type="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" visibility="private" memberEnd="Transition-guard A_guard_transition-transition">
      <ownedEnd xmi:id="A_guard_transition-transition" name="transition" type="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" visibility="private" memberEnd="Transition-redefinedTransition A_redefinedTransition_transition-transition">
      <ownedEnd xmi:id="A_redefinedTransition_transition-transition" name="transition" type="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" visibility="private" isDerived="true" memberEnd="Transition-redefinitionContext A_redefinitionContext_transition-transition">
      <generalization xmi:id="A_redefinitionContext_transition-_generalization.0" general="A_redefinitionContext_redefinableElement"/>
      <ownedEnd xmi:id="A_redefinitionContext_transition-transition" name="transition" type="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" visibility="private" memberEnd="Transition-effect A_effect_transition-transition">
      <ownedEnd xmi:id="A_effect_transition-transition" name="transition" type="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" visibility="private" memberEnd="StateMachine-submachineState State-submachine"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_connectionPoint_stateMachine" name="A_connectionPoint_stateMachine" visibility="private" memberEnd="StateMachine-connectionPoint Pseudostate-stateMachine"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_region_stateMachine" name="A_region_stateMachine" visibility="private" memberEnd="StateMachine-region Region-stateMachine"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extendedStateMachine_stateMachine" name="A_extendedStateMachine_stateMachine" visibility="private" memberEnd="StateMachine-extendedStateMachine A_extendedStateMachine_stateMachine-stateMachine">
      <ownedEnd xmi:id="A_extendedStateMachine_stateMachine-stateMachine" name="stateMachine" type="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" visibility="private" isDerived="true" memberEnd="State-redefinitionContext A_redefinitionContext_state-state">
      <generalization xmi:id="A_redefinitionContext_state-_generalization.0" general="A_redefinitionContext_redefinableElement"/>
      <ownedEnd xmi:id="A_redefinitionContext_state-state" name="state" type="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" visibility="private" memberEnd="State-region Region-state"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_stateInvariant_owningState" name="A_stateInvariant_owningState" visibility="private" memberEnd="State-stateInvariant A_stateInvariant_owningState-owningState">
      <ownedEnd xmi:id="A_stateInvariant_owningState-owningState" name="owningState" type="State" 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" visibility="private" memberEnd="State-redefinedState A_redefinedState_state-state">
      <ownedEnd xmi:id="A_redefinedState_state-state" name="state" type="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" visibility="private" memberEnd="State-deferrableTrigger A_deferrableTrigger_state-state">
      <ownedEnd xmi:id="A_deferrableTrigger_state-state" name="state" type="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" visibility="private" memberEnd="State-connection ConnectionPointReference-state"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_entry_state" name="A_entry_state" visibility="private" memberEnd="State-entry A_entry_state-state">
      <ownedEnd xmi:id="A_entry_state-state" name="state" type="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" visibility="private" memberEnd="State-connectionPoint Pseudostate-state"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_doActivity_state" name="A_doActivity_state" visibility="private" memberEnd="State-doActivity A_doActivity_state-state">
      <ownedEnd xmi:id="A_doActivity_state-state" name="state" type="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" visibility="private" memberEnd="State-exit A_exit_state-state">
      <ownedEnd xmi:id="A_exit_state-state" name="state" type="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" visibility="private" memberEnd="Region-extendedRegion A_extendedRegion_region-region">
      <ownedEnd xmi:id="A_extendedRegion_region-region" name="region" type="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" visibility="private" memberEnd="Region-subvertex Vertex-container"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_region" name="A_redefinitionContext_region" visibility="private" isDerived="true" memberEnd="Region-redefinitionContext A_redefinitionContext_region-region">
      <generalization xmi:id="A_redefinitionContext_region-_generalization.0" general="A_redefinitionContext_redefinableElement"/>
      <ownedEnd xmi:id="A_redefinitionContext_region-region" name="region" type="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" visibility="private" memberEnd="Region-transition Transition-container"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_referred_protocolTransition" name="A_referred_protocolTransition" visibility="private" isDerived="true" memberEnd="ProtocolTransition-referred A_referred_protocolTransition-protocolTransition">
      <ownedEnd xmi:id="A_referred_protocolTransition-protocolTransition" name="protocolTransition" type="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" visibility="private" memberEnd="ProtocolTransition-preCondition A_preCondition_protocolTransition-protocolTransition">
      <generalization xmi:id="A_preCondition_protocolTransition-_generalization.0" general="A_guard_transition"/>
      <ownedEnd xmi:id="A_preCondition_protocolTransition-protocolTransition" name="protocolTransition" type="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" visibility="private" memberEnd="ProtocolTransition-postCondition A_postCondition_owningTransition-owningTransition">
      <ownedEnd xmi:id="A_postCondition_owningTransition-owningTransition" name="owningTransition" type="ProtocolTransition" 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" visibility="private" memberEnd="ProtocolStateMachine-conformance ProtocolConformance-specificMachine"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_generalMachine_protocolConformance" name="A_generalMachine_protocolConformance" visibility="private" memberEnd="ProtocolConformance-generalMachine A_generalMachine_protocolConformance-protocolConformance">
      <ownedEnd xmi:id="A_generalMachine_protocolConformance-protocolConformance" name="protocolConformance" type="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" visibility="private" memberEnd="ConnectionPointReference-entry A_entry_connectionPointReference-connectionPointReference">
      <ownedEnd xmi:id="A_entry_connectionPointReference-connectionPointReference" name="connectionPointReference" type="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" visibility="private" memberEnd="ConnectionPointReference-exit A_exit_connectionPointReference-connectionPointReference">
      <ownedEnd xmi:id="A_exit_connectionPointReference-connectionPointReference" name="connectionPointReference" type="ConnectionPointReference" association="A_exit_connectionPointReference">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exit_connectionPointReference-connectionPointReference-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Association" name="Association">
      <ownedComment 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.</body>
      </ownedComment>
      <ownedRule xmi:id="Association-specialized_end_number" name="specialized_end_number" constrainedElement="Association">
        <ownedComment 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:id="Association-specialized_end_types" name="specialized_end_types" constrainedElement="Association">
        <ownedComment 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:id="Association-binary_associations" name="binary_associations" constrainedElement="Association">
        <ownedComment 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:id="Association-association_ends" name="association_ends" constrainedElement="Association">
        <ownedComment 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:id="Association-ends_must_be_typed" name="ends_must_be_typed" constrainedElement="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:id="Association-_generalization.0" general="Relationship"/>
      <generalization xmi:id="Association-_generalization.1" general="Classifier"/>
      <ownedAttribute xmi:id="Association-endType" name="endType" type="Type" isReadOnly="true" isDerived="true" subsettedProperty="Relationship-relatedElement" association="A_endType_association">
        <ownedComment 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:id="Association-isDerived" name="isDerived">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Association-isDerived-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Association-memberEnd" name="memberEnd" type="Property" isOrdered="true" subsettedProperty="Namespace-member" association="A_memberEnd_association">
        <ownedComment 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:id="Association-navigableOwnedEnd" name="navigableOwnedEnd" type="Property" subsettedProperty="Association-ownedEnd" association="A_navigableOwnedEnd_association">
        <ownedComment 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: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: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:id="Association-isBinary" name="isBinary">
        <ownedComment xmi:id="Association-isBinary-_ownedComment.0" annotatedElement="Association-isBinary">
          <body>Determines whether this association is a binary association, i.e. whether it has exactly two member ends.</body>
        </ownedComment>
        <ownedParameter xmi:id="Association-isBinary-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Association-endType.1" name="endType" visibility="protected" bodyCondition="Association-endType.1-spec" isQuery="true">
        <ownedComment xmi:id="Association-endType.1-_ownedComment.0" annotatedElement="Association-endType.1">
          <body>endType is derived from the types of the member ends.</body>
        </ownedComment>
        <ownedRule xmi:id="Association-endType.1-spec" name="spec" constrainedElement="Association-endType.1 Association-endType">
          <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: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: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:id="AssociationClass-cannot_be_defined" name="cannot_be_defined" constrainedElement="AssociationClass">
        <ownedComment 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:id="AssociationClass-disjoint_attributes_ends" name="disjoint_attributes_ends" constrainedElement="AssociationClass">
        <ownedComment 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:id="AssociationClass-_generalization.0" general="Class"/>
      <generalization xmi:id="AssociationClass-_generalization.1" general="Association"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Class" name="Class">
      <ownedComment 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.</body>
      </ownedComment>
      <ownedRule xmi:id="Class-passive_class" name="passive_class" constrainedElement="Class">
        <ownedComment 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:id="Class-_generalization.0" general="BehavioredClassifier"/>
      <generalization xmi:id="Class-_generalization.1" general="EncapsulatedClassifier"/>
      <ownedAttribute xmi:id="Class-extension" name="extension" type="Extension" isReadOnly="true" isDerived="true" association="A_extension_metaclass">
        <ownedComment 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:id="Class-isAbstract" name="isAbstract" redefinedProperty="Classifier-isAbstract">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Class-isAbstract-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Class-isActive" name="isActive">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Class-isActive-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute 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: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: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: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: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: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:id="Class-ownedReception" name="ownedReception" type="Reception" aggregation="composite" subsettedProperty="Classifier-feature Namespace-ownedMember" association="A_ownedReception_class">
        <ownedComment 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:id="Class-superClass" name="superClass" type="Class" isDerived="true" redefinedProperty="Classifier-general" association="A_superClass_class">
        <ownedComment 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:id="Class-createOwnedOperation" name="createOwnedOperation">
        <ownedComment xmi:id="Class-createOwnedOperation-_ownedComment.0" annotatedElement="Class-createOwnedOperation">
          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this class.</body>
        </ownedComment>
        <ownedParameter xmi:id="Class-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
        <ownedParameter xmi:id="Class-createOwnedOperation-name" name="name" effect="read">
          <ownedComment xmi:id="Class-createOwnedOperation-name-_ownedComment.0" annotatedElement="Class-createOwnedOperation-name">
            <body>The name for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Class-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
          <ownedComment xmi:id="Class-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Class-createOwnedOperation-parameterNames">
            <body>The parameter names for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Class-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
          <ownedComment xmi:id="Class-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Class-createOwnedOperation-parameterTypes">
            <body>The parameter types for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Class-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
          <ownedComment xmi:id="Class-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Class-createOwnedOperation-returnType">
            <body>The return type for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-returnType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-returnType-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Class-isMetaclass" name="isMetaclass" isQuery="true">
        <ownedComment xmi:id="Class-isMetaclass-_ownedComment.0" annotatedElement="Class-isMetaclass">
          <body>Determines whether this class is a metaclass.</body>
        </ownedComment>
        <ownedParameter xmi:id="Class-isMetaclass-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Class-extension.1" name="extension" visibility="protected" bodyCondition="Class-extension.1-spec" isQuery="true">
        <ownedComment xmi:id="Class-extension.1-_ownedComment.0" annotatedElement="Class-extension.1">
          <body>Derivation for Class::/extension : Extension</body>
        </ownedComment>
        <ownedRule xmi:id="Class-extension.1-spec" name="spec" constrainedElement="Class-extension.1 Class-extension">
          <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: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:id="Class-superClass.1" name="superClass" visibility="protected" bodyCondition="Class-superClass.1-spec" isQuery="true">
        <ownedComment xmi:id="Class-superClass.1-_ownedComment.0" annotatedElement="Class-superClass.1">
          <body>Derivation for Class::/superClass : Class</body>
        </ownedComment>
        <ownedRule xmi:id="Class-superClass.1-spec" name="spec" constrainedElement="Class-superClass.1 Class-superClass">
          <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: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: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:id="Collaboration-_generalization.0" general="StructuredClassifier"/>
      <generalization xmi:id="Collaboration-_generalization.1" general="BehavioredClassifier"/>
      <ownedAttribute xmi:id="Collaboration-collaborationRole" name="collaborationRole" type="ConnectableElement" subsettedProperty="StructuredClassifier-role" association="A_collaborationRole_collaboration">
        <ownedComment 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: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:id="CollaborationUse-client_elements" name="client_elements" constrainedElement="CollaborationUse">
        <ownedComment 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:id="CollaborationUse-every_role" name="every_role" constrainedElement="CollaborationUse">
        <ownedComment 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:id="CollaborationUse-connectors" name="connectors" constrainedElement="CollaborationUse">
        <ownedComment 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:id="CollaborationUse-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="CollaborationUse-roleBinding" name="roleBinding" type="Dependency" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_roleBinding_collaborationUse">
        <ownedComment 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:id="CollaborationUse-type" name="type" type="Collaboration" association="A_type_collaborationUse">
        <ownedComment 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: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:id="Component-no_nested_classifiers" name="no_nested_classifiers" constrainedElement="Component">
        <ownedComment 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:id="Component-no_packaged_elements" name="no_packaged_elements" constrainedElement="Component">
        <ownedComment 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:id="Component-_generalization.0" general="Class"/>
      <ownedAttribute xmi:id="Component-isIndirectlyInstantiated" name="isIndirectlyInstantiated">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Component-isIndirectlyInstantiated-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Component-packagedElement" name="packagedElement" type="PackageableElement" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_packagedElement_component">
        <ownedComment 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:id="Component-provided" name="provided" type="Interface" isReadOnly="true" isDerived="true" association="A_provided_component">
        <ownedComment 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:id="Component-realization" name="realization" type="ComponentRealization" aggregation="composite" subsettedProperty="A_supplier_supplierDependency-supplierDependency Element-ownedElement" association="A_realization_abstraction_component">
        <ownedComment 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:id="Component-required" name="required" type="Interface" isReadOnly="true" isDerived="true" association="A_required_component">
        <ownedComment 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:id="Component-createOwnedClass" name="createOwnedClass">
        <ownedComment xmi:id="Component-createOwnedClass-_ownedComment.0" annotatedElement="Component-createOwnedClass">
          <body>Creates a(n) (abstract) class with the specified name as a packaged element of this component.</body>
        </ownedComment>
        <ownedParameter xmi:id="Component-createOwnedClass-_ownedParameter.0" type="Class" direction="return"/>
        <ownedParameter xmi:id="Component-createOwnedClass-name" name="name" effect="read">
          <ownedComment xmi:id="Component-createOwnedClass-name-_ownedComment.0" annotatedElement="Component-createOwnedClass-name">
            <body>The name for the new class, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Component-createOwnedClass-isAbstract" name="isAbstract" effect="read">
          <ownedComment xmi:id="Component-createOwnedClass-isAbstract-_ownedComment.0" annotatedElement="Component-createOwnedClass-isAbstract">
            <body>Whether the new class should be abstract.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-createOwnedEnumeration" name="createOwnedEnumeration">
        <ownedComment xmi:id="Component-createOwnedEnumeration-_ownedComment.0" annotatedElement="Component-createOwnedEnumeration">
          <body>Creates a enumeration with the specified name as a packaged element of this component.</body>
        </ownedComment>
        <ownedParameter xmi:id="Component-createOwnedEnumeration-_ownedParameter.0" type="Enumeration" direction="return"/>
        <ownedParameter xmi:id="Component-createOwnedEnumeration-name" name="name" effect="read">
          <ownedComment xmi:id="Component-createOwnedEnumeration-name-_ownedComment.0" annotatedElement="Component-createOwnedEnumeration-name">
            <body>The name for the new enumeration, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-createOwnedInterface" name="createOwnedInterface">
        <ownedComment xmi:id="Component-createOwnedInterface-_ownedComment.0" annotatedElement="Component-createOwnedInterface">
          <body>Creates an interface with the specified name as a packaged element of this component.</body>
        </ownedComment>
        <ownedParameter xmi:id="Component-createOwnedInterface-_ownedParameter.0" type="Interface" direction="return"/>
        <ownedParameter xmi:id="Component-createOwnedInterface-name" name="name" effect="read">
          <ownedComment xmi:id="Component-createOwnedInterface-name-_ownedComment.0" annotatedElement="Component-createOwnedInterface-name">
            <body>The name for the new interface, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-createOwnedPrimitiveType" name="createOwnedPrimitiveType">
        <ownedComment xmi:id="Component-createOwnedPrimitiveType-_ownedComment.0" annotatedElement="Component-createOwnedPrimitiveType">
          <body>Creates a primitive type with the specified name as a packaged element of this component.</body>
        </ownedComment>
        <ownedParameter xmi:id="Component-createOwnedPrimitiveType-_ownedParameter.0" type="PrimitiveType" direction="return"/>
        <ownedParameter xmi:id="Component-createOwnedPrimitiveType-name" name="name" effect="read">
          <ownedComment xmi:id="Component-createOwnedPrimitiveType-name-_ownedComment.0" annotatedElement="Component-createOwnedPrimitiveType-name">
            <body>The name for the new primitive type, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-provided.1" name="provided" visibility="protected" bodyCondition="Component-provided.1-spec" isQuery="true">
        <ownedComment xmi:id="Component-provided.1-_ownedComment.0" annotatedElement="Component-provided.1">
          <body>Derivation for Component::/provided</body>
        </ownedComment>
        <ownedRule xmi:id="Component-provided.1-spec" name="spec" constrainedElement="Component-provided.1 Component-provided">
          <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: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:id="Component-required.1" name="required" visibility="protected" bodyCondition="Component-required.1-spec" isQuery="true">
        <ownedComment xmi:id="Component-required.1-_ownedComment.0" annotatedElement="Component-required.1">
          <body>Derivation for Component::/required</body>
        </ownedComment>
        <ownedRule xmi:id="Component-required.1-spec" name="spec" constrainedElement="Component-required.1 Component-required">
          <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: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: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:id="ComponentRealization-_generalization.0" general="Realization"/>
      <ownedAttribute xmi:id="ComponentRealization-abstraction" name="abstraction" type="Component" subsettedProperty="Dependency-supplier Element-owner" association="A_realization_abstraction_component">
        <ownedComment 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:id="ComponentRealization-realizingClassifier" name="realizingClassifier" type="Classifier" subsettedProperty="Dependency-client" association="A_realizingClassifier_componentRealization">
        <ownedComment 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: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:id="ConnectableElement-_generalization.0" general="TypedElement"/>
      <generalization xmi:id="ConnectableElement-_generalization.1" general="ParameterableElement"/>
      <ownedAttribute xmi:id="ConnectableElement-end" name="end" type="ConnectorEnd" isReadOnly="true" isDerived="true" association="A_end_role">
        <ownedComment 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:id="ConnectableElement-templateParameter" name="templateParameter" type="ConnectableElementTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_connectableElement_templateParameter_parameteredElement">
        <ownedComment 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:id="ConnectableElement-end.1" name="end" visibility="protected" bodyCondition="ConnectableElement-end.1-spec" isQuery="true">
        <ownedComment xmi:id="ConnectableElement-end.1-_ownedComment.0" annotatedElement="ConnectableElement-end.1">
          <body>Derivation for ConnectableElement::/end : ConnectorEnd</body>
        </ownedComment>
        <ownedRule xmi:id="ConnectableElement-end.1-spec" name="spec" constrainedElement="ConnectableElement-end.1 ConnectableElement-end">
          <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: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:id="ConnectableElementTemplateParameter-_ownedComment.0" annotatedElement="ConnectableElementTemplateParameter">
        <body>A ConnectableElementTemplateParameter exposes a ConnectableElement as a formal parameter for a template.</body>
      </ownedComment>
      <generalization xmi:id="ConnectableElementTemplateParameter-_generalization.0" general="TemplateParameter"/>
      <ownedAttribute xmi:id="ConnectableElementTemplateParameter-parameteredElement" name="parameteredElement" type="ConnectableElement" redefinedProperty="TemplateParameter-parameteredElement" association="A_connectableElement_templateParameter_parameteredElement">
        <ownedComment 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: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:id="Connector-types" name="types" constrainedElement="Connector">
        <ownedComment 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:id="Connector-roles" name="roles" constrainedElement="Connector">
        <ownedComment 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:id="Connector-_generalization.0" general="Feature"/>
      <ownedAttribute xmi:id="Connector-contract" name="contract" type="Behavior" association="A_contract_connector">
        <ownedComment 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:id="Connector-end" name="end" type="ConnectorEnd" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_end_connector">
        <ownedComment 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:id="Connector-kind" name="kind" type="ConnectorKind" isReadOnly="true" isDerived="true">
        <ownedComment 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:id="Connector-redefinedConnector" name="redefinedConnector" type="Connector" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedConnector_connector">
        <ownedComment 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:id="Connector-type" name="type" type="Association" association="A_type_connector">
        <ownedComment 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:id="Connector-kind.1" name="kind" visibility="protected" bodyCondition="Connector-kind.1-spec" isQuery="true">
        <ownedComment xmi:id="Connector-kind.1-_ownedComment.0" annotatedElement="Connector-kind.1">
          <body>Derivation for Connector::/kind : ConnectorKind</body>
        </ownedComment>
        <ownedRule xmi:id="Connector-kind.1-spec" name="spec" constrainedElement="Connector-kind.1 Connector-kind">
          <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: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: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:id="ConnectorEnd-role_and_part_with_port" name="role_and_part_with_port" constrainedElement="ConnectorEnd">
        <ownedComment 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:id="ConnectorEnd-part_with_port_empty" name="part_with_port_empty" constrainedElement="ConnectorEnd">
        <ownedComment 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:id="ConnectorEnd-multiplicity" name="multiplicity" constrainedElement="ConnectorEnd">
        <ownedComment 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:id="ConnectorEnd-self_part_with_port" name="self_part_with_port" constrainedElement="ConnectorEnd">
        <ownedComment 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:id="ConnectorEnd-_generalization.0" general="MultiplicityElement"/>
      <ownedAttribute xmi:id="ConnectorEnd-definingEnd" name="definingEnd" type="Property" isReadOnly="true" isDerived="true" association="A_definingEnd_connectorEnd">
        <ownedComment 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:id="ConnectorEnd-partWithPort" name="partWithPort" type="Property" association="A_partWithPort_connectorEnd">
        <ownedComment 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:id="ConnectorEnd-role" name="role" visibility="public" type="ConnectableElement" association="A_end_role">
        <ownedComment 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>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-role-_lowerValue" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectorEnd-role-_upperValue" value="1"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ConnectorEnd-definingEnd.1" name="definingEnd" visibility="protected" bodyCondition="ConnectorEnd-definingEnd.1-spec" isQuery="true">
        <ownedComment xmi:id="ConnectorEnd-definingEnd.1-_ownedComment.0" annotatedElement="ConnectorEnd-definingEnd.1">
          <body>Derivation for ConnectorEnd::/definingEnd : Property</body>
        </ownedComment>
        <ownedRule xmi:id="ConnectorEnd-definingEnd.1-spec" name="spec" constrainedElement="ConnectorEnd-definingEnd.1 ConnectorEnd-definingEnd">
          <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: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:id="EncapsulatedClassifier-_ownedComment.0" annotatedElement="EncapsulatedClassifier">
        <body>An EncapsulatedClassifier may own Ports to specify typed interaction points.</body>
      </ownedComment>
      <generalization xmi:id="EncapsulatedClassifier-_generalization.0" general="StructuredClassifier"/>
      <ownedAttribute xmi:id="EncapsulatedClassifier-ownedPort" name="ownedPort" type="Port" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="StructuredClassifier-ownedAttribute" association="A_ownedPort_encapsulatedClassifier">
        <ownedComment 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:id="EncapsulatedClassifier-ownedPort.1" name="ownedPort" visibility="protected" bodyCondition="EncapsulatedClassifier-ownedPort.1-spec" isQuery="true">
        <ownedComment xmi:id="EncapsulatedClassifier-ownedPort.1-_ownedComment.0" annotatedElement="EncapsulatedClassifier-ownedPort.1">
          <body>Derivation for EncapsulatedClassifier::/ownedPort : Port</body>
        </ownedComment>
        <ownedRule xmi:id="EncapsulatedClassifier-ownedPort.1-spec" name="spec" constrainedElement="EncapsulatedClassifier-ownedPort.1 EncapsulatedClassifier-ownedPort">
          <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: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: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:id="Port-port_aggregation" name="port_aggregation" constrainedElement="Port">
        <ownedComment 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:id="Port-default_value" name="default_value" constrainedElement="Port">
        <ownedComment 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:id="Port-encapsulated_owner" name="encapsulated_owner" constrainedElement="Port">
        <ownedComment 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:id="Port-_generalization.0" general="Property"/>
      <ownedAttribute xmi:id="Port-isBehavior" name="isBehavior">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isBehavior-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-isConjugated" name="isConjugated">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isConjugated-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-isService" name="isService">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isService-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-protocol" name="protocol" type="ProtocolStateMachine" association="A_protocol_port">
        <ownedComment 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:id="Port-provided" name="provided" type="Interface" isReadOnly="true" isDerived="true" association="A_provided_port">
        <ownedComment 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:id="Port-redefinedPort" name="redefinedPort" type="Port" subsettedProperty="Property-redefinedProperty" association="A_redefinedPort_port">
        <ownedComment 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:id="Port-required" name="required" type="Interface" isReadOnly="true" isDerived="true" association="A_required_port">
        <ownedComment 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:id="Port-provided.1" name="provided" visibility="protected" bodyCondition="Port-provided.1-spec" isQuery="true">
        <ownedComment xmi:id="Port-provided.1-_ownedComment.0" annotatedElement="Port-provided.1">
          <body>Derivation for Port::/provided</body>
        </ownedComment>
        <ownedRule xmi:id="Port-provided.1-spec" name="spec" constrainedElement="Port-provided.1 Port-provided">
          <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: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:id="Port-required.1" name="required" visibility="protected" bodyCondition="Port-required.1-spec" isQuery="true">
        <ownedComment xmi:id="Port-required.1-_ownedComment.0" annotatedElement="Port-required.1">
          <body>Derivation for Port::/required</body>
        </ownedComment>
        <ownedRule xmi:id="Port-required.1-spec" name="spec" constrainedElement="Port-required.1 Port-required">
          <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: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:id="Port-basicProvided" name="basicProvided" bodyCondition="Port-basicProvided-spec" isQuery="true">
        <ownedComment 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:id="Port-basicProvided-spec" name="spec" constrainedElement="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: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:id="Port-basicRequired" name="basicRequired" bodyCondition="Port-basicRequired-spec" isQuery="true">
        <ownedComment 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:id="Port-basicRequired-spec" name="spec" constrainedElement="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: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: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:id="StructuredClassifier-_generalization.0" general="Classifier"/>
      <ownedAttribute 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: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:id="StructuredClassifier-ownedConnector" name="ownedConnector" type="Connector" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedConnector_structuredClassifier">
        <ownedComment 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:id="StructuredClassifier-part" name="part" type="Property" isReadOnly="true" isDerived="true" association="A_part_structuredClassifier">
        <ownedComment 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:id="StructuredClassifier-role" name="role" type="ConnectableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Namespace-member" association="A_role_structuredClassifier">
        <ownedComment 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:id="StructuredClassifier-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this structured classifier.</body>
        </ownedComment>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-name-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-type-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StructuredClassifier-part.1" name="part" visibility="protected" bodyCondition="StructuredClassifier-part.1-spec" isQuery="true">
        <ownedComment xmi:id="StructuredClassifier-part.1-_ownedComment.0" annotatedElement="StructuredClassifier-part.1">
          <body>Derivation for StructuredClassifier::/part</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredClassifier-part.1-spec" name="spec" constrainedElement="StructuredClassifier-part.1 StructuredClassifier-part">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredClassifier-part.1-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedAttribute->select(isComposite)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter 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:id="StructuredClassifier-allRoles" name="allRoles" bodyCondition="StructuredClassifier-allRoles-spec" isQuery="true">
        <ownedComment 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:id="StructuredClassifier-allRoles-spec" name="spec" constrainedElement="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: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" visibility="private">
      <ownedComment 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:id="ConnectorKind-assembly" name="assembly">
        <ownedComment xmi:id="ConnectorKind-assembly-_ownedComment.0" annotatedElement="ConnectorKind-assembly">
          <body>Indicates that the Connector is an assembly Connector.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ConnectorKind-delegation" name="delegation">
        <ownedComment 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" visibility="private" isDerived="true" memberEnd="StructuredClassifier-part A_part_structuredClassifier-structuredClassifier">
      <ownedEnd xmi:id="A_part_structuredClassifier-structuredClassifier" name="structuredClassifier" type="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" visibility="private" memberEnd="StructuredClassifier-ownedConnector A_ownedConnector_structuredClassifier-structuredClassifier">
      <ownedEnd xmi:id="A_ownedConnector_structuredClassifier-structuredClassifier" name="structuredClassifier" type="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" visibility="private" memberEnd="StructuredClassifier-ownedAttribute A_ownedAttribute_structuredClassifier-structuredClassifier">
      <generalization xmi:id="A_ownedAttribute_structuredClassifier-_generalization.0" general="A_role_structuredClassifier"/>
      <ownedEnd xmi:id="A_ownedAttribute_structuredClassifier-structuredClassifier" name="structuredClassifier" type="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" visibility="private" isDerived="true" memberEnd="StructuredClassifier-role A_role_structuredClassifier-structuredClassifier">
      <ownedEnd xmi:id="A_role_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" 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" visibility="private" memberEnd="Port-protocol A_protocol_port-port">
      <ownedEnd xmi:id="A_protocol_port-port" name="port" type="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" visibility="private" isDerived="true" memberEnd="Port-required A_required_port-port">
      <ownedEnd xmi:id="A_required_port-port" name="port" type="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" visibility="private" memberEnd="Port-redefinedPort A_redefinedPort_port-port">
      <ownedEnd xmi:id="A_redefinedPort_port-port" name="port" type="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" visibility="private" isDerived="true" memberEnd="Port-provided A_provided_port-port">
      <ownedEnd xmi:id="A_provided_port-port" name="port" type="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" visibility="private" isDerived="true" memberEnd="EncapsulatedClassifier-ownedPort A_ownedPort_encapsulatedClassifier-encapsulatedClassifier">
      <ownedEnd xmi:id="A_ownedPort_encapsulatedClassifier-encapsulatedClassifier" name="encapsulatedClassifier" type="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" visibility="private" memberEnd="ConnectorEnd-partWithPort A_partWithPort_connectorEnd-connectorEnd">
      <ownedEnd xmi:id="A_partWithPort_connectorEnd-connectorEnd" name="connectorEnd" type="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" visibility="private" isDerived="true" memberEnd="ConnectorEnd-definingEnd A_definingEnd_connectorEnd-connectorEnd">
      <ownedEnd xmi:id="A_definingEnd_connectorEnd-connectorEnd" name="connectorEnd" type="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" visibility="private" memberEnd="Connector-end A_end_connector-connector">
      <ownedEnd xmi:id="A_end_connector-connector" name="connector" type="Connector" subsettedProperty="Element-owner" association="A_end_connector"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedConnector_connector" name="A_redefinedConnector_connector" visibility="private" memberEnd="Connector-redefinedConnector A_redefinedConnector_connector-connector">
      <ownedEnd xmi:id="A_redefinedConnector_connector-connector" name="connector" type="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" visibility="private" memberEnd="Connector-contract A_contract_connector-connector">
      <ownedEnd xmi:id="A_contract_connector-connector" name="connector" type="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" visibility="private" memberEnd="Connector-type A_type_connector-connector">
      <ownedEnd xmi:id="A_type_connector-connector" name="connector" 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" visibility="private" memberEnd="ConnectableElement-templateParameter ConnectableElementTemplateParameter-parameteredElement"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_end_role" name="A_end_role" visibility="private" memberEnd="ConnectableElement-end ConnectorEnd-role A_end_role-end">
      <ownedEnd xmi:id="A_end_role-end" name="end" visibility="private" type="ConnectorEnd" association="A_end_role">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_end_role-end-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_end_role-end-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_realizingClassifier_componentRealization" name="A_realizingClassifier_componentRealization" visibility="private" memberEnd="ComponentRealization-realizingClassifier A_realizingClassifier_componentRealization-componentRealization">
      <ownedEnd xmi:id="A_realizingClassifier_componentRealization-componentRealization" name="componentRealization" type="ComponentRealization" 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" visibility="private" isDerived="true" memberEnd="Component-required A_required_component-component">
      <ownedEnd xmi:id="A_required_component-component" name="component" type="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" visibility="private" memberEnd="Component-packagedElement A_packagedElement_component-component">
      <ownedEnd xmi:id="A_packagedElement_component-component" name="component" type="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" visibility="private" memberEnd="Component-realization ComponentRealization-abstraction"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_provided_component" name="A_provided_component" visibility="private" isDerived="true" memberEnd="Component-provided A_provided_component-component">
      <ownedEnd xmi:id="A_provided_component-component" name="component" type="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" visibility="private" memberEnd="CollaborationUse-type A_type_collaborationUse-collaborationUse">
      <ownedEnd xmi:id="A_type_collaborationUse-collaborationUse" name="collaborationUse" 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" visibility="private" memberEnd="CollaborationUse-roleBinding A_roleBinding_collaborationUse-collaborationUse">
      <ownedEnd xmi:id="A_roleBinding_collaborationUse-collaborationUse" name="collaborationUse" type="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" visibility="private" memberEnd="Collaboration-collaborationRole A_collaborationRole_collaboration-collaboration">
      <ownedEnd xmi:id="A_collaborationRole_collaboration-collaboration" name="collaboration" type="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" visibility="private" memberEnd="Class-ownedOperation Operation-class"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_superClass_class" name="A_superClass_class" visibility="private" isDerived="true" memberEnd="Class-superClass A_superClass_class-class">
      <ownedEnd xmi:id="A_superClass_class-class" name="class" type="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" visibility="private" isDerived="true" memberEnd="Class-extension Extension-metaclass"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_class" name="A_ownedAttribute_class" visibility="private" memberEnd="Class-ownedAttribute Property-class"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nestedClassifier_nestingClass" name="A_nestedClassifier_nestingClass" visibility="private" memberEnd="Class-nestedClassifier A_nestedClassifier_nestingClass-nestingClass">
      <ownedEnd xmi:id="A_nestedClassifier_nestingClass-nestingClass" name="nestingClass" type="Class" 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" visibility="private" memberEnd="Class-ownedReception A_ownedReception_class-class">
      <ownedEnd xmi:id="A_ownedReception_class-class" name="class" type="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" visibility="private" memberEnd="Association-memberEnd Property-association"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_endType_association" name="A_endType_association" visibility="private" isDerived="true" memberEnd="Association-endType A_endType_association-association">
      <ownedEnd xmi:id="A_endType_association-association" name="association" type="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" visibility="private" memberEnd="Association-ownedEnd Property-owningAssociation"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_navigableOwnedEnd_association" name="A_navigableOwnedEnd_association" visibility="private" memberEnd="Association-navigableOwnedEnd A_navigableOwnedEnd_association-association">
      <ownedEnd xmi:id="A_navigableOwnedEnd_association-association" name="association" type="Association" subsettedProperty="Property-owningAssociation" association="A_navigableOwnedEnd_association">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_navigableOwnedEnd_association-association-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Actor" name="Actor">
      <ownedComment 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:id="Actor-associations" name="associations" constrainedElement="Actor">
        <ownedComment 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:id="Actor-must_have_name" name="must_have_name" constrainedElement="Actor">
        <ownedComment 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:id="Actor-_generalization.0" general="BehavioredClassifier"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Extend" name="Extend">
      <ownedComment 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:id="Extend-extension_points" name="extension_points" constrainedElement="Extend">
        <ownedComment 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:id="Extend-_generalization.0" general="NamedElement"/>
      <generalization xmi:id="Extend-_generalization.1" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="Extend-condition" name="condition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_condition_extend">
        <ownedComment 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:id="Extend-extendedCase" name="extendedCase" type="UseCase" subsettedProperty="DirectedRelationship-target" association="A_extendedCase_extend">
        <ownedComment xmi:id="Extend-extendedCase-_ownedComment.0" annotatedElement="Extend-extendedCase">
          <body>The UseCase that is being extended.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Extend-extension" name="extension" type="UseCase" subsettedProperty="DirectedRelationship-source NamedElement-namespace" association="A_extend_extension">
        <ownedComment 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:id="Extend-extensionLocation" name="extensionLocation" type="ExtensionPoint" isOrdered="true" association="A_extensionLocation_extension">
        <ownedComment 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: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:id="ExtensionPoint-must_have_name" name="must_have_name" constrainedElement="ExtensionPoint">
        <ownedComment 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:id="ExtensionPoint-_generalization.0" general="RedefinableElement"/>
      <ownedAttribute xmi:id="ExtensionPoint-useCase" name="useCase" type="UseCase" subsettedProperty="NamedElement-namespace" association="A_extensionPoint_useCase">
        <ownedComment 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: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:id="Include-_generalization.0" general="DirectedRelationship"/>
      <generalization xmi:id="Include-_generalization.1" general="NamedElement"/>
      <ownedAttribute xmi:id="Include-addition" name="addition" type="UseCase" subsettedProperty="DirectedRelationship-target" association="A_addition_include">
        <ownedComment xmi:id="Include-addition-_ownedComment.0" annotatedElement="Include-addition">
          <body>The UseCase that is to be included.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Include-includingCase" name="includingCase" type="UseCase" subsettedProperty="DirectedRelationship-source NamedElement-namespace" association="A_include_includingCase">
        <ownedComment 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: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:id="UseCase-binary_associations" name="binary_associations" constrainedElement="UseCase">
        <ownedComment 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:id="UseCase-no_association_to_use_case" name="no_association_to_use_case" constrainedElement="UseCase">
        <ownedComment 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:id="UseCase-cannot_include_self" name="cannot_include_self" constrainedElement="UseCase">
        <ownedComment 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:id="UseCase-must_have_name" name="must_have_name" constrainedElement="UseCase">
        <ownedComment 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:id="UseCase-_generalization.0" general="BehavioredClassifier"/>
      <ownedAttribute xmi:id="UseCase-extend" name="extend" type="Extend" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Namespace-ownedMember" association="A_extend_extension">
        <ownedComment 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:id="UseCase-extensionPoint" name="extensionPoint" type="ExtensionPoint" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_extensionPoint_useCase">
        <ownedComment 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:id="UseCase-include" name="include" type="Include" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Namespace-ownedMember" association="A_include_includingCase">
        <ownedComment 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:id="UseCase-subject" name="subject" type="Classifier" association="A_subject_useCase">
        <ownedComment 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:id="UseCase-allIncludedUseCases" name="allIncludedUseCases" bodyCondition="UseCase-allIncludedUseCases-spec" isQuery="true">
        <ownedComment 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:id="UseCase-allIncludedUseCases-spec" name="spec" constrainedElement="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: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" visibility="private" memberEnd="UseCase-extensionPoint ExtensionPoint-useCase"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_include_includingCase" name="A_include_includingCase" visibility="private" memberEnd="UseCase-include Include-includingCase"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_subject_useCase" name="A_subject_useCase" visibility="private" memberEnd="UseCase-subject Classifier-useCase"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extend_extension" name="A_extend_extension" visibility="private" memberEnd="UseCase-extend Extend-extension"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_addition_include" name="A_addition_include" visibility="private" memberEnd="Include-addition A_addition_include-include">
      <ownedEnd xmi:id="A_addition_include-include" name="include" type="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" visibility="private" memberEnd="Extend-extensionLocation A_extensionLocation_extension-extension">
      <ownedEnd xmi:id="A_extensionLocation_extension-extension" name="extension" type="Extend" 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" visibility="private" memberEnd="Extend-condition A_condition_extend-extend">
      <ownedEnd xmi:id="A_condition_extend-extend" name="extend" type="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" visibility="private" memberEnd="Extend-extendedCase A_extendedCase_extend-extend">
      <ownedEnd xmi:id="A_extendedCase_extend-extend" name="extend" type="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 xmi:type="uml:Class" xmi:id="Duration" name="Duration">
      <ownedComment 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:id="Duration-no_expr_requires_observation" name="no_expr_requires_observation" constrainedElement="Duration">
        <ownedComment 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:id="Duration-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="Duration-expr" name="expr" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_expr_duration">
        <ownedComment 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:id="Duration-observation" name="observation" type="Observation" association="A_observation_duration">
        <ownedComment 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>
      <ownedOperation xmi:id="Duration-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="Duration-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DurationConstraint" name="DurationConstraint">
      <ownedComment xmi:id="DurationConstraint-_ownedComment.0" annotatedElement="DurationConstraint">
        <body>A DurationConstraint is a Constraint that refers to a DurationInterval.</body>
      </ownedComment>
      <ownedRule xmi:id="DurationConstraint-first_event_multiplicity" name="first_event_multiplicity" constrainedElement="DurationConstraint">
        <ownedComment 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:id="DurationConstraint-has_one_or_two_constrainedElements" name="has_one_or_two_constrainedElements" constrainedElement="DurationConstraint">
        <ownedComment 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:id="DurationConstraint-_generalization.0" general="IntervalConstraint"/>
      <ownedAttribute xmi:id="DurationConstraint-firstEvent" name="firstEvent">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="DurationConstraint-specification" name="specification" type="DurationInterval" aggregation="composite" redefinedProperty="IntervalConstraint-specification Constraint-specification" association="A_specification_durationConstraint">
        <ownedComment 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:id="DurationInterval-_ownedComment.0" annotatedElement="DurationInterval">
        <body>A DurationInterval defines the range between two Durations.</body>
      </ownedComment>
      <generalization xmi:id="DurationInterval-_generalization.0" general="Interval"/>
      <ownedAttribute xmi:id="DurationInterval-max" name="max" type="Duration" redefinedProperty="Interval-max" association="A_max_durationInterval">
        <ownedComment 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:id="DurationInterval-min" name="min" type="Duration" redefinedProperty="Interval-min" association="A_min_durationInterval">
        <ownedComment 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: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:id="DurationObservation-first_event_multiplicity" name="first_event_multiplicity" constrainedElement="DurationObservation">
        <ownedComment 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:id="DurationObservation-_generalization.0" general="Observation"/>
      <ownedAttribute xmi:id="DurationObservation-event" name="event" type="NamedElement" isOrdered="true" association="A_event_durationObservation">
        <ownedComment 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:id="DurationObservation-firstEvent" name="firstEvent">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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: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:id="Expression-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="Expression-operand" name="operand" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_operand_expression">
        <ownedComment 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:id="Expression-symbol" name="symbol">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="Interval-_ownedComment.0" annotatedElement="Interval">
        <body>An Interval defines the range between two ValueSpecifications.</body>
      </ownedComment>
      <generalization xmi:id="Interval-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="Interval-max" name="max" type="ValueSpecification" association="A_max_interval">
        <ownedComment 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:id="Interval-min" name="min" type="ValueSpecification" association="A_min_interval">
        <ownedComment 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:id="IntervalConstraint-_ownedComment.0" annotatedElement="IntervalConstraint">
        <body>An IntervalConstraint is a Constraint that is specified by an Interval.</body>
      </ownedComment>
      <generalization xmi:id="IntervalConstraint-_generalization.0" general="Constraint"/>
      <ownedAttribute xmi:id="IntervalConstraint-specification" name="specification" type="Interval" aggregation="composite" redefinedProperty="Constraint-specification" association="A_specification_intervalConstraint">
        <ownedComment 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:id="LiteralBoolean-_ownedComment.0" annotatedElement="LiteralBoolean">
        <body>A LiteralBoolean is a specification of a Boolean value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralBoolean-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralBoolean-value" name="value">
        <ownedComment xmi:id="LiteralBoolean-value-_ownedComment.0" annotatedElement="LiteralBoolean-value">
          <body>The specified Boolean value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LiteralBoolean-value-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralBoolean-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralBoolean-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralBoolean-booleanValue" name="booleanValue" bodyCondition="LiteralBoolean-booleanValue-spec" isQuery="true" redefinedOperation="ValueSpecification-booleanValue">
        <ownedComment xmi:id="LiteralBoolean-booleanValue-_ownedComment.0" annotatedElement="LiteralBoolean-booleanValue">
          <body>The query booleanValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralBoolean-booleanValue-spec" name="spec" constrainedElement="LiteralBoolean-booleanValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralBoolean-booleanValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralBoolean-booleanValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralBoolean-isComputable" name="isComputable" bodyCondition="LiteralBoolean-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralBoolean-isComputable-_ownedComment.0" annotatedElement="LiteralBoolean-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralBoolean-isComputable-spec" name="spec" constrainedElement="LiteralBoolean-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralBoolean-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralBoolean-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralInteger" name="LiteralInteger">
      <ownedComment xmi:id="LiteralInteger-_ownedComment.0" annotatedElement="LiteralInteger">
        <body>A LiteralInteger is a specification of an Integer value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralInteger-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralInteger-value" name="value">
        <ownedComment xmi:id="LiteralInteger-value-_ownedComment.0" annotatedElement="LiteralInteger-value">
          <body>The specified Integer value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="LiteralInteger-value-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralInteger-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralInteger-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralInteger-integerValue" name="integerValue" bodyCondition="LiteralInteger-integerValue-spec" isQuery="true" redefinedOperation="ValueSpecification-integerValue">
        <ownedComment xmi:id="LiteralInteger-integerValue-_ownedComment.0" annotatedElement="LiteralInteger-integerValue">
          <body>The query integerValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralInteger-integerValue-spec" name="spec" constrainedElement="LiteralInteger-integerValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralInteger-integerValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralInteger-integerValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralInteger-isComputable" name="isComputable" bodyCondition="LiteralInteger-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralInteger-isComputable-_ownedComment.0" annotatedElement="LiteralInteger-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralInteger-isComputable-spec" name="spec" constrainedElement="LiteralInteger-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralInteger-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralInteger-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralNull" name="LiteralNull">
      <ownedComment xmi:id="LiteralNull-_ownedComment.0" annotatedElement="LiteralNull">
        <body>A LiteralNull specifies the lack of a value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralNull-_generalization.0" general="LiteralSpecification"/>
      <ownedOperation xmi:id="LiteralNull-isComputable" name="isComputable" bodyCondition="LiteralNull-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralNull-isComputable-_ownedComment.0" annotatedElement="LiteralNull-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralNull-isComputable-spec" name="spec" constrainedElement="LiteralNull-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralNull-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralNull-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralNull-isNull" name="isNull" bodyCondition="LiteralNull-isNull-spec" isQuery="true" redefinedOperation="ValueSpecification-isNull">
        <ownedComment xmi:id="LiteralNull-isNull-_ownedComment.0" annotatedElement="LiteralNull-isNull">
          <body>The query isNull() returns true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralNull-isNull-spec" name="spec" constrainedElement="LiteralNull-isNull">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralNull-isNull-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralNull-isNull-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralReal" name="LiteralReal">
      <ownedComment xmi:id="LiteralReal-_ownedComment.0" annotatedElement="LiteralReal">
        <body>A LiteralReal is a specification of a Real value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralReal-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralReal-value" name="value">
        <ownedComment xmi:id="LiteralReal-value-_ownedComment.0" annotatedElement="LiteralReal-value">
          <body>The specified Real value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralReal-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralReal-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralReal-isComputable" name="isComputable" bodyCondition="LiteralReal-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralReal-isComputable-_ownedComment.0" annotatedElement="LiteralReal-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralReal-isComputable-spec" name="spec" constrainedElement="LiteralReal-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralReal-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralReal-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralReal-realValue" name="realValue" bodyCondition="LiteralReal-realValue-spec" isQuery="true" redefinedOperation="ValueSpecification-realValue">
        <ownedComment xmi:id="LiteralReal-realValue-_ownedComment.0" annotatedElement="LiteralReal-realValue">
          <body>The query realValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralReal-realValue-spec" name="spec" constrainedElement="LiteralReal-realValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralReal-realValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralReal-realValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralSpecification" name="LiteralSpecification" isAbstract="true">
      <ownedComment xmi:id="LiteralSpecification-_ownedComment.0" annotatedElement="LiteralSpecification">
        <body>A LiteralSpecification identifies a literal constant being modeled.</body>
      </ownedComment>
      <generalization xmi:id="LiteralSpecification-_generalization.0" general="ValueSpecification"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralString" name="LiteralString">
      <ownedComment xmi:id="LiteralString-_ownedComment.0" annotatedElement="LiteralString">
        <body>A LiteralString is a specification of a String value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralString-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralString-value" name="value">
        <ownedComment xmi:id="LiteralString-value-_ownedComment.0" annotatedElement="LiteralString-value">
          <body>The specified String value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LiteralString-value-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralString-integerValue" name="integerValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralString-integerValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralString-unlimitedValue" name="unlimitedValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralString-unlimitedValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralString-isComputable" name="isComputable" bodyCondition="LiteralString-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralString-isComputable-_ownedComment.0" annotatedElement="LiteralString-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralString-isComputable-spec" name="spec" constrainedElement="LiteralString-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralString-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralString-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralString-stringValue" name="stringValue" bodyCondition="LiteralString-stringValue-spec" isQuery="true" redefinedOperation="ValueSpecification-stringValue">
        <ownedComment xmi:id="LiteralString-stringValue-_ownedComment.0" annotatedElement="LiteralString-stringValue">
          <body>The query stringValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralString-stringValue-spec" name="spec" constrainedElement="LiteralString-stringValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralString-stringValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralString-stringValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralUnlimitedNatural" name="LiteralUnlimitedNatural">
      <ownedComment xmi:id="LiteralUnlimitedNatural-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural">
        <body>A LiteralUnlimitedNatural is a specification of an UnlimitedNatural number.</body>
      </ownedComment>
      <generalization xmi:id="LiteralUnlimitedNatural-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralUnlimitedNatural-value" name="value">
        <ownedComment xmi:id="LiteralUnlimitedNatural-value-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-value">
          <body>The specified UnlimitedNatural value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LiteralUnlimitedNatural-value-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralUnlimitedNatural-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralUnlimitedNatural-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralUnlimitedNatural-isComputable" name="isComputable" bodyCondition="LiteralUnlimitedNatural-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralUnlimitedNatural-isComputable-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralUnlimitedNatural-isComputable-spec" name="spec" constrainedElement="LiteralUnlimitedNatural-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralUnlimitedNatural-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralUnlimitedNatural-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralUnlimitedNatural-unlimitedValue" name="unlimitedValue" bodyCondition="LiteralUnlimitedNatural-unlimitedValue-spec" isQuery="true" redefinedOperation="ValueSpecification-unlimitedValue">
        <ownedComment xmi:id="LiteralUnlimitedNatural-unlimitedValue-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-unlimitedValue">
          <body>The query unlimitedValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralUnlimitedNatural-unlimitedValue-spec" name="spec" constrainedElement="LiteralUnlimitedNatural-unlimitedValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralUnlimitedNatural-unlimitedValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralUnlimitedNatural-unlimitedValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Observation" name="Observation" isAbstract="true">
      <ownedComment 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:id="Observation-_generalization.0" general="PackageableElement"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OpaqueExpression" name="OpaqueExpression">
      <ownedComment 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:id="OpaqueExpression-language_body_size" name="language_body_size" constrainedElement="OpaqueExpression">
        <ownedComment 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:id="OpaqueExpression-one_return_result_parameter" name="one_return_result_parameter" constrainedElement="OpaqueExpression">
        <ownedComment 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:id="OpaqueExpression-only_return_result_parameters" name="only_return_result_parameters" constrainedElement="OpaqueExpression">
        <ownedComment 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:id="OpaqueExpression-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="OpaqueExpression-behavior" name="behavior" type="Behavior" association="A_behavior_opaqueExpression">
        <ownedComment 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:id="OpaqueExpression-body" name="body" isOrdered="true" isUnique="false">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="OpaqueExpression-language" name="language" isOrdered="true">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="OpaqueExpression-result" name="result" type="Parameter" isReadOnly="true" isDerived="true" association="A_result_opaqueExpression">
        <ownedComment 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:id="OpaqueExpression-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="OpaqueExpression-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-isIntegral" name="isIntegral" bodyCondition="OpaqueExpression-isIntegral-spec" isQuery="true">
        <ownedComment xmi:id="OpaqueExpression-isIntegral-_ownedComment.0" annotatedElement="OpaqueExpression-isIntegral">
          <body>The query isIntegral() tells whether an expression is intended to produce an Integer.</body>
        </ownedComment>
        <ownedRule xmi:id="OpaqueExpression-isIntegral-spec" name="spec" constrainedElement="OpaqueExpression-isIntegral">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isIntegral-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-isIntegral-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-isNonNegative" name="isNonNegative" bodyCondition="OpaqueExpression-isNonNegative-spec" isQuery="true" precondition="OpaqueExpression-isNonNegative-pre">
        <ownedComment 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:id="OpaqueExpression-isNonNegative-pre" name="pre" constrainedElement="OpaqueExpression-isNonNegative">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isNonNegative-pre-_specification">
            <language>OCL</language>
            <body>self.isIntegral()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="OpaqueExpression-isNonNegative-spec" name="spec" constrainedElement="OpaqueExpression-isNonNegative">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isNonNegative-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-isNonNegative-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-isPositive" name="isPositive" bodyCondition="OpaqueExpression-isPositive-spec" isQuery="true" precondition="OpaqueExpression-isPositive-pre">
        <ownedComment 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:id="OpaqueExpression-isPositive-spec" name="spec" constrainedElement="OpaqueExpression-isPositive">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isPositive-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="OpaqueExpression-isPositive-pre" name="pre" constrainedElement="OpaqueExpression-isPositive">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isPositive-pre-_specification">
            <language>OCL</language>
            <body>self.isIntegral()</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-isPositive-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-result.1" name="result" visibility="protected" bodyCondition="OpaqueExpression-result.1-spec" isQuery="true">
        <ownedComment xmi:id="OpaqueExpression-result.1-_ownedComment.0" annotatedElement="OpaqueExpression-result.1">
          <body>Derivation for OpaqueExpression::/result</body>
        </ownedComment>
        <ownedRule xmi:id="OpaqueExpression-result.1-spec" name="spec" constrainedElement="OpaqueExpression-result.1 OpaqueExpression-result">
          <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:id="OpaqueExpression-result.1-result" name="result" type="Parameter" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-result.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueExpression-result.1-result-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-value" name="value" bodyCondition="OpaqueExpression-value-spec" isQuery="true" precondition="OpaqueExpression-value-pre">
        <ownedComment 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:id="OpaqueExpression-value-pre" name="pre" constrainedElement="OpaqueExpression-value">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-value-pre-_specification">
            <language>OCL</language>
            <body>self.isIntegral()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="OpaqueExpression-value-spec" name="spec" constrainedElement="OpaqueExpression-value">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-value-spec-_specification">
            <language>OCL</language>
            <body>result = (0)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-value-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StringExpression" name="StringExpression">
      <ownedComment 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:id="StringExpression-operands" name="operands" constrainedElement="StringExpression">
        <ownedComment 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:id="StringExpression-subexpressions" name="subexpressions" constrainedElement="StringExpression">
        <ownedComment 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:id="StringExpression-_generalization.0" general="TemplateableElement"/>
      <generalization xmi:id="StringExpression-_generalization.1" general="Expression"/>
      <ownedAttribute xmi:id="StringExpression-owningExpression" name="owningExpression" type="StringExpression" subsettedProperty="Element-owner" association="A_subExpression_owningExpression">
        <ownedComment 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:id="StringExpression-subExpression" name="subExpression" type="StringExpression" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_subExpression_owningExpression">
        <ownedComment 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:id="StringExpression-stringValue" name="stringValue" bodyCondition="StringExpression-stringValue-spec" isQuery="true" redefinedOperation="ValueSpecification-stringValue">
        <ownedComment 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:id="StringExpression-stringValue-spec" name="spec" constrainedElement="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:id="StringExpression-stringValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TimeConstraint" name="TimeConstraint">
      <ownedComment xmi:id="TimeConstraint-_ownedComment.0" annotatedElement="TimeConstraint">
        <body>A TimeConstraint is a Constraint that refers to a TimeInterval.</body>
      </ownedComment>
      <ownedRule xmi:id="TimeConstraint-has_one_constrainedElement" name="has_one_constrainedElement" constrainedElement="TimeConstraint">
        <ownedComment 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:id="TimeConstraint-_generalization.0" general="IntervalConstraint"/>
      <ownedAttribute xmi:id="TimeConstraint-firstEvent" name="firstEvent">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:id="TimeConstraint-specification" name="specification" type="TimeInterval" aggregation="composite" redefinedProperty="IntervalConstraint-specification Constraint-specification" association="A_specification_timeConstraint">
        <ownedComment 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:id="TimeExpression-_ownedComment.0" annotatedElement="TimeExpression">
        <body>A TimeExpression is a ValueSpecification that represents a time value.</body>
      </ownedComment>
      <ownedRule xmi:id="TimeExpression-no_expr_requires_observation" name="no_expr_requires_observation" constrainedElement="TimeExpression">
        <ownedComment 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:id="TimeExpression-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="TimeExpression-expr" name="expr" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_expr_timeExpression">
        <ownedComment 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:id="TimeExpression-observation" name="observation" type="Observation" association="A_observation_timeExpression">
        <ownedComment 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>
      <ownedOperation xmi:id="TimeExpression-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="TimeExpression-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TimeInterval" name="TimeInterval">
      <ownedComment xmi:id="TimeInterval-_ownedComment.0" annotatedElement="TimeInterval">
        <body>A TimeInterval defines the range between two TimeExpressions.</body>
      </ownedComment>
      <generalization xmi:id="TimeInterval-_generalization.0" general="Interval"/>
      <ownedAttribute xmi:id="TimeInterval-max" name="max" type="TimeExpression" redefinedProperty="Interval-max" association="A_max_timeInterval">
        <ownedComment 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:id="TimeInterval-min" name="min" type="TimeExpression" redefinedProperty="Interval-min" association="A_min_timeInterval">
        <ownedComment 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: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:id="TimeObservation-_generalization.0" general="Observation"/>
      <ownedAttribute xmi:id="TimeObservation-event" name="event" type="NamedElement" association="A_event_timeObservation">
        <ownedComment 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:id="TimeObservation-firstEvent" name="firstEvent">
        <ownedComment 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="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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: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:id="ValueSpecification-_generalization.0" general="TypedElement"/>
      <generalization xmi:id="ValueSpecification-_generalization.1" general="PackageableElement"/>
      <ownedOperation xmi:id="ValueSpecification-booleanValue" name="booleanValue" bodyCondition="ValueSpecification-booleanValue-spec" isQuery="true">
        <ownedComment 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:id="ValueSpecification-booleanValue-spec" name="spec" constrainedElement="ValueSpecification-booleanValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-booleanValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-booleanValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-booleanValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-integerValue" name="integerValue" bodyCondition="ValueSpecification-integerValue-spec" isQuery="true">
        <ownedComment 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:id="ValueSpecification-integerValue-spec" name="spec" constrainedElement="ValueSpecification-integerValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-integerValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-integerValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-integerValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-isCompatibleWith" name="isCompatibleWith" bodyCondition="ValueSpecification-isCompatibleWith-spec" isQuery="true" redefinedOperation="ParameterableElement-isCompatibleWith">
        <ownedComment 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:id="ValueSpecification-isCompatibleWith-spec" name="spec" constrainedElement="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:id="ValueSpecification-isCompatibleWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="ValueSpecification-isCompatibleWith-p" name="p" type="ParameterableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-isComputable" name="isComputable" bodyCondition="ValueSpecification-isComputable-spec" isQuery="true">
        <ownedComment 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:id="ValueSpecification-isComputable-spec" name="spec" constrainedElement="ValueSpecification-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-isNull" name="isNull" bodyCondition="ValueSpecification-isNull-spec" isQuery="true">
        <ownedComment 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:id="ValueSpecification-isNull-spec" name="spec" constrainedElement="ValueSpecification-isNull">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-isNull-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-isNull-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-realValue" name="realValue" bodyCondition="ValueSpecification-realValue-spec" isQuery="true">
        <ownedComment 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:id="ValueSpecification-realValue-spec" name="spec" constrainedElement="ValueSpecification-realValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-realValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-realValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-realValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-stringValue" name="stringValue" bodyCondition="ValueSpecification-stringValue-spec" isQuery="true">
        <ownedComment 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:id="ValueSpecification-stringValue-spec" name="spec" constrainedElement="ValueSpecification-stringValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-stringValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-stringValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-stringValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-unlimitedValue" name="unlimitedValue" bodyCondition="ValueSpecification-unlimitedValue-spec" isQuery="true">
        <ownedComment 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:id="ValueSpecification-unlimitedValue-spec" name="spec" constrainedElement="ValueSpecification-unlimitedValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-unlimitedValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-unlimitedValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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" visibility="private" memberEnd="TimeObservation-event A_event_timeObservation-timeObservation">
      <ownedEnd xmi:id="A_event_timeObservation-timeObservation" name="timeObservation" type="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" visibility="private" memberEnd="TimeInterval-max A_max_timeInterval-timeInterval">
      <generalization xmi:id="A_max_timeInterval-_generalization.0" general="A_max_interval"/>
      <ownedEnd xmi:id="A_max_timeInterval-timeInterval" name="timeInterval" type="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" visibility="private" memberEnd="TimeInterval-min A_min_timeInterval-timeInterval">
      <generalization xmi:id="A_min_timeInterval-_generalization.0" general="A_min_interval"/>
      <ownedEnd xmi:id="A_min_timeInterval-timeInterval" name="timeInterval" type="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" visibility="private" memberEnd="TimeExpression-expr A_expr_timeExpression-timeExpression">
      <ownedEnd xmi:id="A_expr_timeExpression-timeExpression" name="timeExpression" type="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" visibility="private" memberEnd="TimeExpression-observation A_observation_timeExpression-timeExpression">
      <ownedEnd xmi:id="A_observation_timeExpression-timeExpression" name="timeExpression" type="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" visibility="private" memberEnd="TimeConstraint-specification A_specification_timeConstraint-timeConstraint">
      <generalization xmi:id="A_specification_timeConstraint-_generalization.0" general="A_specification_intervalConstraint"/>
      <ownedEnd xmi:id="A_specification_timeConstraint-timeConstraint" name="timeConstraint" type="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" visibility="private" memberEnd="StringExpression-subExpression StringExpression-owningExpression"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_opaqueExpression" name="A_result_opaqueExpression" visibility="private" isDerived="true" memberEnd="OpaqueExpression-result A_result_opaqueExpression-opaqueExpression">
      <ownedEnd xmi:id="A_result_opaqueExpression-opaqueExpression" name="opaqueExpression" type="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" visibility="private" memberEnd="OpaqueExpression-behavior A_behavior_opaqueExpression-opaqueExpression">
      <ownedEnd xmi:id="A_behavior_opaqueExpression-opaqueExpression" name="opaqueExpression" type="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" visibility="private" memberEnd="IntervalConstraint-specification A_specification_intervalConstraint-intervalConstraint">
      <generalization xmi:id="A_specification_intervalConstraint-_generalization.0" general="A_specification_owningConstraint"/>
      <ownedEnd xmi:id="A_specification_intervalConstraint-intervalConstraint" name="intervalConstraint" type="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" visibility="private" memberEnd="Interval-max A_max_interval-interval">
      <ownedEnd xmi:id="A_max_interval-interval" name="interval" type="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" visibility="private" memberEnd="Interval-min A_min_interval-interval">
      <ownedEnd xmi:id="A_min_interval-interval" name="interval" type="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" visibility="private" memberEnd="Expression-operand A_operand_expression-expression">
      <ownedEnd xmi:id="A_operand_expression-expression" name="expression" type="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" visibility="private" memberEnd="DurationObservation-event A_event_durationObservation-durationObservation">
      <ownedEnd xmi:id="A_event_durationObservation-durationObservation" name="durationObservation" type="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" visibility="private" memberEnd="DurationInterval-max A_max_durationInterval-durationInterval">
      <generalization xmi:id="A_max_durationInterval-_generalization.0" general="A_max_interval"/>
      <ownedEnd xmi:id="A_max_durationInterval-durationInterval" name="durationInterval" type="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" visibility="private" memberEnd="DurationInterval-min A_min_durationInterval-durationInterval">
      <generalization xmi:id="A_min_durationInterval-_generalization.0" general="A_min_interval"/>
      <ownedEnd xmi:id="A_min_durationInterval-durationInterval" name="durationInterval" type="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" visibility="private" memberEnd="DurationConstraint-specification A_specification_durationConstraint-durationConstraint">
      <generalization xmi:id="A_specification_durationConstraint-_generalization.0" general="A_specification_intervalConstraint"/>
      <ownedEnd xmi:id="A_specification_durationConstraint-durationConstraint" name="durationConstraint" type="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" visibility="private" memberEnd="Duration-expr A_expr_duration-duration">
      <ownedEnd xmi:id="A_expr_duration-duration" name="duration" type="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" visibility="private" memberEnd="Duration-observation A_observation_duration-duration">
      <ownedEnd xmi:id="A_observation_duration-duration" name="duration" type="Duration" association="A_observation_duration">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_observation_duration-duration-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <profileApplication xmi:id="_profileApplication.0">
      <eAnnotations xmi:id="_profileApplication.0-_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
    </profileApplication>
    <profileApplication xmi:id="_profileApplication.1">
      <eAnnotations xmi:id="_profileApplication.1-_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
    </profileApplication>
  </uml:Model>
  <Ecore:EPackage xmi:id="_LWVYQN7NEduglsXU_NKRsA" base_Package="_0" packageName="uml" nsPrefix="uml" nsURI="http://www.eclipse.org/uml2/5.0.0/UML" basePackage="org.eclipse.uml2" prefix="UML"/>
  <Ecore:EGenericType xmi:id="_PUkIYN7NEduglsXU_NKRsA" base_DataType="Profile-EMap_EJavaObject_EJavaObject"/>
  <Ecore:EGenericType xmi:id="_QfhfoN7NEduglsXU_NKRsA" base_DataType="Profile-EMap_EString_EString"/>
  <Ecore:EOperation xmi:id="_SnLRYMb4EdyrC427ygySag" base_Operation="OpaqueExpression-result.1" operationName="getResult" visibility="None"/>
  <Ecore:EOperation xmi:id="_xkIRwMb4EdyrC427ygySag" base_Operation="Parameter-default.1" operationName="getDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_zi8H0Mb4EdyrC427ygySag" base_Operation="Parameter-isSetDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_1Bty8Mb4EdyrC427ygySag" base_Operation="Parameter-setDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_3E_SQMb4EdyrC427ygySag" base_Operation="Parameter-unsetDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_hObjwMb6EdyrC427ygySag" base_Operation="Class-extension.1" operationName="getExtensions" visibility="None"/>
  <Ecore:EOperation xmi:id="_kCb8cMb6EdyrC427ygySag" base_Operation="ExtensionEnd-getLower" visibility="None"/>
  <Ecore:EOperation xmi:id="_wTSDAMb6EdyrC427ygySag" base_Operation="RedefinableTemplateSignature-inheritedParameter.1" operationName="getInheritedParameters" visibility="None"/>
  <Ecore:EOperation xmi:id="_26LegMb6EdyrC427ygySag" base_Operation="OpaqueExpression-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_5WV-8Mb6EdyrC427ygySag" base_Operation="LiteralInteger-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_n89b0Mb7EdyrC427ygySag" base_Operation="LiteralBoolean-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_poGH8Mb7EdyrC427ygySag" base_Operation="MultiplicityElement-setLower" visibility="None"/>
  <Ecore:EOperation xmi:id="_q6DfEMb7EdyrC427ygySag" base_Operation="MultiplicityElement-setUpper" visibility="None"/>
  <Ecore:EOperation xmi:id="_wtF0sMb7EdyrC427ygySag" base_Operation="Property-setIsComposite" visibility="None"/>
  <Ecore:EOperation xmi:id="_xr-e0Mb7EdyrC427ygySag" base_Operation="Property-setOpposite" visibility="None"/>
  <Ecore:EOperation xmi:id="_ADORMMb8EdyrC427ygySag" base_Operation="Operation-lower.1" operationName="getLower" visibility="None"/>
  <Ecore:EOperation xmi:id="_Bqyr8Mb8EdyrC427ygySag" base_Operation="Operation-upper.1" operationName="getUpper" visibility="None"/>
  <Ecore:EOperation xmi:id="_M8TccMb8EdyrC427ygySag" base_Operation="InstanceValue-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_O5LY0Mb8EdyrC427ygySag" base_Operation="LiteralUnlimitedNatural-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_Qrd10Mb8EdyrC427ygySag" base_Operation="Behavior-context.1" operationName="getContext" visibility="None"/>
  <Ecore:EOperation xmi:id="_SnJfYMb8EdyrC427ygySag" base_Operation="Port-provided.1" operationName="getProvideds" visibility="None"/>
  <Ecore:EOperation xmi:id="_UIAOIMb8EdyrC427ygySag" base_Operation="Port-required.1" operationName="getRequireds" visibility="None"/>
  <Ecore:EOperation xmi:id="_WQMpsMb8EdyrC427ygySag" base_Operation="ConnectorEnd-definingEnd.1" operationName="getDefiningEnd" visibility="None"/>
  <Ecore:EOperation xmi:id="_YY_iMMb8EdyrC427ygySag" base_Operation="Message-messageKind.1" operationName="getMessageKind" visibility="None"/>
  <Ecore:EOperation xmi:id="_oEJMcMb8EdyrC427ygySag" base_Operation="Duration-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_p3eLQMb8EdyrC427ygySag" base_Operation="TimeExpression-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_tDBhQMb8EdyrC427ygySag" base_Operation="LiteralString-integerValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_upizIMb8EdyrC427ygySag" base_Operation="LiteralString-unlimitedValue" visibility="None"/>
  <Ecore:EAttribute xmi:id="_qlk0MLGzEeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="Comment-body"/>
  <Ecore:EAttribute xmi:id="_F9XrwLG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="NamedElement-name"/>
  <Ecore:EAttribute xmi:id="_Y0N18LG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="NamedElement-visibility"/>
  <Ecore:EAttribute xmi:id="_m8ZRkLG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="ElementImport-alias"/>
  <Ecore:EAttribute xmi:id="_78jRoLG0EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueExpression-body"/>
  <Ecore:EAttribute xmi:id="_HIUmgLG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueExpression-language"/>
  <Ecore:EAttribute xmi:id="_ez3OwLG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Parameter-default"/>
  <Ecore:EAttribute xmi:id="_7MAJALG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Parameter-effect"/>
  <Ecore:EAttribute xmi:id="_gB_ZULG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="DeploymentSpecification-deploymentLocation"/>
  <Ecore:EAttribute xmi:id="_oqhVYLG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="DeploymentSpecification-executionLocation"/>
  <Ecore:EAttribute xmi:id="_15YjYLG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Artifact-fileName"/>
  <Ecore:EAttribute xmi:id="_VA4m4LG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-content"/>
  <Ecore:EAttribute xmi:id="_dFvOILG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-location"/>
  <Ecore:EAttribute xmi:id="_lgZGQLG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-format"/>
  <Ecore:EAttribute xmi:id="_yBw8ILG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Model-viewpoint"/>
  <Ecore:EAttribute xmi:id="_A6JssLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Expression-symbol"/>
  <Ecore:EAttribute xmi:id="_XOU5YLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="LiteralString-value"/>
  <Ecore:EAttribute xmi:id="_tNrsoLG4EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueBehavior-body"/>
  <Ecore:EAttribute xmi:id="_zHmtYLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueBehavior-language"/>
  <Ecore:EAttribute xmi:id="_CYKtYLG5EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueAction-body"/>
  <Ecore:EAttribute xmi:id="_FL4LILG5EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueAction-language"/>
  <Ecore:EOperation xmi:id="_glNIILKHEeCwDd6B2NQzWA" base_Operation="Operation-type.1" operationName="getType" visibility="None"/>
  <Ecore:EOperation xmi:id="_Lsf0QLLREeCsYvaJqFFivQ" base_Operation="Action-context.1" operationName="getContext" visibility="None"/>
  <Ecore:EOperation xmi:id="_CRhSILLSEeCsYvaJqFFivQ" base_Operation="Association-endType.1" operationName="getEndTypes" visibility="None"/>
  <Ecore:EOperation xmi:id="_q1_mYLLSEeCsYvaJqFFivQ" base_Operation="Class-superClass.1" operationName="getSuperClasses" visibility="None"/>
  <Ecore:EOperation xmi:id="_52-SQLLSEeCsYvaJqFFivQ" base_Operation="Classifier-general.1" operationName="getGenerals" visibility="None"/>
  <Ecore:EOperation xmi:id="_JTGpELLTEeCsYvaJqFFivQ" base_Operation="Classifier-inheritedMember.1" operationName="getInheritedMembers" visibility="None"/>
  <Ecore:EOperation xmi:id="_VEmrwLLUEeCsYvaJqFFivQ" base_Operation="Component-provided.1" operationName="getProvideds" visibility="None"/>
  <Ecore:EOperation xmi:id="_tPlpELLUEeCsYvaJqFFivQ" base_Operation="Component-required.1" operationName="getRequireds" visibility="None"/>
  <Ecore:EOperation xmi:id="_LwnicLLVEeCsYvaJqFFivQ" base_Operation="ConnectableElement-end.1" operationName="getEnds" visibility="None"/>
  <Ecore:EOperation xmi:id="_rodBQLLWEeCsYvaJqFFivQ" base_Operation="Connector-kind.1" operationName="getKind" visibility="None"/>
  <Ecore:EOperation xmi:id="_9YlJELLYEeCsYvaJqFFivQ" base_Operation="DeploymentTarget-deployedElement.1" operationName="getDeployedElements" visibility="None"/>
  <Ecore:EOperation xmi:id="_WhXsQLL2EeCBifIhhuFqZA" base_Operation="EncapsulatedClassifier-ownedPort.1" operationName="getOwnedPorts" visibility="None"/>
  <Ecore:EOperation xmi:id="_uIYZ0LL2EeCBifIhhuFqZA" base_Operation="EnumerationLiteral-classifier.1" operationName="getClassifier"/>
  <Ecore:EOperation xmi:id="_GdT9ULL3EeCBifIhhuFqZA" base_Operation="Extension-metaclass.1" operationName="getMetaclass" visibility="None"/>
  <Ecore:EOperation xmi:id="_ezWUELL3EeCBifIhhuFqZA" base_Operation="MultiplicityElement-lower.1" operationName="getLower" visibility="None"/>
  <Ecore:EOperation xmi:id="_ig3HoLL3EeCBifIhhuFqZA" base_Operation="MultiplicityElement-upper.1" operationName="getUpper" visibility="None"/>
  <Ecore:EOperation xmi:id="_0bHGsLL3EeCBifIhhuFqZA" base_Operation="NamedElement-namespace.1" operationName="getNamespace" visibility="None"/>
  <Ecore:EOperation xmi:id="_GMe2kLL4EeCBifIhhuFqZA" base_Operation="NamedElement-qualifiedName.1" operationName="getQualifiedName" visibility="None"/>
  <Ecore:EOperation xmi:id="_WLi7ULL4EeCBifIhhuFqZA" base_Operation="Namespace-importedMember.1" operationName="getImportedMembers" visibility="None"/>
  <Ecore:EOperation xmi:id="_kOOy8LL4EeCBifIhhuFqZA" base_Operation="Namespace-ownedMember.1" operationName="getOwnedMembers" visibility="None"/>
  <Ecore:EOperation xmi:id="_K1fzoLL5EeCBifIhhuFqZA" base_Operation="Package-nestedPackage.1" operationName="getNestedPackages" visibility="None"/>
  <Ecore:EOperation xmi:id="_rz9_0LL5EeCBifIhhuFqZA" base_Operation="Package-ownedStereotype.1" operationName="getOwnedStereotypes" visibility="None"/>
  <Ecore:EOperation xmi:id="_ANO_ALL6EeCBifIhhuFqZA" base_Operation="Package-ownedType.1" operationName="getOwnedTypes" visibility="None"/>
  <Ecore:EOperation xmi:id="_zo6GULL6EeCBifIhhuFqZA" base_Operation="Property-opposite.1" operationName="getOpposite" visibility="None"/>
  <Ecore:EOperation xmi:id="_SxtxYLL7EeCBifIhhuFqZA" base_Operation="ProtocolTransition-referred.1" operationName="getReferreds" visibility="None"/>
  <Ecore:EOperation xmi:id="_1Kjp0LL7EeCBifIhhuFqZA" base_Operation="Stereotype-profile.1" operationName="getProfile" visibility="None"/>
  <Ecore:EOperation xmi:id="_G_HQkLL8EeCBifIhhuFqZA" base_Operation="StructuredClassifier-part.1" operationName="getParts" visibility="None"/>
  <Ecore:EOperation xmi:id="_0SoRYLL9EeCBifIhhuFqZA" base_Operation="Vertex-incoming.1" operationName="getIncomings" visibility="None"/>
  <Ecore:EOperation xmi:id="_BI5ZMLL-EeCBifIhhuFqZA" base_Operation="Vertex-outgoing.1" operationName="getOutgoings" visibility="None"/>
  <Ecore:EOperation xmi:id="_dy4cULNJEeCT16-4OmDs9g" base_Operation="EnumerationLiteral-getClassifiers" visibility="None"/>
  <Ecore:EAttribute xmi:id="_dFQKQNwaEeCT5O2F6sGn5g" isUnsettable="true" base_Property="Behavior-isReentrant"/>
  <Ecore:EReference xmi:id="_JWtREAtDEeGcpbeCPJfCmw" xmlName="group" xmlFeatureKind="Element" base_Property="Activity-ownedGroup"/>
  <Ecore:EReference xmi:id="_N4I04AtDEeGcpbeCPJfCmw" xmlName="node" xmlFeatureKind="Element" base_Property="Activity-ownedNode"/>
  <Ecore:EReference xmi:id="_1XKowBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="Activity-node">
    <annotation>http://www.eclipse.org/emf/CDO persistent='true' filter='ownedNode'</annotation>
  </Ecore:EReference>
  <Ecore:EReference xmi:id="_4FNjYBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="Activity-group">
    <annotation>http://www.eclipse.org/emf/CDO persistent='true' filter='ownedGroup'</annotation>
  </Ecore:EReference>
  <Ecore:EAttribute xmi:id="_oHuy0IPZEeOyLuI0bir0Bg" isTransient="true" isVolatile="true" isUnsettable="true" visibility="None" base_Property="Property-default"/>
  <Ecore:EOperation xmi:id="_64Y1cIPZEeOyLuI0bir0Bg" base_Operation="Property-isSetDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_GwdPoIPaEeOyLuI0bir0Bg" base_Operation="Property-unsetDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_6p4ogIRfEeOrzvVsV3Q4sA" base_Operation="NamedElement-clientDependency.1" operationName="getClientDependencies" visibility="None"/>
  <Ecore:EAttribute xmi:id="_nyeDgH2aEeSVK_cyXH-KWw" isUnsettable="true" base_Property="PackageableElement-visibility"/>
  <standard:Metamodel xmi:id="_blzWQIx_EeOumeDJYV0ScA" base_Model="_0"/>
  <standard:Metaclass xmi:id="_bmO0EIx_EeOumeDJYV0ScA" base_Class="ValueSpecificationAction"/>
  <standard:Metaclass xmi:id="_bmO0EYx_EeOumeDJYV0ScA" base_Class="VariableAction"/>
  <standard:Metaclass xmi:id="_bmPbIIx_EeOumeDJYV0ScA" base_Class="WriteLinkAction"/>
  <standard:Metaclass xmi:id="_bmPbIYx_EeOumeDJYV0ScA" base_Class="WriteStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_bmQCMIx_EeOumeDJYV0ScA" base_Class="WriteVariableAction"/>
  <standard:Metaclass xmi:id="_bmQCMYx_EeOumeDJYV0ScA" base_Class="AcceptCallAction"/>
  <standard:Metaclass xmi:id="_bmQpQIx_EeOumeDJYV0ScA" base_Class="AcceptEventAction"/>
  <standard:Metaclass xmi:id="_bmQpQYx_EeOumeDJYV0ScA" base_Class="Action"/>
  <standard:Metaclass xmi:id="_bmRQUIx_EeOumeDJYV0ScA" base_Class="ActionInputPin"/>
  <standard:Metaclass xmi:id="_bmR3YIx_EeOumeDJYV0ScA" base_Class="AddStructuralFeatureValueAction"/>
  <standard:Metaclass xmi:id="_bmR3YYx_EeOumeDJYV0ScA" base_Class="AddVariableValueAction"/>
  <standard:Metaclass xmi:id="_bmSecIx_EeOumeDJYV0ScA" base_Class="BroadcastSignalAction"/>
  <standard:Metaclass xmi:id="_bmTFgIx_EeOumeDJYV0ScA" base_Class="CallAction"/>
  <standard:Metaclass xmi:id="_bmTskIx_EeOumeDJYV0ScA" base_Class="CallBehaviorAction"/>
  <standard:Metaclass xmi:id="_bmTskYx_EeOumeDJYV0ScA" base_Class="CallOperationAction"/>
  <standard:Metaclass xmi:id="_bmUToIx_EeOumeDJYV0ScA" base_Class="Clause"/>
  <standard:Metaclass xmi:id="_bmU6sIx_EeOumeDJYV0ScA" base_Class="ClearAssociationAction"/>
  <standard:Metaclass xmi:id="_bmVhwIx_EeOumeDJYV0ScA" base_Class="ClearStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_bmVhwYx_EeOumeDJYV0ScA" base_Class="ClearVariableAction"/>
  <standard:Metaclass xmi:id="_bmWI0Ix_EeOumeDJYV0ScA" base_Class="ConditionalNode"/>
  <standard:Metaclass xmi:id="_bmWv4Ix_EeOumeDJYV0ScA" base_Class="CreateLinkAction"/>
  <standard:Metaclass xmi:id="_bmWv4Yx_EeOumeDJYV0ScA" base_Class="CreateLinkObjectAction"/>
  <standard:Metaclass xmi:id="_bmhH8Ix_EeOumeDJYV0ScA" base_Class="CreateObjectAction"/>
  <standard:Metaclass xmi:id="_bmhvAIx_EeOumeDJYV0ScA" base_Class="DestroyLinkAction"/>
  <standard:Metaclass xmi:id="_bmiWEIx_EeOumeDJYV0ScA" base_Class="DestroyObjectAction"/>
  <standard:Metaclass xmi:id="_bmi9IIx_EeOumeDJYV0ScA" base_Class="ExpansionNode"/>
  <standard:Metaclass xmi:id="_bmi9IYx_EeOumeDJYV0ScA" base_Class="ExpansionRegion"/>
  <standard:Metaclass xmi:id="_bmjkMIx_EeOumeDJYV0ScA" base_Class="InputPin"/>
  <standard:Metaclass xmi:id="_bmkLQIx_EeOumeDJYV0ScA" base_Class="InvocationAction"/>
  <standard:Metaclass xmi:id="_bmkLQYx_EeOumeDJYV0ScA" base_Class="LinkAction"/>
  <standard:Metaclass xmi:id="_bmkyUIx_EeOumeDJYV0ScA" base_Class="LinkEndCreationData"/>
  <standard:Metaclass xmi:id="_bmlZYIx_EeOumeDJYV0ScA" base_Class="LinkEndData"/>
  <standard:Metaclass xmi:id="_bmmAcIx_EeOumeDJYV0ScA" base_Class="LinkEndDestructionData"/>
  <standard:Metaclass xmi:id="_bmmngIx_EeOumeDJYV0ScA" base_Class="LoopNode"/>
  <standard:Metaclass xmi:id="_bmn1oIx_EeOumeDJYV0ScA" base_Class="OpaqueAction"/>
  <standard:Metaclass xmi:id="_bmn1oYx_EeOumeDJYV0ScA" base_Class="OutputPin"/>
  <standard:Metaclass xmi:id="_bmocsIx_EeOumeDJYV0ScA" base_Class="Pin"/>
  <standard:Metaclass xmi:id="_bmpDwIx_EeOumeDJYV0ScA" base_Class="QualifierValue"/>
  <standard:Metaclass xmi:id="_bmpq0Ix_EeOumeDJYV0ScA" base_Class="RaiseExceptionAction"/>
  <standard:Metaclass xmi:id="_bmpq0Yx_EeOumeDJYV0ScA" base_Class="ReadExtentAction"/>
  <standard:Metaclass xmi:id="_bmqR4Ix_EeOumeDJYV0ScA" base_Class="ReadIsClassifiedObjectAction"/>
  <standard:Metaclass xmi:id="_bmq48Ix_EeOumeDJYV0ScA" base_Class="ReadLinkAction"/>
  <standard:Metaclass xmi:id="_bmrgAIx_EeOumeDJYV0ScA" base_Class="ReadLinkObjectEndAction"/>
  <standard:Metaclass xmi:id="_bmsHEIx_EeOumeDJYV0ScA" base_Class="ReadLinkObjectEndQualifierAction"/>
  <standard:Metaclass xmi:id="_bmsuIIx_EeOumeDJYV0ScA" base_Class="ReadSelfAction"/>
  <standard:Metaclass xmi:id="_bmtVMIx_EeOumeDJYV0ScA" base_Class="ReadStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_bmtVMYx_EeOumeDJYV0ScA" base_Class="ReadVariableAction"/>
  <standard:Metaclass xmi:id="_bmt8QIx_EeOumeDJYV0ScA" base_Class="ReclassifyObjectAction"/>
  <standard:Metaclass xmi:id="_bmujUIx_EeOumeDJYV0ScA" base_Class="ReduceAction"/>
  <standard:Metaclass xmi:id="_bmvKYIx_EeOumeDJYV0ScA" base_Class="RemoveStructuralFeatureValueAction"/>
  <standard:Metaclass xmi:id="_bmvKYYx_EeOumeDJYV0ScA" base_Class="RemoveVariableValueAction"/>
  <standard:Metaclass xmi:id="_bmvxcIx_EeOumeDJYV0ScA" base_Class="ReplyAction"/>
  <standard:Metaclass xmi:id="_bmwYgIx_EeOumeDJYV0ScA" base_Class="SendObjectAction"/>
  <standard:Metaclass xmi:id="_bmw_kIx_EeOumeDJYV0ScA" base_Class="SendSignalAction"/>
  <standard:Metaclass xmi:id="_bmw_kYx_EeOumeDJYV0ScA" base_Class="SequenceNode"/>
  <standard:Metaclass xmi:id="_bmxmoIx_EeOumeDJYV0ScA" base_Class="StartClassifierBehaviorAction"/>
  <standard:Metaclass xmi:id="_bmyNsIx_EeOumeDJYV0ScA" base_Class="StartObjectBehaviorAction"/>
  <standard:Metaclass xmi:id="_bmy0wIx_EeOumeDJYV0ScA" base_Class="StructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_bmzb0Ix_EeOumeDJYV0ScA" base_Class="StructuredActivityNode"/>
  <standard:Metaclass xmi:id="_bm0p8Ix_EeOumeDJYV0ScA" base_Class="TestIdentityAction"/>
  <standard:Metaclass xmi:id="_bm1RAIx_EeOumeDJYV0ScA" base_Class="UnmarshallAction"/>
  <standard:Metaclass xmi:id="_bm1RAYx_EeOumeDJYV0ScA" base_Class="ValuePin"/>
  <standard:Metaclass xmi:id="_bm9z4Ix_EeOumeDJYV0ScA" base_Class="Activity"/>
  <standard:Metaclass xmi:id="_bm_CAIx_EeOumeDJYV0ScA" base_Class="ActivityEdge"/>
  <standard:Metaclass xmi:id="_bnAQIIx_EeOumeDJYV0ScA" base_Class="ActivityFinalNode"/>
  <standard:Metaclass xmi:id="_bnA3MIx_EeOumeDJYV0ScA" base_Class="ActivityGroup"/>
  <standard:Metaclass xmi:id="_bnCFUIx_EeOumeDJYV0ScA" base_Class="ActivityNode"/>
  <standard:Metaclass xmi:id="_bnDTcIx_EeOumeDJYV0ScA" base_Class="ActivityParameterNode"/>
  <standard:Metaclass xmi:id="_bnD6gIx_EeOumeDJYV0ScA" base_Class="ActivityPartition"/>
  <standard:Metaclass xmi:id="_bnFIoIx_EeOumeDJYV0ScA" base_Class="CentralBufferNode"/>
  <standard:Metaclass xmi:id="_bnFvsIx_EeOumeDJYV0ScA" base_Class="ControlFlow"/>
  <standard:Metaclass xmi:id="_bnFvsYx_EeOumeDJYV0ScA" base_Class="ControlNode"/>
  <standard:Metaclass xmi:id="_bnGWwIx_EeOumeDJYV0ScA" base_Class="DataStoreNode"/>
  <standard:Metaclass xmi:id="_bnG90Ix_EeOumeDJYV0ScA" base_Class="DecisionNode"/>
  <standard:Metaclass xmi:id="_bnHk4Ix_EeOumeDJYV0ScA" base_Class="ExceptionHandler"/>
  <standard:Metaclass xmi:id="_bnIzAIx_EeOumeDJYV0ScA" base_Class="ExecutableNode"/>
  <standard:Metaclass xmi:id="_bnJaEIx_EeOumeDJYV0ScA" base_Class="FinalNode"/>
  <standard:Metaclass xmi:id="_bnJaEYx_EeOumeDJYV0ScA" base_Class="FlowFinalNode"/>
  <standard:Metaclass xmi:id="_bnKBIIx_EeOumeDJYV0ScA" base_Class="ForkNode"/>
  <standard:Metaclass xmi:id="_bnKoMIx_EeOumeDJYV0ScA" base_Class="InitialNode"/>
  <standard:Metaclass xmi:id="_bnLPQIx_EeOumeDJYV0ScA" base_Class="InterruptibleActivityRegion"/>
  <standard:Metaclass xmi:id="_bnL2UIx_EeOumeDJYV0ScA" base_Class="JoinNode"/>
  <standard:Metaclass xmi:id="_bnMdYIx_EeOumeDJYV0ScA" base_Class="MergeNode"/>
  <standard:Metaclass xmi:id="_bnNEcIx_EeOumeDJYV0ScA" base_Class="ObjectFlow"/>
  <standard:Metaclass xmi:id="_bnOSkIx_EeOumeDJYV0ScA" base_Class="ObjectNode"/>
  <standard:Metaclass xmi:id="_bnO5oIx_EeOumeDJYV0ScA" base_Class="Variable"/>
  <standard:Metaclass xmi:id="_bnTyIIx_EeOumeDJYV0ScA" base_Class="Substitution"/>
  <standard:Metaclass xmi:id="_bnUZMIx_EeOumeDJYV0ScA" base_Class="BehavioralFeature"/>
  <standard:Metaclass xmi:id="_bnW1cIx_EeOumeDJYV0ScA" base_Class="Classifier"/>
  <standard:Metaclass xmi:id="_bncVAIx_EeOumeDJYV0ScA" base_Class="ClassifierTemplateParameter"/>
  <standard:Metaclass xmi:id="_bndjIIx_EeOumeDJYV0ScA" base_Class="Feature"/>
  <standard:Metaclass xmi:id="_bneKMIx_EeOumeDJYV0ScA" base_Class="Generalization"/>
  <standard:Metaclass xmi:id="_bnexQIx_EeOumeDJYV0ScA" base_Class="GeneralizationSet"/>
  <standard:Metaclass xmi:id="_bnfYUIx_EeOumeDJYV0ScA" base_Class="InstanceSpecification"/>
  <standard:Metaclass xmi:id="_bnf_YIx_EeOumeDJYV0ScA" base_Class="InstanceValue"/>
  <standard:Metaclass xmi:id="_bngmcIx_EeOumeDJYV0ScA" base_Class="Operation"/>
  <standard:Metaclass xmi:id="_bnjpwIx_EeOumeDJYV0ScA" base_Class="OperationTemplateParameter"/>
  <standard:Metaclass xmi:id="_bnjpwYx_EeOumeDJYV0ScA" base_Class="Parameter"/>
  <standard:Metaclass xmi:id="_bnle8Ix_EeOumeDJYV0ScA" base_Class="ParameterSet"/>
  <standard:Metaclass xmi:id="_bnmGAIx_EeOumeDJYV0ScA" base_Class="Property"/>
  <standard:Metaclass xmi:id="_bnqXcIx_EeOumeDJYV0ScA" base_Class="RedefinableElement"/>
  <standard:Metaclass xmi:id="_bnq-gIx_EeOumeDJYV0ScA" base_Class="RedefinableTemplateSignature"/>
  <standard:Metaclass xmi:id="_bnsMoIx_EeOumeDJYV0ScA" base_Class="Slot"/>
  <standard:Metaclass xmi:id="_bnszsIx_EeOumeDJYV0ScA" base_Class="StructuralFeature"/>
  <standard:Metaclass xmi:id="_bnxsMIx_EeOumeDJYV0ScA" base_Class="AnyReceiveEvent"/>
  <standard:Metaclass xmi:id="_bnxsMYx_EeOumeDJYV0ScA" base_Class="Behavior"/>
  <standard:Metaclass xmi:id="_bn0IcIx_EeOumeDJYV0ScA" base_Class="CallEvent"/>
  <standard:Metaclass xmi:id="_bn0IcYx_EeOumeDJYV0ScA" base_Class="ChangeEvent"/>
  <standard:Metaclass xmi:id="_bn0vgIx_EeOumeDJYV0ScA" base_Class="Event"/>
  <standard:Metaclass xmi:id="_bn0vgYx_EeOumeDJYV0ScA" base_Class="FunctionBehavior"/>
  <standard:Metaclass xmi:id="_bn1WkIx_EeOumeDJYV0ScA" base_Class="MessageEvent"/>
  <standard:Metaclass xmi:id="_bn19oIx_EeOumeDJYV0ScA" base_Class="OpaqueBehavior"/>
  <standard:Metaclass xmi:id="_bn2ksIx_EeOumeDJYV0ScA" base_Class="SignalEvent"/>
  <standard:Metaclass xmi:id="_bn2ksYx_EeOumeDJYV0ScA" base_Class="TimeEvent"/>
  <standard:Metaclass xmi:id="_bn3LwIx_EeOumeDJYV0ScA" base_Class="Trigger"/>
  <standard:Metaclass xmi:id="_bn5A8Ix_EeOumeDJYV0ScA" base_Class="Abstraction"/>
  <standard:Metaclass xmi:id="_bn5A8Yx_EeOumeDJYV0ScA" base_Class="Comment"/>
  <standard:Metaclass xmi:id="_bn5oAIx_EeOumeDJYV0ScA" base_Class="Constraint"/>
  <standard:Metaclass xmi:id="_bn6PEIx_EeOumeDJYV0ScA" base_Class="Dependency"/>
  <standard:Metaclass xmi:id="_bn62IIx_EeOumeDJYV0ScA" base_Class="DirectedRelationship"/>
  <standard:Metaclass xmi:id="_bn7dMIx_EeOumeDJYV0ScA" base_Class="Element"/>
  <standard:Metaclass xmi:id="_boBj0Ix_EeOumeDJYV0ScA" base_Class="ElementImport"/>
  <standard:Metaclass xmi:id="_boCK4Ix_EeOumeDJYV0ScA" base_Class="MultiplicityElement"/>
  <standard:Metaclass xmi:id="_boFOMIx_EeOumeDJYV0ScA" base_Class="NamedElement"/>
  <standard:Metaclass xmi:id="_boHqcIx_EeOumeDJYV0ScA" base_Class="Namespace"/>
  <standard:Metaclass xmi:id="_boKtwIx_EeOumeDJYV0ScA" base_Class="PackageableElement"/>
  <standard:Metaclass xmi:id="_boLU0Ix_EeOumeDJYV0ScA" base_Class="PackageImport"/>
  <standard:Metaclass xmi:id="_boL74Ix_EeOumeDJYV0ScA" base_Class="ParameterableElement"/>
  <standard:Metaclass xmi:id="_boMi8Ix_EeOumeDJYV0ScA" base_Class="Realization"/>
  <standard:Metaclass xmi:id="_boNKAIx_EeOumeDJYV0ScA" base_Class="Relationship"/>
  <standard:Metaclass xmi:id="_boNKAYx_EeOumeDJYV0ScA" base_Class="TemplateableElement"/>
  <standard:Metaclass xmi:id="_boOYIIx_EeOumeDJYV0ScA" base_Class="TemplateBinding"/>
  <standard:Metaclass xmi:id="_boO_MIx_EeOumeDJYV0ScA" base_Class="TemplateParameter"/>
  <standard:Metaclass xmi:id="_boQNUIx_EeOumeDJYV0ScA" base_Class="TemplateParameterSubstitution"/>
  <standard:Metaclass xmi:id="_boQ0YIx_EeOumeDJYV0ScA" base_Class="TemplateSignature"/>
  <standard:Metaclass xmi:id="_boRbcIx_EeOumeDJYV0ScA" base_Class="Type"/>
  <standard:Metaclass xmi:id="_boSpkIx_EeOumeDJYV0ScA" base_Class="TypedElement"/>
  <standard:Metaclass xmi:id="_boTQoIx_EeOumeDJYV0ScA" base_Class="Usage"/>
  <standard:Metaclass xmi:id="_boYwMIx_EeOumeDJYV0ScA" base_Class="Artifact"/>
  <standard:Metaclass xmi:id="_boalYIx_EeOumeDJYV0ScA" base_Class="CommunicationPath"/>
  <standard:Metaclass xmi:id="_bobMcIx_EeOumeDJYV0ScA" base_Class="DeployedArtifact"/>
  <standard:Metaclass xmi:id="_bobMcYx_EeOumeDJYV0ScA" base_Class="Deployment"/>
  <standard:Metaclass xmi:id="_bobzgIx_EeOumeDJYV0ScA" base_Class="DeploymentSpecification"/>
  <standard:Metaclass xmi:id="_bocakIx_EeOumeDJYV0ScA" base_Class="DeploymentTarget"/>
  <standard:Metaclass xmi:id="_bodosIx_EeOumeDJYV0ScA" base_Class="Device"/>
  <standard:Metaclass xmi:id="_boePwIx_EeOumeDJYV0ScA" base_Class="ExecutionEnvironment"/>
  <standard:Metaclass xmi:id="_boePwYx_EeOumeDJYV0ScA" base_Class="Manifestation"/>
  <standard:Metaclass xmi:id="_boe20Ix_EeOumeDJYV0ScA" base_Class="Node"/>
  <standard:Metaclass xmi:id="_boh6IIx_EeOumeDJYV0ScA" base_Class="InformationFlow"/>
  <standard:Metaclass xmi:id="_bojIQIx_EeOumeDJYV0ScA" base_Class="InformationItem"/>
  <standard:Metaclass xmi:id="_bok9cIx_EeOumeDJYV0ScA" base_Class="ActionExecutionSpecification"/>
  <standard:Metaclass xmi:id="_bolkgIx_EeOumeDJYV0ScA" base_Class="BehaviorExecutionSpecification"/>
  <standard:Metaclass xmi:id="_bomLkIx_EeOumeDJYV0ScA" base_Class="CombinedFragment"/>
  <standard:Metaclass xmi:id="_bomyoIx_EeOumeDJYV0ScA" base_Class="ConsiderIgnoreFragment"/>
  <standard:Metaclass xmi:id="_bonZsIx_EeOumeDJYV0ScA" base_Class="Continuation"/>
  <standard:Metaclass xmi:id="_boon0Ix_EeOumeDJYV0ScA" base_Class="DestructionOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_boon0Yx_EeOumeDJYV0ScA" base_Class="ExecutionOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_bopO4Ix_EeOumeDJYV0ScA" base_Class="ExecutionSpecification"/>
  <standard:Metaclass xmi:id="_bop18Ix_EeOumeDJYV0ScA" base_Class="Gate"/>
  <standard:Metaclass xmi:id="_bosSMIx_EeOumeDJYV0ScA" base_Class="GeneralOrdering"/>
  <standard:Metaclass xmi:id="_bos5QIx_EeOumeDJYV0ScA" base_Class="Interaction"/>
  <standard:Metaclass xmi:id="_botgUIx_EeOumeDJYV0ScA" base_Class="InteractionConstraint"/>
  <standard:Metaclass xmi:id="_bouucIx_EeOumeDJYV0ScA" base_Class="InteractionFragment"/>
  <standard:Metaclass xmi:id="_bov8kIx_EeOumeDJYV0ScA" base_Class="InteractionOperand"/>
  <standard:Metaclass xmi:id="_bowjoIx_EeOumeDJYV0ScA" base_Class="InteractionUse"/>
  <standard:Metaclass xmi:id="_boxxwIx_EeOumeDJYV0ScA" base_Class="Lifeline"/>
  <standard:Metaclass xmi:id="_boy_4Ix_EeOumeDJYV0ScA" base_Class="Message"/>
  <standard:Metaclass xmi:id="_bo1cIIx_EeOumeDJYV0ScA" base_Class="MessageEnd"/>
  <standard:Metaclass xmi:id="_bo2qQIx_EeOumeDJYV0ScA" base_Class="MessageOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_bo3RUIx_EeOumeDJYV0ScA" base_Class="OccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_bo34YIx_EeOumeDJYV0ScA" base_Class="PartDecomposition"/>
  <standard:Metaclass xmi:id="_bo4fcIx_EeOumeDJYV0ScA" base_Class="StateInvariant"/>
  <standard:Metaclass xmi:id="_bo_NIIx_EeOumeDJYV0ScA" base_Class="Extension"/>
  <standard:Metaclass xmi:id="_bpBCUIx_EeOumeDJYV0ScA" base_Class="ExtensionEnd"/>
  <standard:Metaclass xmi:id="_bpBpYIx_EeOumeDJYV0ScA" base_Class="Image"/>
  <standard:Metaclass xmi:id="_bpC3gIx_EeOumeDJYV0ScA" base_Class="Model"/>
  <standard:Metaclass xmi:id="_bpC3gYx_EeOumeDJYV0ScA" base_Class="Package"/>
  <standard:Metaclass xmi:id="_bpKMQIx_EeOumeDJYV0ScA" base_Class="PackageMerge"/>
  <standard:Metaclass xmi:id="_bpKzUIx_EeOumeDJYV0ScA" base_Class="Profile"/>
  <standard:Metaclass xmi:id="_bpPEwIx_EeOumeDJYV0ScA" base_Class="ProfileApplication"/>
  <standard:Metaclass xmi:id="_bpQS4Ix_EeOumeDJYV0ScA" base_Class="Stereotype"/>
  <standard:Metaclass xmi:id="_bpXAkIx_EeOumeDJYV0ScA" base_Class="BehavioredClassifier"/>
  <standard:Metaclass xmi:id="_bpY1wIx_EeOumeDJYV0ScA" base_Class="DataType"/>
  <standard:Metaclass xmi:id="_bpbSAIx_EeOumeDJYV0ScA" base_Class="Enumeration"/>
  <standard:Metaclass xmi:id="_bpcgIIx_EeOumeDJYV0ScA" base_Class="EnumerationLiteral"/>
  <standard:Metaclass xmi:id="_bpdHMIx_EeOumeDJYV0ScA" base_Class="Interface"/>
  <standard:Metaclass xmi:id="_bpgKgIx_EeOumeDJYV0ScA" base_Class="InterfaceRealization"/>
  <standard:Metaclass xmi:id="_bpgxkIx_EeOumeDJYV0ScA" base_Class="PrimitiveType"/>
  <standard:Metaclass xmi:id="_bphYoIx_EeOumeDJYV0ScA" base_Class="Reception"/>
  <standard:Metaclass xmi:id="_bph_sIx_EeOumeDJYV0ScA" base_Class="Signal"/>
  <standard:Metaclass xmi:id="_bpnfQIx_EeOumeDJYV0ScA" base_Class="ConnectionPointReference"/>
  <standard:Metaclass xmi:id="_bpotYIx_EeOumeDJYV0ScA" base_Class="FinalState"/>
  <standard:Metaclass xmi:id="_bpqikIx_EeOumeDJYV0ScA" base_Class="ProtocolConformance"/>
  <standard:Metaclass xmi:id="_bprJoIx_EeOumeDJYV0ScA" base_Class="ProtocolStateMachine"/>
  <standard:Metaclass xmi:id="_bpsXwIx_EeOumeDJYV0ScA" base_Class="ProtocolTransition"/>
  <standard:Metaclass xmi:id="_bpuM8Ix_EeOumeDJYV0ScA" base_Class="Pseudostate"/>
  <standard:Metaclass xmi:id="_bpwCIIx_EeOumeDJYV0ScA" base_Class="Region"/>
  <standard:Metaclass xmi:id="_bpzFcIx_EeOumeDJYV0ScA" base_Class="State"/>
  <standard:Metaclass xmi:id="_bp5zIIx_EeOumeDJYV0ScA" base_Class="StateMachine"/>
  <standard:Metaclass xmi:id="_bp9dgIx_EeOumeDJYV0ScA" base_Class="Transition"/>
  <standard:Metaclass xmi:id="_bqCWAIx_EeOumeDJYV0ScA" base_Class="Vertex"/>
  <standard:Metaclass xmi:id="_bqMHAIx_EeOumeDJYV0ScA" base_Class="Association"/>
  <standard:Metaclass xmi:id="_bqOjQIx_EeOumeDJYV0ScA" base_Class="AssociationClass"/>
  <standard:Metaclass xmi:id="_bqPKUIx_EeOumeDJYV0ScA" base_Class="Class"/>
  <standard:Metaclass xmi:id="_bqTbwIx_EeOumeDJYV0ScA" base_Class="Collaboration"/>
  <standard:Metaclass xmi:id="_bqUC0Ix_EeOumeDJYV0ScA" base_Class="CollaborationUse"/>
  <standard:Metaclass xmi:id="_bqVQ8Ix_EeOumeDJYV0ScA" base_Class="Component"/>
  <standard:Metaclass xmi:id="_bqZiYIx_EeOumeDJYV0ScA" base_Class="ComponentRealization"/>
  <standard:Metaclass xmi:id="_bqawgIx_EeOumeDJYV0ScA" base_Class="ConnectableElement"/>
  <standard:Metaclass xmi:id="_bqb-oIx_EeOumeDJYV0ScA" base_Class="ConnectableElementTemplateParameter"/>
  <standard:Metaclass xmi:id="_bqclsIx_EeOumeDJYV0ScA" base_Class="Connector"/>
  <standard:Metaclass xmi:id="_bqdz0Ix_EeOumeDJYV0ScA" base_Class="ConnectorEnd"/>
  <standard:Metaclass xmi:id="_bqfpAIx_EeOumeDJYV0ScA" base_Class="EncapsulatedClassifier"/>
  <standard:Metaclass xmi:id="_bqgQEIx_EeOumeDJYV0ScA" base_Class="Port"/>
  <standard:Metaclass xmi:id="_bqjTYIx_EeOumeDJYV0ScA" base_Class="StructuredClassifier"/>
  <standard:Metaclass xmi:id="_bqtEYIx_EeOumeDJYV0ScA" base_Class="Actor"/>
  <standard:Metaclass xmi:id="_bqtrcIx_EeOumeDJYV0ScA" base_Class="Extend"/>
  <standard:Metaclass xmi:id="_bqu5kIx_EeOumeDJYV0ScA" base_Class="ExtensionPoint"/>
  <standard:Metaclass xmi:id="_bqvgoIx_EeOumeDJYV0ScA" base_Class="Include"/>
  <standard:Metaclass xmi:id="_bqwHsIx_EeOumeDJYV0ScA" base_Class="UseCase"/>
  <standard:Metaclass xmi:id="_bqzyEIx_EeOumeDJYV0ScA" base_Class="Duration"/>
  <standard:Metaclass xmi:id="_bq1AMIx_EeOumeDJYV0ScA" base_Class="DurationConstraint"/>
  <standard:Metaclass xmi:id="_bq1nQIx_EeOumeDJYV0ScA" base_Class="DurationInterval"/>
  <standard:Metaclass xmi:id="_bq21YIx_EeOumeDJYV0ScA" base_Class="DurationObservation"/>
  <standard:Metaclass xmi:id="_bq4DgIx_EeOumeDJYV0ScA" base_Class="Expression"/>
  <standard:Metaclass xmi:id="_bq5RoIx_EeOumeDJYV0ScA" base_Class="Interval"/>
  <standard:Metaclass xmi:id="_bq54sIx_EeOumeDJYV0ScA" base_Class="IntervalConstraint"/>
  <standard:Metaclass xmi:id="_bq6fwIx_EeOumeDJYV0ScA" base_Class="LiteralBoolean"/>
  <standard:Metaclass xmi:id="_bq7G0Ix_EeOumeDJYV0ScA" base_Class="LiteralInteger"/>
  <standard:Metaclass xmi:id="_bq8U8Ix_EeOumeDJYV0ScA" base_Class="LiteralNull"/>
  <standard:Metaclass xmi:id="_bq9jEIx_EeOumeDJYV0ScA" base_Class="LiteralReal"/>
  <standard:Metaclass xmi:id="_bq_YQIx_EeOumeDJYV0ScA" base_Class="LiteralSpecification"/>
  <standard:Metaclass xmi:id="_bq_YQYx_EeOumeDJYV0ScA" base_Class="LiteralString"/>
  <standard:Metaclass xmi:id="_brBNcIx_EeOumeDJYV0ScA" base_Class="LiteralUnlimitedNatural"/>
  <standard:Metaclass xmi:id="_brDCoIx_EeOumeDJYV0ScA" base_Class="Observation"/>
  <standard:Metaclass xmi:id="_brDCoYx_EeOumeDJYV0ScA" base_Class="OpaqueExpression"/>
  <standard:Metaclass xmi:id="_brHUEIx_EeOumeDJYV0ScA" base_Class="StringExpression"/>
  <standard:Metaclass xmi:id="_brJJQIx_EeOumeDJYV0ScA" base_Class="TimeConstraint"/>
  <standard:Metaclass xmi:id="_brJwUIx_EeOumeDJYV0ScA" base_Class="TimeExpression"/>
  <standard:Metaclass xmi:id="_brK-cIx_EeOumeDJYV0ScA" base_Class="TimeInterval"/>
  <standard:Metaclass xmi:id="_brLlgIx_EeOumeDJYV0ScA" base_Class="TimeObservation"/>
  <standard:Metaclass xmi:id="_brMMkIx_EeOumeDJYV0ScA" base_Class="ValueSpecification"/>
</xmi:XMI>
