<?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:Association" xmi:id="A_client_clientDependency" name="A_client_clientDependency" visibility="private" memberEnd="A_client_clientDependency-client NamedElement-clientDependency">
      <ownedEnd xmi:id="A_client_clientDependency-client" name="client" visibility="private" type="NamedElement" association="A_client_clientDependency">
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_client_clientDependency-client-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_role_end" name="A_role_end" visibility="private" memberEnd="A_role_end-role ConnectableElement-end">
      <ownedEnd xmi:id="A_role_end-role" name="role" visibility="private" type="ConnectableElement" association="A_role_end"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_target_vertex_incoming" name="A_target_vertex_incoming" visibility="private" memberEnd="A_target_vertex_incoming-target Vertex-incoming">
      <ownedEnd xmi:id="A_target_vertex_incoming-target" name="target" visibility="private" type="Vertex" association="A_target_vertex_incoming"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_source_vertex_outgoing" name="A_source_vertex_outgoing" visibility="private" memberEnd="A_source_vertex_outgoing-source Vertex-outgoing">
      <ownedEnd xmi:id="A_source_vertex_outgoing-source" name="source" visibility="private" type="Vertex" association="A_source_vertex_outgoing"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_activity_structuredNode" name="A_activity_structuredNode" visibility="private" memberEnd="StructuredActivityNode-activity A_activity_structuredNode-structuredNode">
      <ownedEnd xmi:id="A_activity_structuredNode-structuredNode" name="structuredNode" visibility="private" type="StructuredActivityNode" association="A_activity_structuredNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_activity_structuredNode-structuredNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_activity_structuredNode-structuredNode-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <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_activity_structuredNode">
        <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 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 NamedElement-clientDependency" 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-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>
        <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>
        <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-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>
        <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>
        <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-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>
        <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>
        <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_client_clientDependency">
        <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="Dependency-client A_clientDependency_client-clientDependency">
      <ownedEnd xmi:id="A_clientDependency_client-clientDependency" name="clientDependency" visibility="private" type="Dependency" association="A_clientDependency_client">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_clientDependency_client-clientDependency-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_clientDependency_client-clientDependency-_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 NamedElement-clientDependency" 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 NamedElement-clientDependency" 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-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>
        <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>
        <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">
        <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-applyProfiles" name="applyProfiles">
        <ownedComment xmi:id="Package-applyProfiles-_ownedComment.0" annotatedElement="Package-applyProfiles">
          <body>Applies the current definitions of the specified profiles to this package and automatically applies required stereotypes in the profiles to elements within this package's namespace hieararchy. If different definitions are already applied, automatically migrates any associated stereotype values on a &quot;best effort&quot; basis (matching classifiers and structural features by name).</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-applyProfiles-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-applyProfiles-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-applyProfiles-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-applyProfiles-profiles" name="profiles" type="Profile" effect="read">
          <ownedComment xmi:id="Package-applyProfiles-profiles-_ownedComment.0" annotatedElement="Package-applyProfiles-profiles">
            <body>The profiles to apply.</body>
          </ownedComment>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-applyProfiles-profiles-_upperValue" value="*"/>
        </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 NamedElement-clientDependency" 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-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>
        <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>
        <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-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>
        <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>
        <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" subsettedProperty="Classifier-redefinedClassifier" 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-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>
        <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>
        <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_target_vertex_incoming">
        <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_source_vertex_outgoing">
        <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="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="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_role_end">
        <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="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" subsettedProperty="NamedElement-clientDependency" association="A_realizingClassifier_componentRealization">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingClassifier_componentRealization-componentRealization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingClassifier_componentRealization-componentRealization-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_required_component" name="A_required_component" 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-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>
        <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>
        <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="_BFf74O54EeaGaIUqXzzzKQ" base_Model="_0"/>
  <standard:Metaclass xmi:id="_BFkNUO54EeaGaIUqXzzzKQ" base_Class="ValueSpecificationAction"/>
  <standard:Metaclass xmi:id="_BFk0YO54EeaGaIUqXzzzKQ" base_Class="VariableAction"/>
  <standard:Metaclass xmi:id="_BFmCgO54EeaGaIUqXzzzKQ" base_Class="WriteLinkAction"/>
  <standard:Metaclass xmi:id="_BFmpkO54EeaGaIUqXzzzKQ" base_Class="WriteStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_BFnQoO54EeaGaIUqXzzzKQ" base_Class="WriteVariableAction"/>
  <standard:Metaclass xmi:id="_BFn3sO54EeaGaIUqXzzzKQ" base_Class="AcceptCallAction"/>
  <standard:Metaclass xmi:id="_BFoewO54EeaGaIUqXzzzKQ" base_Class="AcceptEventAction"/>
  <standard:Metaclass xmi:id="_BFps4O54EeaGaIUqXzzzKQ" base_Class="Action"/>
  <standard:Metaclass xmi:id="_BFqT8O54EeaGaIUqXzzzKQ" base_Class="ActionInputPin"/>
  <standard:Metaclass xmi:id="_BFq7AO54EeaGaIUqXzzzKQ" base_Class="AddStructuralFeatureValueAction"/>
  <standard:Metaclass xmi:id="_BFriEO54EeaGaIUqXzzzKQ" base_Class="AddVariableValueAction"/>
  <standard:Metaclass xmi:id="_BFsJIO54EeaGaIUqXzzzKQ" base_Class="BroadcastSignalAction"/>
  <standard:Metaclass xmi:id="_BFswMO54EeaGaIUqXzzzKQ" base_Class="CallAction"/>
  <standard:Metaclass xmi:id="_BFtXQO54EeaGaIUqXzzzKQ" base_Class="CallBehaviorAction"/>
  <standard:Metaclass xmi:id="_BFt-UO54EeaGaIUqXzzzKQ" base_Class="CallOperationAction"/>
  <standard:Metaclass xmi:id="_BFulYO54EeaGaIUqXzzzKQ" base_Class="Clause"/>
  <standard:Metaclass xmi:id="_BFvMcO54EeaGaIUqXzzzKQ" base_Class="ClearAssociationAction"/>
  <standard:Metaclass xmi:id="_BFvzgO54EeaGaIUqXzzzKQ" base_Class="ClearStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_BFwakO54EeaGaIUqXzzzKQ" base_Class="ClearVariableAction"/>
  <standard:Metaclass xmi:id="_BFxBoO54EeaGaIUqXzzzKQ" base_Class="ConditionalNode"/>
  <standard:Metaclass xmi:id="_BFxosO54EeaGaIUqXzzzKQ" base_Class="CreateLinkAction"/>
  <standard:Metaclass xmi:id="_BFyPwO54EeaGaIUqXzzzKQ" base_Class="CreateLinkObjectAction"/>
  <standard:Metaclass xmi:id="_BFy20O54EeaGaIUqXzzzKQ" base_Class="CreateObjectAction"/>
  <standard:Metaclass xmi:id="_BFzd4O54EeaGaIUqXzzzKQ" base_Class="DestroyLinkAction"/>
  <standard:Metaclass xmi:id="_BFzd4e54EeaGaIUqXzzzKQ" base_Class="DestroyObjectAction"/>
  <standard:Metaclass xmi:id="_BF0E8O54EeaGaIUqXzzzKQ" base_Class="ExpansionNode"/>
  <standard:Metaclass xmi:id="_BF0sAO54EeaGaIUqXzzzKQ" base_Class="ExpansionRegion"/>
  <standard:Metaclass xmi:id="_BF1TEO54EeaGaIUqXzzzKQ" base_Class="InputPin"/>
  <standard:Metaclass xmi:id="_BF16IO54EeaGaIUqXzzzKQ" base_Class="InvocationAction"/>
  <standard:Metaclass xmi:id="_BF2hMO54EeaGaIUqXzzzKQ" base_Class="LinkAction"/>
  <standard:Metaclass xmi:id="_BF3IQO54EeaGaIUqXzzzKQ" base_Class="LinkEndCreationData"/>
  <standard:Metaclass xmi:id="_BF3vUO54EeaGaIUqXzzzKQ" base_Class="LinkEndData"/>
  <standard:Metaclass xmi:id="_BF4WYO54EeaGaIUqXzzzKQ" base_Class="LinkEndDestructionData"/>
  <standard:Metaclass xmi:id="_BF49cO54EeaGaIUqXzzzKQ" base_Class="LoopNode"/>
  <standard:Metaclass xmi:id="_BF6LkO54EeaGaIUqXzzzKQ" base_Class="OpaqueAction"/>
  <standard:Metaclass xmi:id="_BF6yoO54EeaGaIUqXzzzKQ" base_Class="OutputPin"/>
  <standard:Metaclass xmi:id="_BF6yoe54EeaGaIUqXzzzKQ" base_Class="Pin"/>
  <standard:Metaclass xmi:id="_BF7ZsO54EeaGaIUqXzzzKQ" base_Class="QualifierValue"/>
  <standard:Metaclass xmi:id="_BF8AwO54EeaGaIUqXzzzKQ" base_Class="RaiseExceptionAction"/>
  <standard:Metaclass xmi:id="_BF8n0O54EeaGaIUqXzzzKQ" base_Class="ReadExtentAction"/>
  <standard:Metaclass xmi:id="_BF9O4O54EeaGaIUqXzzzKQ" base_Class="ReadIsClassifiedObjectAction"/>
  <standard:Metaclass xmi:id="_BF918O54EeaGaIUqXzzzKQ" base_Class="ReadLinkAction"/>
  <standard:Metaclass xmi:id="_BF_EEO54EeaGaIUqXzzzKQ" base_Class="ReadLinkObjectEndAction"/>
  <standard:Metaclass xmi:id="_BF_rIO54EeaGaIUqXzzzKQ" base_Class="ReadLinkObjectEndQualifierAction"/>
  <standard:Metaclass xmi:id="_BGASMO54EeaGaIUqXzzzKQ" base_Class="ReadSelfAction"/>
  <standard:Metaclass xmi:id="_BGA5QO54EeaGaIUqXzzzKQ" base_Class="ReadStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_BGBgUO54EeaGaIUqXzzzKQ" base_Class="ReadVariableAction"/>
  <standard:Metaclass xmi:id="_BGCHYO54EeaGaIUqXzzzKQ" base_Class="ReclassifyObjectAction"/>
  <standard:Metaclass xmi:id="_BGCucO54EeaGaIUqXzzzKQ" base_Class="ReduceAction"/>
  <standard:Metaclass xmi:id="_BGDVgO54EeaGaIUqXzzzKQ" base_Class="RemoveStructuralFeatureValueAction"/>
  <standard:Metaclass xmi:id="_BGD8kO54EeaGaIUqXzzzKQ" base_Class="RemoveVariableValueAction"/>
  <standard:Metaclass xmi:id="_BGEjoO54EeaGaIUqXzzzKQ" base_Class="ReplyAction"/>
  <standard:Metaclass xmi:id="_BGFKsO54EeaGaIUqXzzzKQ" base_Class="SendObjectAction"/>
  <standard:Metaclass xmi:id="_BGFxwO54EeaGaIUqXzzzKQ" base_Class="SendSignalAction"/>
  <standard:Metaclass xmi:id="_BGGY0O54EeaGaIUqXzzzKQ" base_Class="SequenceNode"/>
  <standard:Metaclass xmi:id="_BGG_4O54EeaGaIUqXzzzKQ" base_Class="StartClassifierBehaviorAction"/>
  <standard:Metaclass xmi:id="_BGG_4e54EeaGaIUqXzzzKQ" base_Class="StartObjectBehaviorAction"/>
  <standard:Metaclass xmi:id="_BGIOAO54EeaGaIUqXzzzKQ" base_Class="StructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_BGI1EO54EeaGaIUqXzzzKQ" base_Class="StructuredActivityNode"/>
  <standard:Metaclass xmi:id="_BGKDMO54EeaGaIUqXzzzKQ" base_Class="TestIdentityAction"/>
  <standard:Metaclass xmi:id="_BGKqQO54EeaGaIUqXzzzKQ" base_Class="UnmarshallAction"/>
  <standard:Metaclass xmi:id="_BGLRUO54EeaGaIUqXzzzKQ" base_Class="ValuePin"/>
  <standard:Metaclass xmi:id="_BGR_AO54EeaGaIUqXzzzKQ" base_Class="Activity"/>
  <standard:Metaclass xmi:id="_BGTNIO54EeaGaIUqXzzzKQ" base_Class="ActivityEdge"/>
  <standard:Metaclass xmi:id="_BGVCUO54EeaGaIUqXzzzKQ" base_Class="ActivityFinalNode"/>
  <standard:Metaclass xmi:id="_BGVCUe54EeaGaIUqXzzzKQ" base_Class="ActivityGroup"/>
  <standard:Metaclass xmi:id="_BGWQcO54EeaGaIUqXzzzKQ" base_Class="ActivityNode"/>
  <standard:Metaclass xmi:id="_BGXekO54EeaGaIUqXzzzKQ" base_Class="ActivityParameterNode"/>
  <standard:Metaclass xmi:id="_BGYFoO54EeaGaIUqXzzzKQ" base_Class="ActivityPartition"/>
  <standard:Metaclass xmi:id="_BGZTwO54EeaGaIUqXzzzKQ" base_Class="CentralBufferNode"/>
  <standard:Metaclass xmi:id="_BGZ60O54EeaGaIUqXzzzKQ" base_Class="ControlFlow"/>
  <standard:Metaclass xmi:id="_BGah4O54EeaGaIUqXzzzKQ" base_Class="ControlNode"/>
  <standard:Metaclass xmi:id="_BGbI8O54EeaGaIUqXzzzKQ" base_Class="DataStoreNode"/>
  <standard:Metaclass xmi:id="_BGbwAO54EeaGaIUqXzzzKQ" base_Class="DecisionNode"/>
  <standard:Metaclass xmi:id="_BGcXEO54EeaGaIUqXzzzKQ" base_Class="ExceptionHandler"/>
  <standard:Metaclass xmi:id="_BGdlMO54EeaGaIUqXzzzKQ" base_Class="ExecutableNode"/>
  <standard:Metaclass xmi:id="_BGeMQO54EeaGaIUqXzzzKQ" base_Class="FinalNode"/>
  <standard:Metaclass xmi:id="_BGezUO54EeaGaIUqXzzzKQ" base_Class="FlowFinalNode"/>
  <standard:Metaclass xmi:id="_BGezUe54EeaGaIUqXzzzKQ" base_Class="ForkNode"/>
  <standard:Metaclass xmi:id="_BGfaYO54EeaGaIUqXzzzKQ" base_Class="InitialNode"/>
  <standard:Metaclass xmi:id="_BGgBcO54EeaGaIUqXzzzKQ" base_Class="InterruptibleActivityRegion"/>
  <standard:Metaclass xmi:id="_BGhPkO54EeaGaIUqXzzzKQ" base_Class="JoinNode"/>
  <standard:Metaclass xmi:id="_BGh2oO54EeaGaIUqXzzzKQ" base_Class="MergeNode"/>
  <standard:Metaclass xmi:id="_BGidsO54EeaGaIUqXzzzKQ" base_Class="ObjectFlow"/>
  <standard:Metaclass xmi:id="_BGkS4O54EeaGaIUqXzzzKQ" base_Class="ObjectNode"/>
  <standard:Metaclass xmi:id="_BGk58O54EeaGaIUqXzzzKQ" base_Class="Variable"/>
  <standard:Metaclass xmi:id="_BGokUO54EeaGaIUqXzzzKQ" base_Class="Substitution"/>
  <standard:Metaclass xmi:id="_BGpLYO54EeaGaIUqXzzzKQ" base_Class="BehavioralFeature"/>
  <standard:Metaclass xmi:id="_BGrAkO54EeaGaIUqXzzzKQ" base_Class="Classifier"/>
  <standard:Metaclass xmi:id="_BGxuQO54EeaGaIUqXzzzKQ" base_Class="ClassifierTemplateParameter"/>
  <standard:Metaclass xmi:id="_BGy8YO54EeaGaIUqXzzzKQ" base_Class="Feature"/>
  <standard:Metaclass xmi:id="_BGzjcO54EeaGaIUqXzzzKQ" base_Class="Generalization"/>
  <standard:Metaclass xmi:id="_BG0KgO54EeaGaIUqXzzzKQ" base_Class="GeneralizationSet"/>
  <standard:Metaclass xmi:id="_BG1YoO54EeaGaIUqXzzzKQ" base_Class="InstanceSpecification"/>
  <standard:Metaclass xmi:id="_BG2mwO54EeaGaIUqXzzzKQ" base_Class="InstanceValue"/>
  <standard:Metaclass xmi:id="_BG3N0O54EeaGaIUqXzzzKQ" base_Class="Operation"/>
  <standard:Metaclass xmi:id="_BG6RIO54EeaGaIUqXzzzKQ" base_Class="OperationTemplateParameter"/>
  <standard:Metaclass xmi:id="_BG64MO54EeaGaIUqXzzzKQ" base_Class="Parameter"/>
  <standard:Metaclass xmi:id="_BG9UcO54EeaGaIUqXzzzKQ" base_Class="ParameterSet"/>
  <standard:Metaclass xmi:id="_BG-ikO54EeaGaIUqXzzzKQ" base_Class="Property"/>
  <standard:Metaclass xmi:id="_BHC0AO54EeaGaIUqXzzzKQ" base_Class="RedefinableElement"/>
  <standard:Metaclass xmi:id="_BHEpMO54EeaGaIUqXzzzKQ" base_Class="RedefinableTemplateSignature"/>
  <standard:Metaclass xmi:id="_BHF3UO54EeaGaIUqXzzzKQ" base_Class="Slot"/>
  <standard:Metaclass xmi:id="_BHGeYO54EeaGaIUqXzzzKQ" base_Class="StructuralFeature"/>
  <standard:Metaclass xmi:id="_BHL98O54EeaGaIUqXzzzKQ" base_Class="AnyReceiveEvent"/>
  <standard:Metaclass xmi:id="_BHMlAO54EeaGaIUqXzzzKQ" base_Class="Behavior"/>
  <standard:Metaclass xmi:id="_BHPBQO54EeaGaIUqXzzzKQ" base_Class="CallEvent"/>
  <standard:Metaclass xmi:id="_BHPoUO54EeaGaIUqXzzzKQ" base_Class="ChangeEvent"/>
  <standard:Metaclass xmi:id="_BHQPYO54EeaGaIUqXzzzKQ" base_Class="Event"/>
  <standard:Metaclass xmi:id="_BHQ2cO54EeaGaIUqXzzzKQ" base_Class="FunctionBehavior"/>
  <standard:Metaclass xmi:id="_BHRdgO54EeaGaIUqXzzzKQ" base_Class="MessageEvent"/>
  <standard:Metaclass xmi:id="_BHSroO54EeaGaIUqXzzzKQ" base_Class="OpaqueBehavior"/>
  <standard:Metaclass xmi:id="_BHTSsO54EeaGaIUqXzzzKQ" base_Class="SignalEvent"/>
  <standard:Metaclass xmi:id="_BHT5wO54EeaGaIUqXzzzKQ" base_Class="TimeEvent"/>
  <standard:Metaclass xmi:id="_BHUg0O54EeaGaIUqXzzzKQ" base_Class="Trigger"/>
  <standard:Metaclass xmi:id="_BHW9EO54EeaGaIUqXzzzKQ" base_Class="Abstraction"/>
  <standard:Metaclass xmi:id="_BHXkIO54EeaGaIUqXzzzKQ" base_Class="Comment"/>
  <standard:Metaclass xmi:id="_BHYLMO54EeaGaIUqXzzzKQ" base_Class="Constraint"/>
  <standard:Metaclass xmi:id="_BHZZUO54EeaGaIUqXzzzKQ" base_Class="Dependency"/>
  <standard:Metaclass xmi:id="_BHaAYO54EeaGaIUqXzzzKQ" base_Class="DirectedRelationship"/>
  <standard:Metaclass xmi:id="_BHancO54EeaGaIUqXzzzKQ" base_Class="Element"/>
  <standard:Metaclass xmi:id="_BHh8MO54EeaGaIUqXzzzKQ" base_Class="ElementImport"/>
  <standard:Metaclass xmi:id="_BHjKUO54EeaGaIUqXzzzKQ" base_Class="MultiplicityElement"/>
  <standard:Metaclass xmi:id="_BHmNoO54EeaGaIUqXzzzKQ" base_Class="NamedElement"/>
  <standard:Metaclass xmi:id="_BHpQ8O54EeaGaIUqXzzzKQ" base_Class="Namespace"/>
  <standard:Metaclass xmi:id="_BHs7UO54EeaGaIUqXzzzKQ" base_Class="PackageableElement"/>
  <standard:Metaclass xmi:id="_BHuJcO54EeaGaIUqXzzzKQ" base_Class="PackageImport"/>
  <standard:Metaclass xmi:id="_BHuwgO54EeaGaIUqXzzzKQ" base_Class="ParameterableElement"/>
  <standard:Metaclass xmi:id="_BHv-oO54EeaGaIUqXzzzKQ" base_Class="Realization"/>
  <standard:Metaclass xmi:id="_BHv-oe54EeaGaIUqXzzzKQ" base_Class="Relationship"/>
  <standard:Metaclass xmi:id="_BHwlsO54EeaGaIUqXzzzKQ" base_Class="TemplateableElement"/>
  <standard:Metaclass xmi:id="_BHxz0O54EeaGaIUqXzzzKQ" base_Class="TemplateBinding"/>
  <standard:Metaclass xmi:id="_BHzB8O54EeaGaIUqXzzzKQ" base_Class="TemplateParameter"/>
  <standard:Metaclass xmi:id="_BHzpAO54EeaGaIUqXzzzKQ" base_Class="TemplateParameterSubstitution"/>
  <standard:Metaclass xmi:id="_BH03IO54EeaGaIUqXzzzKQ" base_Class="TemplateSignature"/>
  <standard:Metaclass xmi:id="_BH1eMO54EeaGaIUqXzzzKQ" base_Class="Type"/>
  <standard:Metaclass xmi:id="_BH3TYO54EeaGaIUqXzzzKQ" base_Class="TypedElement"/>
  <standard:Metaclass xmi:id="_BH36cO54EeaGaIUqXzzzKQ" base_Class="Usage"/>
  <standard:Metaclass xmi:id="_BH8y8O54EeaGaIUqXzzzKQ" base_Class="Artifact"/>
  <standard:Metaclass xmi:id="_BH-oIO54EeaGaIUqXzzzKQ" base_Class="CommunicationPath"/>
  <standard:Metaclass xmi:id="_BH_2QO54EeaGaIUqXzzzKQ" base_Class="DeployedArtifact"/>
  <standard:Metaclass xmi:id="_BIAdUO54EeaGaIUqXzzzKQ" base_Class="Deployment"/>
  <standard:Metaclass xmi:id="_BIBEYO54EeaGaIUqXzzzKQ" base_Class="DeploymentSpecification"/>
  <standard:Metaclass xmi:id="_BICSgO54EeaGaIUqXzzzKQ" base_Class="DeploymentTarget"/>
  <standard:Metaclass xmi:id="_BIC5kO54EeaGaIUqXzzzKQ" base_Class="Device"/>
  <standard:Metaclass xmi:id="_BIDgoO54EeaGaIUqXzzzKQ" base_Class="ExecutionEnvironment"/>
  <standard:Metaclass xmi:id="_BIEHsO54EeaGaIUqXzzzKQ" base_Class="Manifestation"/>
  <standard:Metaclass xmi:id="_BIEuwO54EeaGaIUqXzzzKQ" base_Class="Node"/>
  <standard:Metaclass xmi:id="_BIHLAO54EeaGaIUqXzzzKQ" base_Class="InformationFlow"/>
  <standard:Metaclass xmi:id="_BIJAMO54EeaGaIUqXzzzKQ" base_Class="InformationItem"/>
  <standard:Metaclass xmi:id="_BIMqkO54EeaGaIUqXzzzKQ" base_Class="ActionExecutionSpecification"/>
  <standard:Metaclass xmi:id="_BINRoO54EeaGaIUqXzzzKQ" base_Class="BehaviorExecutionSpecification"/>
  <standard:Metaclass xmi:id="_BIN4sO54EeaGaIUqXzzzKQ" base_Class="CombinedFragment"/>
  <standard:Metaclass xmi:id="_BIPG0O54EeaGaIUqXzzzKQ" base_Class="ConsiderIgnoreFragment"/>
  <standard:Metaclass xmi:id="_BIQU8O54EeaGaIUqXzzzKQ" base_Class="Continuation"/>
  <standard:Metaclass xmi:id="_BIRjEO54EeaGaIUqXzzzKQ" base_Class="DestructionOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_BISKIO54EeaGaIUqXzzzKQ" base_Class="ExecutionOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_BISxMO54EeaGaIUqXzzzKQ" base_Class="ExecutionSpecification"/>
  <standard:Metaclass xmi:id="_BITYQO54EeaGaIUqXzzzKQ" base_Class="Gate"/>
  <standard:Metaclass xmi:id="_BIWbkO54EeaGaIUqXzzzKQ" base_Class="GeneralOrdering"/>
  <standard:Metaclass xmi:id="_BIXpsO54EeaGaIUqXzzzKQ" base_Class="Interaction"/>
  <standard:Metaclass xmi:id="_BIY30O54EeaGaIUqXzzzKQ" base_Class="InteractionConstraint"/>
  <standard:Metaclass xmi:id="_BIatAO54EeaGaIUqXzzzKQ" base_Class="InteractionFragment"/>
  <standard:Metaclass xmi:id="_BIb7IO54EeaGaIUqXzzzKQ" base_Class="InteractionOperand"/>
  <standard:Metaclass xmi:id="_BIdJQO54EeaGaIUqXzzzKQ" base_Class="InteractionUse"/>
  <standard:Metaclass xmi:id="_BIflgO54EeaGaIUqXzzzKQ" base_Class="Lifeline"/>
  <standard:Metaclass xmi:id="_BIgzoO54EeaGaIUqXzzzKQ" base_Class="Message"/>
  <standard:Metaclass xmi:id="_BIj28O54EeaGaIUqXzzzKQ" base_Class="MessageEnd"/>
  <standard:Metaclass xmi:id="_BIlsIO54EeaGaIUqXzzzKQ" base_Class="MessageOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_BImTMO54EeaGaIUqXzzzKQ" base_Class="OccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_BIm6QO54EeaGaIUqXzzzKQ" base_Class="PartDecomposition"/>
  <standard:Metaclass xmi:id="_BIoIYO54EeaGaIUqXzzzKQ" base_Class="StateInvariant"/>
  <standard:Metaclass xmi:id="_BIu2EO54EeaGaIUqXzzzKQ" base_Class="Extension"/>
  <standard:Metaclass xmi:id="_BIwrQO54EeaGaIUqXzzzKQ" base_Class="ExtensionEnd"/>
  <standard:Metaclass xmi:id="_BIygcO54EeaGaIUqXzzzKQ" base_Class="Image"/>
  <standard:Metaclass xmi:id="_BIzHgO54EeaGaIUqXzzzKQ" base_Class="Model"/>
  <standard:Metaclass xmi:id="_BIzukO54EeaGaIUqXzzzKQ" base_Class="Package"/>
  <standard:Metaclass xmi:id="_BI8RcO54EeaGaIUqXzzzKQ" base_Class="PackageMerge"/>
  <standard:Metaclass xmi:id="_BI84gO54EeaGaIUqXzzzKQ" base_Class="Profile"/>
  <standard:Metaclass xmi:id="_BJCYEO54EeaGaIUqXzzzKQ" base_Class="ProfileApplication"/>
  <standard:Metaclass xmi:id="_BJENQO54EeaGaIUqXzzzKQ" base_Class="Stereotype"/>
  <standard:Metaclass xmi:id="_BJNXMO54EeaGaIUqXzzzKQ" base_Class="BehavioredClassifier"/>
  <standard:Metaclass xmi:id="_BJPzcO54EeaGaIUqXzzzKQ" base_Class="DataType"/>
  <standard:Metaclass xmi:id="_BJS2wO54EeaGaIUqXzzzKQ" base_Class="Enumeration"/>
  <standard:Metaclass xmi:id="_BJUE4O54EeaGaIUqXzzzKQ" base_Class="EnumerationLiteral"/>
  <standard:Metaclass xmi:id="_BJVTAO54EeaGaIUqXzzzKQ" base_Class="Interface"/>
  <standard:Metaclass xmi:id="_BJXvQO54EeaGaIUqXzzzKQ" base_Class="InterfaceRealization"/>
  <standard:Metaclass xmi:id="_BJY9YO54EeaGaIUqXzzzKQ" base_Class="PrimitiveType"/>
  <standard:Metaclass xmi:id="_BJY9Ye54EeaGaIUqXzzzKQ" base_Class="Reception"/>
  <standard:Metaclass xmi:id="_BJaLgO54EeaGaIUqXzzzKQ" base_Class="Signal"/>
  <standard:Metaclass xmi:id="_BJdO0O54EeaGaIUqXzzzKQ" base_Class="ConnectionPointReference"/>
  <standard:Metaclass xmi:id="_BJec8O54EeaGaIUqXzzzKQ" base_Class="FinalState"/>
  <standard:Metaclass xmi:id="_BJfrEO54EeaGaIUqXzzzKQ" base_Class="ProtocolConformance"/>
  <standard:Metaclass xmi:id="_BJgSIO54EeaGaIUqXzzzKQ" base_Class="ProtocolStateMachine"/>
  <standard:Metaclass xmi:id="_BJhgQO54EeaGaIUqXzzzKQ" base_Class="ProtocolTransition"/>
  <standard:Metaclass xmi:id="_BJiuYO54EeaGaIUqXzzzKQ" base_Class="Pseudostate"/>
  <standard:Metaclass xmi:id="_BJlKoO54EeaGaIUqXzzzKQ" base_Class="Region"/>
  <standard:Metaclass xmi:id="_BJoN8O54EeaGaIUqXzzzKQ" base_Class="State"/>
  <standard:Metaclass xmi:id="_BJtGcO54EeaGaIUqXzzzKQ" base_Class="StateMachine"/>
  <standard:Metaclass xmi:id="_BJwJwO54EeaGaIUqXzzzKQ" base_Class="Transition"/>
  <standard:Metaclass xmi:id="_BJzNEO54EeaGaIUqXzzzKQ" base_Class="Vertex"/>
  <standard:Metaclass xmi:id="_BJ7I4O54EeaGaIUqXzzzKQ" base_Class="Association"/>
  <standard:Metaclass xmi:id="_BJ9lIO54EeaGaIUqXzzzKQ" base_Class="AssociationClass"/>
  <standard:Metaclass xmi:id="_BJ-MMO54EeaGaIUqXzzzKQ" base_Class="Class"/>
  <standard:Metaclass xmi:id="_BKB2kO54EeaGaIUqXzzzKQ" base_Class="Collaboration"/>
  <standard:Metaclass xmi:id="_BKCdoO54EeaGaIUqXzzzKQ" base_Class="CollaborationUse"/>
  <standard:Metaclass xmi:id="_BKDrwO54EeaGaIUqXzzzKQ" base_Class="Component"/>
  <standard:Metaclass xmi:id="_BKGvEO54EeaGaIUqXzzzKQ" base_Class="ComponentRealization"/>
  <standard:Metaclass xmi:id="_BKH9MO54EeaGaIUqXzzzKQ" base_Class="ConnectableElement"/>
  <standard:Metaclass xmi:id="_BKIkQO54EeaGaIUqXzzzKQ" base_Class="ConnectableElementTemplateParameter"/>
  <standard:Metaclass xmi:id="_BKJLUO54EeaGaIUqXzzzKQ" base_Class="Connector"/>
  <standard:Metaclass xmi:id="_BKLAgO54EeaGaIUqXzzzKQ" base_Class="ConnectorEnd"/>
  <standard:Metaclass xmi:id="_BKM1sO54EeaGaIUqXzzzKQ" base_Class="EncapsulatedClassifier"/>
  <standard:Metaclass xmi:id="_BKNcwO54EeaGaIUqXzzzKQ" base_Class="Port"/>
  <standard:Metaclass xmi:id="_BKRHIO54EeaGaIUqXzzzKQ" base_Class="StructuredClassifier"/>
  <standard:Metaclass xmi:id="_BKZC8O54EeaGaIUqXzzzKQ" base_Class="Actor"/>
  <standard:Metaclass xmi:id="_BKZqAO54EeaGaIUqXzzzKQ" base_Class="Extend"/>
  <standard:Metaclass xmi:id="_BKa4IO54EeaGaIUqXzzzKQ" base_Class="ExtensionPoint"/>
  <standard:Metaclass xmi:id="_BKbfMO54EeaGaIUqXzzzKQ" base_Class="Include"/>
  <standard:Metaclass xmi:id="_BKcGQO54EeaGaIUqXzzzKQ" base_Class="UseCase"/>
  <standard:Metaclass xmi:id="_BKfJkO54EeaGaIUqXzzzKQ" base_Class="Duration"/>
  <standard:Metaclass xmi:id="_BKgXsO54EeaGaIUqXzzzKQ" base_Class="DurationConstraint"/>
  <standard:Metaclass xmi:id="_BKhl0O54EeaGaIUqXzzzKQ" base_Class="DurationInterval"/>
  <standard:Metaclass xmi:id="_BKiM4O54EeaGaIUqXzzzKQ" base_Class="DurationObservation"/>
  <standard:Metaclass xmi:id="_BKiz8O54EeaGaIUqXzzzKQ" base_Class="Expression"/>
  <standard:Metaclass xmi:id="_BKjbAO54EeaGaIUqXzzzKQ" base_Class="Interval"/>
  <standard:Metaclass xmi:id="_BKkCEO54EeaGaIUqXzzzKQ" base_Class="IntervalConstraint"/>
  <standard:Metaclass xmi:id="_BKkpIO54EeaGaIUqXzzzKQ" base_Class="LiteralBoolean"/>
  <standard:Metaclass xmi:id="_BKl3QO54EeaGaIUqXzzzKQ" base_Class="LiteralInteger"/>
  <standard:Metaclass xmi:id="_BKnscO54EeaGaIUqXzzzKQ" base_Class="LiteralNull"/>
  <standard:Metaclass xmi:id="_BKoTgO54EeaGaIUqXzzzKQ" base_Class="LiteralReal"/>
  <standard:Metaclass xmi:id="_BKphoO54EeaGaIUqXzzzKQ" base_Class="LiteralSpecification"/>
  <standard:Metaclass xmi:id="_BKqIsO54EeaGaIUqXzzzKQ" base_Class="LiteralString"/>
  <standard:Metaclass xmi:id="_BKrW0O54EeaGaIUqXzzzKQ" base_Class="LiteralUnlimitedNatural"/>
  <standard:Metaclass xmi:id="_BKsk8O54EeaGaIUqXzzzKQ" base_Class="Observation"/>
  <standard:Metaclass xmi:id="_BKtMAO54EeaGaIUqXzzzKQ" base_Class="OpaqueExpression"/>
  <standard:Metaclass xmi:id="_BKwPUO54EeaGaIUqXzzzKQ" base_Class="StringExpression"/>
  <standard:Metaclass xmi:id="_BKyEgO54EeaGaIUqXzzzKQ" base_Class="TimeConstraint"/>
  <standard:Metaclass xmi:id="_BKyrkO54EeaGaIUqXzzzKQ" base_Class="TimeExpression"/>
  <standard:Metaclass xmi:id="_BKz5sO54EeaGaIUqXzzzKQ" base_Class="TimeInterval"/>
  <standard:Metaclass xmi:id="_BK0gwO54EeaGaIUqXzzzKQ" base_Class="TimeObservation"/>
  <standard:Metaclass xmi:id="_BK1H0O54EeaGaIUqXzzzKQ" base_Class="ValueSpecification"/>
</xmi:XMI>
